Análise de tráfego malicioso com tshark (wireshark)

Profissionais de cibersegurança muito provavelmente em certos momentos deverão fazer uma analise de trafego a fim de detectar se existe na rede algum tráfego ou eventos maliciosos.

Se você estiver testando um sistemas NIDS, ou fazendo um estudo sobre threat hunting com ferramentas de análise de tráfego, você pode fazer o uso do testmyNIDS que irá gerar eventos “maliciosos) de forma segura.

O projeto testmyNIDS possui duas partes:

  • Um site – que é usado para realizar alguns testes/arquivos. Ele também manterá subdomínios e registros DNS para quando o teste via DNS for necessário.
  • Um script – que executa/simula a interação com o site ou com sites de terceiros, destinado a ser executado no cliente para o qual você deseja testar a cobertura do seu sensor NIDS ou seu estudo de analise de pacotes.

https://github.com/3CORESec/testmynids.org

Você pode baixar script ou até mesmo executar diretamente ele pela linha de comando

curl -sSL https://raw.githubusercontent.com/3CORESec/testmynids.org/master/tmNIDS -o /tmp/tmNIDS && chmod +x /tmp/tmNIDS && /tmp/tmNIDS

Ao todo temos 10 interações que podemos usar:

Test IDNomeProtocolo usado
1Linux UIDHTTP
2Basic Authentication over clear textHTTP
3HTTP Malware User-AgentHTTP
4Known bad CA’sTLS
5Tor .onion response and random Tor nodes connectionDNS & TLS
6EXE download over HTTP (from AWS S3) & Packed ExecutableHTTP
7PDF download over HTTP with Embedded FileHTTP
8Simulate an outbound SSH scanSSH
9Miscellaneous (TLD’s, Sinkhole, DDNS, etc) domainsDNS
10MD5 in TLS CertificateTLS
99CHAOS! Run all tests!☝️ ALL

Abaixo um exemplo de uma captura de pacote usando o teste numero 6 – “EXE or DLL download over HTTP”

Você pode salvar o PCAP e então iniciar a analise off-line.

Threat Hunting com tshark (wireshark)

Eu particularmente gosto do tshark, que é a linha de comando do wireshark e eu recomendo fortemente o tshark cheat sheet ou o https://tshark.dev/analyze/packet_hunting/packet_hunting/

Nos exemplos abaixo eu rodei o script, capturei os pacotes e salvei para uso posterior.

Listar os ips e contar os acessos

Importantíssimo no hunting descobrir excesso de conexões e iniciar a investigação pelos endereços mais acessados.

tshark -r tmNIDS.pcap -z ip_hosts,tree

Listar os domínios

Neste exemplo será retornada uma lista enorme de endereços de domínio na captura.

tshark -r tmNIDS.pcap -Y "dns" -Tfields -e "ip.src" -e "dns.flags.response" -e "dns.qry.name"

Usando o grep podemos filtrar por exemplo usando o “onion” e determinar se há conexões TOR

tshark -r tmNIDS.pcap -Y "dns" -Tfields -e "ip.src" -e "dns.flags.response" -e "dns.qry.name" | grep "onion"

Listar as requisições http e qual o browser (hunting HTTP Malware User-Agent)

Note que o mais comum para o usuário é usar o Chrome, Firefox, IE, Edge, mas não o curl ou requisições do powershell.

tshark -r tmNIDS.pcap -Y "http.request" -Tfields -e "ip.src" -e "http.user_agent" | uniq

Filtrar por http request (hunting EXE, DLL, PDF)

tshark -r tmNIDS.pcap 'tcp.port==80 && (http.request.method == "GET" || http.request.method=="HEAD" || http.request.method=="POST" )' | grep 'exe|pdf|dll'

Listar conexões com certificados não válidos.

tshark -r tmNIDS.pcap -Y “tls.alert_message.desc == 48”

Arkime

Você pode importar também o PCAP ou até em tempo real usando o Análise de PCAP com Arkime

Anúncio

Sobre Daniel Donda 550 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*