The Art of Network Hunter (pt.2) – The Snitch PCAP!

por DanielOI*

Na primeira parte do post, conseguimos realizar a identificarão do ataque, conforme a conclusão do post a máquina 172.30.200.50 está infectada com um malware que responsável pela realização de requisições externas para o domínio www.gtishare.com [223.25.233.248].

Uma vez que identificamos o “paciente 0”, precisaremos entender tudo o que aconteceu pós infecção para tentarmos traçar uma timeline de eventos. O Primeiro passo é realizar uma rápida analise do report gerado no Hybrid Analysis [ https://goo.gl/62xumA ].

Aparentemente, o arquivo é apenas um PDF, como pode ser visto, ele foi aberto normalmente na máquina sandbox.

Porém ao analisarmos os processos, podemos verificar que o arquivo PDF aberto, realiza uma chamada para mais 2 executáveis, o “a.exe “, que por sua vez chama e o trojan.exe [nome um tanto quando sugestivo], que por fim realiza uma call para o netsh.exe.

Aparentemente o trojan.exe realiza uma chamada para o netsh com a intenção de colocar seu executável na whitelist do firewall da máquina da vítima.

Após isso é possível verificar que a máquina realiza diversas requisições para o domínio do atacante, isso pode significar algumas coisas como: acesso remoto diretamente a máquina da vítima, execuções de comandos remoto na máquina alto e etc.

Agora que sabemos basicamente as ações que o malware realiza na máquina da vítima utilizaremos comando tcpdump no arquivo PCAP para procurar de inconsistências nas requisições, como execução de comandos remotos, menções a arquivos estranhos, pacotes com dados encodados, movimentações laterais entre outras coisas.

Conforme imagem abaixo, podemos verificar algumas anomalias durante a troca de pacotes como a trocas de requisições encodadas em base64 ocorrendo da rede local para a internet .

Se efetuarmos uma tratativa básica de uma amostra para uma análise para decodar o encode, é possível ver claramente que o atacante está executando comandos remotamente na máquina da vítima.

Agora que sabemos como o atacante estava encodando suas ações na rede através da amostra retirada, basta parsear e tratar o arquivo pcap para descobrir todos os atos que o atacante realizou no computador da vítima.

Após a tratativa do PCAP, foi constatado que o arquivo com os ações realizadas pelo atacante contém mais de 1900 linhas entre execuções e retorno de comandos.

Vamos analisar o que o atacante fez de interessante na máquina da 
vítima

1 – Enumeração de usuário

2 – Enumeração dos administradores locais e do domínio

3 – Enumeração dos diretórios de rede

4 – Execução do binário x64.exe

5 – Copia de 2 arquivos o “ninikatz.ps1” e o “dllhost.exe”

A. ninikatz.ps1 -> Analisando o arquivo, foi possível validar que tratava-se do mimikatz

B. dllhost.exe -> Analisando o arquivo, foi possível validar que tratava-se do putty

O atacante usou o arquivo dll.exe para realizar a criação de um túnel entre a máquina da vítima e servidor do atacante, assim possibilitando um acesso remoto a máquina

6. Acesso do servidor DC1

7. Acesso do FileSever

8. Utilização de uma aplicação hotfix.dat (como pode ser visto, na segunda linha, trata-se de um rar) para comprimir os arquivos. Repare que ele salvou os arquivos como “logo.png”

→ Evidência que o logo.png e o logo2.png são arquivos compactados .rar .

9. Realização do mesmo procedimento em outro diretório, criando o logo2.png

10. Copia de um arquivo email.aspx (webshell) para o servidor ISS

11. Copia dos arquivos rar [logo.png e logo2.png] para o servidor ISS exfiltrando-os posteriormente

12. Remoção dos rastros

13 – Arquivos vazados (Exemplo)

Conclusão.

Após realizamos uma análise completa do arquivo PCAP, nós formos capazes de realizar a recriação dos detalhes do ataque sofrido pela corporação, como:

→ Identificar a origem do ataque;
→ Identificar qual foi o host infectado pelo ataque;
→ Identificar como o host foi infectado;
→ Identificar o arquivo malicioso utilizado para a realização do ataque;
→ Realizar a extração e análise do malware utilizado no ataque;
→ Constatar que o atacante realmente realizou um acesso não autorizado a rede interna da corporação;
→ Constatar como o atacante realizou o acesso não autorizado;
→ Verificar quais foram as ações tomadas pelo atacante durante o acesso não autorizado ao host infectado, como:
⇒ Enumeração de usuários;
⇒ Dump de credenciais de ao menos um usuário;
⇒ Acesso não autorizado servidores de arquivos;
⇒ exfiltração de dados;
→ Constatar as máquinas internas que o atacante realizou acesso durante o ataque;
→ Constatar que o atacante realizou a criação de WebShell em um servidor
→ Constatar que o servidor quem que o WebShell foi instalado, foi utilizado para realizar a extração dos dados.

Como todas essas informações do expostas é possível verificar o quão é importante para as corporações sempre realizar a análise e manutenção dos logs de rede, bem como sempre contar com profissionais preparados e capacitados para realização desses tipos de serviço.

The Art of Network Hunter (pt.1) – PCAPs don’t lie!

por DanielOI*

Na época que eu era Consultor de Segurança, fiz um curso ministrado por uma galera muito legal da RSA sobre uma solução interessante, o RSA NetWitness.

O NetWitness é uma ferramenta é muito poderosa e capaz de armazenar e fazer analises avançadas de tráfego de rede, mostrando de maneira “visível” as comunicações que estão acontecendo na rede corporativa, através de parsers criados em LUA script.

Essencialmente o NetWitness possui 2 módulos principais, NetWitness for Packets [ https://goo.gl/a1xk4H ] e NetWitness for Logs [ https://goo.gl/icv6Df ], o curso que fiz com meu amigo Xopis [ recomendo -> https://goo.gl/GtP3WC ] foi quase que inteiramente sobre o NetWitness for Logs, porém logo percebi que a parte divertida e que eu realmente iria me interessar do NetWitness, era o NetWitness “for Packets“, devido a sua maleabilidade no tratamento de pacotes de rede.

Durante esse curso eu escutei um termo muito legal, que fazia parte do meu cotidiano diário mas eu nem fazia ideia: “Network Hunter”

 Mas agora, o que é um Network Hunter?

O “Network Hunter” vai ser basicamente o profissional responsável por realizar a análise dos tráfegos de redes, sempre a procura de comportamentos anômalos, vazamentos de informações sensíveis a corporação, timeline, ataques de rede, resposta a incidente e etc.

Geralmente o NetHunter vai ter uma ênfase na identificarão e investigação de comportamentos maliciosos na rede com o intuito de prevenir ataques a corporação.

Alguns colaboradores da Symantec fizeram alguns artigos bem legais sobre algumas ameaças e como elas funcionam. Não vou me estender muito sobre, pois os artigos são públicos, eles foram divido em três partes :

• Parte 1 – Viruses and worms [ https://goo.gl/XpmZWa ]
• Parte 2 – Trojans and- other threats [ https://goo.gl/G5fEcW ]
• Parte 3 – Various types network attacks [ https://goo.gl/y951x4 ]

Eu realizei algumas pesquisas sobre do tema em questão, porém não encontrei muita coisa “prática” sobre o tema. Por isso, resolvi criar um post com o intuito de passar um pouco da ideia de como pode funcionar uma identificação de um ataque através da aplicação de técnicas de forense em rede/análise de pcap , mostrando que essas técnicas podem ser perfeitamente usadas para operações continuas, análise de ameaças e resposta a incidente e PRINCIPALMENTE JOGOS DE CTF.

Para esse post eu irei analisar um pcap que ganhei do pessoal da RSA durante o curso que fiz.

A Forbes fez um post sobre os 5 principais tipos de ataques que as empresas costumam sofrer [ https://goo.gl/5AiNfk ] e segundo eles, os ataques mais comuns realizados nas empresas são através de Malware/Ransomware. Partindo desse pressuposto, podemos dar início a nossa análise.

O primeiro passo da análise é identificar as principais extensões de arquivos maliciosos usados por atacantes. Nos links abaixo é possível verificar as extensões utilizadas em ataques em redes que utilizam plataforma Windows:

• File types and extensions that are common threat vectors in email attachments [ https://goo.gl/rCXrwS ]
• File Extensions That Are Potentially Dangerous on Windows [ https://goo.gl/psCX59 ]

Utilizando os link informados, você poderá gerar um arquivo de texto com algumas extensões maliciosas para facilitar os seus filtros durante sua análise.

Extensões de arquivos

Para agilizar todo o processo, iremos realizar as buscas somente com as principais extensões utilizadas pelos atacantes como .exe, .msi, .bat e .ps1. Antes de começar a realizar a forense no arquivo, você precisa verificar o tipo de arquivo que você irá analisar, conforme abaixo.

Detalhes do artefato

Para realizar essas verificações, você precisará utilizar o comando file, ele é o responsável por determinar o tipo de arquivo que você vai analisar. Conforme o retorno do comando, é possível validar que a forense irá ser realizada em um arquivo de dump de rede com o tamanho de 6.9GB.

Para realizar analise de arquivos com extensão .pcap, você pode usar ferramentas como:

• RSA NetWitness [ Pago ]
• tcpdump
• Wireshark
• Windump
• tshark
• Network Miner
• Fiddler
• Capsa
• nfcapd; nfpcapd; nfdump

No post, iremos utilizar somente o tcpdump e o Wireshark visto que eles são opensource. O primeiro comando que nós iremos utilizar será o tcpdump.

Filtrando filetype

O comando utilizado vai realizar uma busca com alguns filtros [ .exe | .msi | .bat | .ps1 ] no arquivo .pcap e redirecionar a saída para um arquivo de texto.

Após o termino do comando, você deverá realizar uma analise a procura de coisas anômalas no arquivo de texto como a imagem abaixo. Analisando a saída do arquivo, somente um arquivo incoerente foi encontrado, o “resume.pdf.exe”

Arquivo suspeito

Voltando para o arquivo PCAP, é possível verificar que o host 172.30.200.50 realizou um HTTP/GET para o IP 223.25.233.248 baixando o arquivo “resume.pdf.exe”. Renomear arquivos com outras extensões com o intuito de enganar as vítimas é uma pratica é muito comum entre os atacantes, logo tornando o arquivo “resume.pdf.exe” uma ameaça em potencial.

Filtrando arquivo suspeito

O próximo passo é realizar a extração do arquivo “resume.pdf.exe” do pcap. Para facilitar e agilizar o trabalho, você pode utilizar o tcpdump para isolar os pacotes oriundos dos hosts 172.30.200.50 e 223.25.233.248.

Isolando a origem do arquivo

Para isolar os hosts, você só precisa utilizar a opção “host” para filtrar o IP algo e o “-w” para gerar outro arquivo .pcap. Com os arquivos exponencialmente menores, fica mais fácil trata-los utilizando o wireshark. O Wireshark foi utilizado para realizar a extração do arquivo “resume.pdf.exe” e validarmos se o mesmo é malicioso ou somente um falso positivo.

Para realizar a extração, você deve ir em “File > Export Objects”.

Extraindo o arquivo suspeito

Uma vez que o arquivo foi extraído, você poderá realizar o procedimento anterior com o comando “file” para verificar o tipo de arquivo.

Detalhes do arquivo

Como pode ser visto, o “resume.pdf.exe” é um executável de 32bits para plataforma Windows e não um pdf. Você pode realizar um scan online para validar se o executável é ou um malware, no caso o site utilizado foi o https://www.virustotal.com e no https://www.hybrid-analysis.com

• Vírus Total -> https://goo.gl/hxwEN5

• Hybrid Analysis -> https://goo.gl/62xumAH

• Hybrid Analysis -> https://goo.gl/62xumAH

Como é possível verificar, o arquivo resume.pdf.exe foi identificado como um arquivo malicioso em ambos os sites.

Conclusão.

Até o momento é possível concluir que máquina 172.30.200.50 está possivelmente infectada com um malware que conforme análise do Hybrid Analysis, realiza requisições externas para o domínio www.gtishare.com [223.25.233.248].

Na segunda parte deste post, vamos realizar uma análise detalhada sobre quais ações o atacante fez após a vítima fazer o download do malware.

Sniffers e Análise de pacotes na rede cabeada

Os sniffers são ferramentas que permitem capturar e scanear o trafego da rede, possibilitando ao administrador reunir informações, monitorar o uso de protocolos que não deveriam trafegar na rede e enfrentar de forma objetiva questões que afetam o desempenho de serviços.

A análise dos pacotes capturados permite o levantamento de questões como: “o tráfego da rede está normal”? “Existe alguma flag TCP não usual”?

Há também a possibilidade de analisarmos assinaturas de malwares, tráfego não criptografado e protocolos trocados entre dispositivos de rede para fins de aprendizado, laboratório, troubleshooting e ajustes.

A análise de pacotes pode ser dividida em 4 fases: gather (reunir), decode (decodificar), display (exibir) e analyze (analisar).

Os softwares de análise de pacotes reúnem e decodificam os bits recebidos pela placa de rede. Uma vez decodificada as informações por protocolo e fluxo, os sniffers exibem o resultado de uma forma legível ao administrador. A analise do tráfego capturado pode ser efetuada tanto em tempo real da captura ou com a utilização um arquivo pré-capturado.

A maioria dos programas utilizados para sniffer são bastante funcionais independentemente do SO ou o modo de exibição. Sniffers como Wireshark possuem um painel principal para exibição dos pacotes de entrada e alguns destaques, permitindo a utilização de filtros para visualizar apenas parte do tráfego que o administrador deseja analisar.

Podemos utilizar o bash (linux) para capturar o trafego de rede e salvar um arquivo .pcap para abrir posteriormente em um wireshark:

# Pegando todo o trafego 
tcpdump -i any -w file.pcap

#Filtrando uma porta TCP especifica
tcpdump -i any port 80 -w file.pcap

Cenários para a capturar os pacotes?

As principais formas de captura de pacotes são as seguintes:

– Host ou Servidor conectado a uma porta de Switch: Nesse cenário o administrador poderá conectar um host com um software de sniffer  e então visualizará (apenas) as mensagens direcionadas a aquela máquina, além de mensagens em broadcast, multicast na LAN.

– Host ou Servidor conectado a um TAP ou HUB: Um HUB ou TAP replica a comunicação de uma porta para todas as portas, nesse caso é possível visualizar todo o tráfego que passa pelo HUB utilizando um sniffer. Atualmente TAPs cada vez mais “inteligentes” permitem a otimização e seleção do tráfego copiado.

– Host ou Servidor conectado a uma porta de Switch com SPAN (espelhada): Uma porta espelhada direciona uma cópia do tráfego de uma determinada origem (porta ou VLAN) para a porta configurada com SPAN. Nesse tipo de cenário o administrador pode copiar todo o tráfego de um uplink/porta e direcionar para um servidor IDS ou máquina com sniffer.

– MAC Flooding: Utilizando ferramentas como o macof, um atacante pode inundar (flood) a rede de quadros Ethernet com endereços MAC falsos, esgotando a tabela CAM dos switches e forçando os equipamentos a entrar no modo fail-open, atuando assim como um HUB – alguns equipamentos reiniciam ou entram em modo de proteção nesses cenários.

– ARP Spoofing: Utilizando ferramentas como arpspoof (entre outras) o atacante consegue interceptar o tráfego entre 2 partes atuando como man-in-the-middle, podendo inclusive manipular o tráfego sem a percepção das vítimas.

Ataques passivos e ativos utilizando sniffing

sniffing pode ser classificado como ativo ou passivo. Normalmente, o sniffing passivo é considerado como qualquer tipo de captura onde o tráfego é apenas analisado e não há alteração no tráfego da rede. Já no sniffing ativo, o tráfego além de ser monitorado é também alterado pelo atacante.

A utilização de sniffers afeta os seguintes pontos da Segurança da Informação:

– Confidencialidade: Proteção dos dados contra divulgação não autorizada;

– Integridade:
 Proteção dos dados contra modificação não autorizada;

– Disponibilidade:
 Data e serviços disponíveis aos usuários autorizados;

– Autenticação:
 Verificação da identidade de um usuário ou equipamento.

Monitoração e defesa

A captura de informações da rede pode ser utilizada para o início de ataques contra a rede como também ser considerada ilegal – a menos que a ação tenha sido autorizada ou o administrador esteja monitorando a rede como empregado/contratado.

Existem algumas práticas para mitigar o sniffing:

– Desabilite portas não utilizadas em switches.

– Use criptografia no tráfego de rede sempre que possível, principalmente para informações sensíveis como e-mail, transações via web e configuração de equipamentos.

– Use funcionalidades de segurança em Switches como portsecurity, dhcp-snooping com dynamic arp inspection ip source guard para mitigar ataques como Mac flooding e ARP spoofing/poisoning.

– Utilize autenticação via 802.1x para rede cabeada e sem-fio.

– Crie uma rede segregada para serviços, usuários, usuários Guest e dispositivos BYOD.

– Cuide da segurança física dos equipamentos de rede.

Para finalizar, utilize ferramentas como IDS, SIEM, UBA, NBA, Syslog, SNMP, entre outros para monitoração do tráfego  e eventos na rede.

Referências

ORIYANO, Sean-Philip. CEHv9 – Certified Ethical Hacker Version 9 – Study Guide. Indianópolis: John Wiley & Sons,2017.