Wireshark além do básico: filtros que todo analista deveria saber

Para dominar o Wireshark além do básico, um analista precisa utilizar filtros de exibição avançados baseados em operadores lógicos, expressões regulares (Regex) e análise de estados do protocolo TCP. Filtros como tcp.analysis.retransmission para diagnosticar lentidão, http.request.method == "POST" para rastrear exfiltração de dados, e o uso da função matches são essenciais para isolar anomalias e tráfego malicioso em arquivos PCAP que contêm milhões de pacotes.

Principais Aprendizados

  • A diferença entre Capture Filters (BPF) para otimizar a coleta e Display Filters para aprofundar a análise.
  • Como utilizar filtros focados em segurança para detectar varreduras de rede, força bruta e injeções de código.
  • O poder das Expressões Regulares (Regex) no Wireshark para buscar padrões específicos em texto plano dentro dos pacotes.

A diferença crucial entre Capture Filters e Display Filters

Antes de mergulhar nos filtros complexos, é vital entender a arquitetura do Wireshark. Muitos analistas iniciantes confundem Capture Filters com Display Filters. Os Capture Filters utilizam a sintaxe BPF (Berkeley Packet Filter) e são aplicados antes da captura iniciar, limitando o que é salvo no disco. Já os Display Filters são aplicados após a captura, permitindo vasculhar os dados já gravados sem perder o contexto geral.

Segundo a documentação oficial do Wireshark, dominar a sintaxe de exibição é o que separa um usuário comum de um especialista, pois permite a criação de regras complexas usando operadores lógicos.

Tela de filtros avançados do Wireshark

Filtros de Troubleshooting: Diagnosticando lentidão na rede

Problemas de rede frequentemente não são causados por largura de banda, mas por falhas de comunicação e perda de pacotes. O Wireshark possui um motor de análise inteligente capaz de rastrear o comportamento do TCP.

Retransmissões e problemas de TCP Handshake

Quando a rede está lenta, a primeira coisa a verificar são as retransmissões. Use o filtro tcp.analysis.retransmission. Se você vir muitos pacotes vermelhos com esse filtro, há perda de pacotes no trajeto. Para investigar conexões que não se completam (o famoso TCP Handshake incompleto), utilize tcp.flags.syn == 1 and tcp.flags.ack == 0. Isso mostra apenas pedidos de conexão, o que é excelente para ver quem está tentando falar com quem.

Filtros de Segurança: Caçando anomalias e tráfego malicioso

Na cibersegurança, o Wireshark é uma das ferramentas de hacking ético mais poderosas para o time de defesa, também conhecido como blue team. O SANS Institute, em seus white papers de segurança cibernética, frequentemente destaca a importância da análise forense de rede para identificar ameaças persistentes.

Identificando Scans e Enumeração

Todo ataque começa com o reconhecimento. Para detectar uma enumeração de portas agressiva (como um scan do Nmap), você pode filtrar por pacotes SYN sem o respectivo ACK, ou buscar por resets anormais: tcp.flags.reset == 1 and tcp.seq == 1. Se um único IP de origem está disparando centenas desses pacotes para portas diferentes em segundos, você está sob um scan de portas.

Analista de rede investigando pacotes

Dominando Operadores Lógicos e Regex no Wireshark

O verdadeiro poder do Wireshark além do básico reside no uso da função matches, que permite aplicar Expressões Regulares (Regex) aos pacotes. Enquanto o operador contains busca uma string exata, o matches busca padrões.

Por exemplo, para detectar possíveis tentativas de SQL Injection trafegando em texto plano (HTTP), você pode usar: http.request.uri matches "(?i)select.*from". O (?i) torna a busca case-insensitive (ignora maiúsculas e minúsculas). Outro exemplo clássico é buscar por vazamento de CPFs ou cartões de crédito dentro do payload de dados usando frame matches "[0-9]{4}\\-[0-9]{4}\\-[0-9]{4}\\-[0-9]{4}".

Perguntas Frequentes

Qual a diferença entre 'contains' e 'matches' no Wireshark?

O operador 'contains' faz uma busca por uma sequência exata de caracteres (string) dentro de um campo ou pacote. Já o operador 'matches' suporta Expressões Regulares (Regex), permitindo buscar padrões complexos, como formatos de e-mail ou números de cartão de crédito, sendo muito mais flexível e poderoso.

Como filtrar pacotes de um IP específico no Wireshark?

Para visualizar todo o tráfego de entrada e saída de um endereço IP, utilize o filtro de exibição ip.addr == 192.168.1.100 (substituindo pelo IP desejado). Se quiser filtrar apenas o tráfego de origem, use ip.src == 192.168.1.100, e para o destino, ip.dst == 192.168.1.100.

O Wireshark consegue descriptografar tráfego HTTPS?

Por padrão, não. O tráfego HTTPS é criptografado via TLS. No entanto, se você for o administrador do servidor ou do cliente e possuir as chaves privadas (RSA) ou o arquivo de log de chaves de sessão (SSLKEYLOGFILE), é possível configurar o Wireshark para descriptografar os pacotes e analisar o conteúdo HTTP subjacente.

Postar um comentário

0 Comentários

Contact form