Auditoria de Tráfego de Rede com tcpdump
O tcpdump é uma ferramenta essencial para auditores de segurança e administradores de sistemas. Ele permite capturar e analisar pacotes que trafegam na interface de rede em tempo real.
1. Listando Interfaces e Captura Básica
Antes de auditar, precisamos saber qual interface monitorar:
# Listar interfaces disponíveis
tcpdump -D
# Capturar pacotes na interface eth0
sudo tcpdump -i eth0
2. Auditoria de Protocolos Específicos
Para uma auditoria eficiente, filtramos apenas o tráfego relevante. Por exemplo, monitorar requisições HTTP (porta 80):
sudo tcpdump -i any port 80 -A
O parâmetro -A imprime o conteúdo em ASCII, facilitando a leitura de cabeçalhos não criptografados.
3. Exportando para Análise Forense (Arquivos .pcap)
Em uma auditoria real, salvamos o tráfego para análise posterior no Wireshark:
sudo tcpdump -i eth0 -w auditoria_rede.pcap
4. Filtros Avançados (Flags TCP)
Para detectar possíveis varreduras (scans) de rede, podemos filtrar por flags específicas, como o SYN:
sudo tcpdump 'tcp[tcpflags] & tcp-syn != 0'
Destaques
-
Ética na Auditoria: O uso do
tcpdumpdeve ser restrito a ambientes controlados ou redes sob autorização expressa (compliance). -
Ameaça do Texto Claro: O exemplo da porta 80 (
-A) mostra como senhas de protocolos antigos (como Telnet ou HTTP puro) podem ser capturadas facilmente. -
Performance: Em Redes de alta velocidade, o
tcpdumppode perder pacotes se não for usado com filtros restritivos.
Laboratório Prático: Auditoria e Segurança
-
1. Ética na Auditoria (Monitoramento de Rede Local):
Para demonstrar o uso controlado, vamos monitorar apenas o tráfego que entra ou sai da nossa própria máquina em uma rede específica, simulando um ambiente de conformidade.
# Monitorar tráfego apenas da sua rede local (ex: 192.168.1.0/24) sudo tcpdump -i eth0 net 192.168.1.0/24 -
2. Ameaça do Texto Claro (Captura de Credenciais):
Este comando é excelente para mostrar aos alunos como o tráfego HTTP é perigoso. O parâmetro
-Aexibe o payload. Se um usuário fizer login em um formulário via porta 80, os dados aparecerão aqui.# Capturar tráfego HTTP e exibir conteúdo em ASCII (procurando por 'POST' ou 'GET') sudo tcpdump -i eth0 port 80 -A -s 1024 -
3. Performance e Otimização (Filtros Restritivos):
Para evitar a perda de pacotes em redes de alta carga, desativamos a resolução de nomes (DNS) com
-ne limitamos a captura a um protocolo e host específico.# Auditoria otimizada: sem DNS (-n), sem tradução de portas (-nn) e focado em um host sudo tcpdump -i eth0 -n -nn host 10.0.0.50 and tcp port 443
Comparativo de Protocolos: Auditoria de Segurança
Para um auditor, identificar o protocolo é o primeiro passo para saber se os dados estão vulneráveis ou protegidos.
| Serviço | Inseguro (Texto Claro) | Seguro (Criptografado) | Risco na Auditoria |
|---|---|---|---|
| Web | HTTP (Porta 80) | HTTPS (Porta 443) | Captura de Cookies e Senhas |
| Acesso Remoto | Telnet (Porta 23) | SSH (Porta 22) | Exposição total do Terminal |
| Transferência de Arquivos | FTP (Porta 21) | SFTP / SCP | Arquivos lidos em trânsito |
| POP3 / SMTP | IMAPS / SMTPS | Leitura de mensagens privadas |
tcpdump, se você notar muito tráfego nas portas da coluna "Inseguro", isso deve ser reportado imediatamente como uma vulnerabilidade crítica no relatório de auditoria.
3. Preservação de Evidências: Salvando Logs para Perícia
Em uma auditoria profissional, não basta observar o tráfego no terminal. É necessário salvar os dados em arquivos binários que preservem a integridade dos pacotes para análise em ferramentas como Wireshark ou Autopsy.
.pcap (Packet Capture). Este é o padrão da indústria para análise forense de redes.
A. Salvando a Captura em Arquivo
O comando abaixo salva todos os pacotes capturados diretamente em um arquivo, sem exibir nada na tela (o que economiza recursos de processamento):
# Salvar captura completa na interface eth0
sudo tcpdump -i eth0 -w auditoria_forense.pcap
B. Limitando o Tamanho do Arquivo (Rotação de Logs)
Em auditorias longas, os arquivos podem ficar gigantescos. Podemos instruir o tcpdump a criar novos arquivos após atingir um determinado tamanho (ex: 10MB) ou após um tempo determinado:
# Criar arquivos de 10MB cada, limitando a 5 arquivos (rotatividade)
sudo tcpdump -i eth0 -C 10 -W 5 -w log_rotativo.pcap
C. Lendo um Arquivo Gerado
Para auditar um arquivo que já foi capturado, usamos o parâmetro -r (read):
# Ler e filtrar um arquivo de captura existente
sudo tcpdump -r auditoria_forense.pcap port 80
| Flag | Função na Perícia |
|---|---|
-w |
Write: Escreve os pacotes crus no arquivo (formato binário). |
-r |
Read: Lê um arquivo pcap para análise offline. |
-C |
Size: Define o tamanho máximo do arquivo antes de criar um novo. |
-s 0 |
Snaplen: Garante a captura do pacote inteiro (essencial para perícia). |
4. Integridade e Cadeia de Custódia
Na auditoria forense, não basta salvar o arquivo; é preciso garantir que ele não foi alterado. Para isso, utilizamos algoritmos de Hash para gerar uma "impressão digital" do arquivo de log.
tcpdump, gere o hash do arquivo. Se o arquivo for alterado (mesmo que um único bit), o hash será diferente, invalidando a prova.
# Gerando a impressão digital (Hash SHA-256) do log
sha256sum auditoria_forense.pcap > hash_integridade.txt
# Para conferir a integridade futuramente:
sha256sum -c hash_integridade.txt
Verificação de Aprendizado (Quiz)
Responda às questões abaixo e clique no botão para verificar seu desempenho.
1. Qual comando é utilizado para listar todas as interfaces de rede disponíveis para captura?
2. Para visualizar o conteúdo dos pacotes em formato ASCII (texto legível), qual parâmetro deve ser adicionado?
3. Durante uma auditoria, por que é recomendado usar a flag -n?
4. Qual extensão de arquivo é o padrão da indústria para salvar capturas de tráfego para análise posterior?
5. Na perícia digital, qual a finalidade de gerar um hash (SHA-256) do arquivo capturado?
Nenhum comentário:
Postar um comentário