
A análise de tráfego de rede com o tcpdump é uma técnica poderosa para identificar atividades maliciosas, como ataques de DDoS (Distributed Denial of Service). Neste exemplo prático, vamos simular a análise de um ataque DDoS direcionado a uma máquina que executa o WordPress. O ataque será detectado analisando o tráfego entre duas máquinas usando o tcpdump
.
“Os procedimentos foram realizados em um ambiente controlado e isolado, utilizando máquinas virtuais, exclusivamente para fins de estudo e análise. A invasão de sistemas computacionais ou consequências de danos são consideradas crimes, conforme previsto na legislação, Lei nº 12.737/2012, conhecida como Lei Carolina Dieckmann.”
Cenário de exemplo
-
Máquina Alvo: Executa um servidor WordPress na porta
80
(HTTP). -
Máquina Atacante: Envia um grande volume de requisições HTTP para a máquina alvo, simulando um ataque DDoS.
-
Ferramenta:
tcpdump
para capturar e analisar o tráfego de rede.
Passo 1: Capturar o tráfego com tcpdump
1.1 Executar o tcpdump
na máquina alvo
Na máquina alvo, execute o seguinte comando para capturar o tráfego na interface de rede (eth0
):
sudo tcpdump -i eth0 -w captura.pcap
-
-i eth0
: Especifica a interface de rede. -
-w captura.pcap
: Salva a captura em um arquivo.pcap
para análise posterior.
1.2 Simular o ataque DDoS
Na máquina atacante, use uma ferramenta como o hping3 para enviar um grande volume de requisições HTTP para a máquina alvo:
hping3 --flood -p 80 --rand-source <IP_MAQUINA_ALVO>
-
--flood
: Envia pacotes o mais rápido possível. -
-p 80
: Especifica a porta HTTP. -
--rand-source
: Usa endereços IP falsos para dificultar a identificação
Passo 2: Analisar o ráfego capturado
Após capturar o tráfego, pare o tcpdump
(pressione Ctrl+C
) e analise o arquivo captura.pcap
.
2.1 Filtrar tráfego HTTP
Use o tcpdump
para filtrar apenas o tráfego HTTP (porta 80):
sudo tcpdump -r captura.pcap -nn 'tcp port 80'
-
-r captura.pcap
: Lê o arquivo de captura. -
-nn
: Exibe endereços IP e portas em formato numérico. -
'tcp port 80'
: Filtra apenas o tráfego TCP na porta 80.
Saída no Shell:
14:32:01.123456 IP 192.168.1.100.54321 > 192.168.1.200.80: Flags [S], seq 1234567890,
win 65535, length 0 14:32:01.123457 IP 192.168.1.101.54322 > 192.168.1.200.80: Flags [S], seq 1234567891,
win 65535, length 0 14:32:01.123458 IP 192.168.1.102.54323 > 192.168.1.200.80: Flags [S], seq 1234567892,
win 65535, length 0 14:32:01.123459 IP 192.168.1.103.54324 > 192.168.1.200.80: Flags [S], seq 1234567893,
win 65535, length 0 ...
Análise:
-
Um grande volume de pacotes
SYN
(Flags[S]
) é enviado para a porta80
da máquina alvo (192.168.1.200
). -
Isso é característico de um ataque DDoS do tipo SYN Flood, onde o atacante tenta esgotar os recursos do servidor.
2.2 Identificar Padrões de Ataque
Para identificar padrões de ataque, você pode contar o número de pacotes por IP de origem.
Comando:
sudo tcpdump -r captura.pcap -nn 'tcp port 80' | awk '{print $3}' | cut -d. -f1-4 | sort |
uniq -c | sort -nr
Saída no Shell:
1000 192.168.1.100 1000 192.168.1.101 1000 192.168.1.102 1000 192.168.1.103 ...
Análise:
-
Cada IP de origem está enviando um grande número de pacotes, o que é incomum para tráfego normal.
-
Isso confirma que o ataque é distribuído (DDoS), com múltiplos IPs falsos sendo usados.
2.3 Analisar conteúdo das requisições
Para entender o tipo de ataque, você pode inspecionar o conteúdo das requisições HTTP.
Comando:
sudo tcpdump -r captura.pcap -nn -A 'tcp port 80'
Saída no Shell:
14:32:01.123456 IP 192.168.1.100.54321 > 192.168.1.200.80: Flags [P.], seq 1:100,
ack 1, win 65535, length 99 E..4..@[email protected].....'...........GET /wp-admin HTTP/1.1 Host: 192.168.1.200 User-Agent: hping3 ... 14:32:01.123457 IP 192.168.1.101.54322 > 192.168.1.200.80: Flags [P.], seq 1:100,
ack 1, win 65535, length 99 E..4..@[email protected].....'...........GET /wp-login.php HTTP/1.1 Host: 192.168.1.200 User-Agent: hping3 ...
Análise:
-
As requisições são direcionadas a endpoints críticos do WordPress, como
/wp-admin
e/wp-login.php
. -
O cabeçalho
User-Agent: hping3
indica que o atacante está usando ohping3
para gerar o tráfego.
Passo 3: Mitigar o ataque
Com base na análise, você pode tomar medidas para mitigar o ataque DDoS:
-
Configurar um Firewall:
-
Bloqueie os IPs suspeitos identificados.
-
Limite a taxa de conexões por IP.
Exemplo com
iptables
:sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
-
-
Usar um Serviço de Proteção DDoS:
-
Serviços como Cloudflare ou Akamai podem ajudar a absorver o tráfego malicioso.
-
-
Monitorar o Tráfego:
-
Configure alertas para detectar picos de tráfego anormais.
-
-
Atualizar o WordPress:
-
Certifique-se de que o WordPress e seus plugins estão atualizados para evitar vulnerabilidades.
-
Conclusão
Neste exemplo prático, utilizamos o tcpdump
para capturar e analisar o tráfego de rede, identificando um ataque DDoS direcionado a um servidor WordPress. A análise revelou um grande volume de pacotes SYN
e requisições HTTP suspeitas, confirmando o ataque.
Combinando ferramentas como tcpdump
com técnicas de mitigação, você pode proteger seus sistemas contra ataques DDoS e outras ameaças cibernéticas. Para análises mais avançadas, considere usar ferramentas como Wireshark ou Suricata.
Referencias Bibliográficas
1. Livro: “Network Security Through Data Analysis: Building Situational Awareness”
-
Autor: Michael Collins
-
Editora: O’Reilly Media
-
Ano: 2017
-
ISBN: 978-1491915346
-
Descrição: Este livro aborda técnicas de análise de dados de rede para identificar atividades maliciosas, incluindo ataques DDoS. Ele fornece exemplos práticos de como usar ferramentas como o tcpdump para monitorar e analisar tráfego de rede.
2. Artigo: “Detecting and Mitigating DDoS Attacks with Network Traffic Analysis”
-
Disponível em: https://ieeexplore.ieee.org/document/10200383
-
Descrição: Este artigo técnico discute técnicas de análise de tráfego de rede para detectar e mitigar ataques DDoS. Ele inclui exemplos de como usar ferramentas como o tcpdump e o Wireshark para identificar padrões de tráfego associados a ataques DDoS.