# T1557.002 - ARP Cache Poisoning > [!tip] Técnica Pai > Esta é uma sub-técnica de [[t1557-adversary-in-the-middle|T1557 - Adversary-in-the-Middle]], que abrange técnicas de posicionamento do adversário entre comúnicações para interceptação, captura de credenciais e manipulação de dados em trânsito. ## Descrição O **ARP Cache Poisoning** (envenenamento de cache ARP), também conhecido como **ARP Spoofing**, é uma técnica de ataque em redes locais que permite que um adversário se posicione entre dois ou mais dispositivos em comunicação, interceptando, capturando ou manipulando os dados trafegados. É uma das técnicas de Adversary-in-the-Middle (AiTM) mais clássicas e eficazes em ambientes de rede local (LAN). **Fundamentos do protocolo ARP:** O protocolo ARP (Address Resolution Protocol) foi definido na RFC 826 em 1982 com foco em funcionalidade, sem mecanismos de autenticação ou verificação. Sua função é traduzir endereços IPv4 (camada de rede - L3) para endereços MAC (camada de enlace - L2), que são os identificadores usados para comunicação dentro de um segmento de rede local. Quando um dispositivo precisa se comúnicar com outro na mesma rede e não conhece seu endereço MAC, ele transmite um **ARP Request** em broadcast para toda a rede: "Quem tem o IP 192.168.1.1? Me diga seu MAC." O dispositivo com aquele IP responde diretamente com seu MAC, e o solicitante armazena essa associação em seu **ARP Cache** para uso futuro. **O problema fundamental:** O ARP é stateless e não autentica as respostas. Um dispositivo aceita qualquer resposta ARP como válida, independentemente de ter feito ou não uma solicitação prévia. Isso abre a porta para dois vetores de ataque: 1. **ARP Spoofing Reativo:** O adversário monitora passivamente a rede aguardando ARP Requests legítimos e responde antes do dispositivo verdadeiro, associando seu próprio endereço MAC ao IP alvo na cache do dispositivo solicitante. 2. **Gratuitous ARP (ARP Não Solicitado):** O adversário envia proativamente respostas ARP sem ter sido perguntado - os chamados Gratuitous ARP - anunciando falsamente que é o dono de um IP específico. Todos os dispositivos da rede que recebem esse anúncio atualizam suas caches com a associação falsa, sem questionar. Ao executar o ataque com sucesso, o adversário posiciona seu dispositivo no caminho do tráfego entre duas vítimas (por exemplo, entre um cliente e seu gateway padrão), habilitando intercepção completa da comunicação - o que na literatura é chamado de posicionamento **Man-in-the-Middle** (agora renomeado para Adversary-in-the-Middle pela MITRE para maior precisão). Esta posição intermediária permite [[t1040-network-sniffing|Network Sniffing]] de todo o tráfego, captura de credenciais enviadas por protocolos não criptografados (HTTP, FTP, Telnet, SMTP, SMBv1) e [[t1565-002-transmitted-data-manipulation|Transmitted Data Manipulation]] para injeção de conteúdo malicioso. > [!warning] Escopo Limitado > ARP Cache Poisoning funciona exclusivamente em segmentos de rede local (mesmo domínio de broadcast L2). Não é eficaz através de roteadores ou entre VLANs separadas por camada 3, a menos que o adversário já estejá no mesmo segmento da vítima. ## Como Funciona **Pré-requisitos:** - Acesso ao mesmo segmento de rede local (mesma VLAN/subnet) que as vítimas - IP forwarding habilitado no dispositivo do adversário (para que o tráfego interceptado sejá encaminhado ao destino real, tornando o ataque transparente) - Ausência de proteções como Dynamic ARP Inspection (DAI) no switch **Fases detalhadas:** **1. Reconhecimento da Rede** O adversário descobre os hosts ativos no segmento usando ferramentas como `nmap`, `arp-scan` ou simplesmente monitorando o tráfego ARP existente. Identifica os alvos de interesse: IPs das vítimas e do gateway padrão. **2. Habilitação de IP Forwarding** Para que o ataque sejá transparente (as vítimas não percebem interrupção na comunicação), o adversário habilita IP forwarding no sistema operacional: - Linux: `echo 1 > /proc/sys/net/ipv4/ip_forward` - Windows: modificação no registro ou via script **3. Envio de Gratuitous ARP para as Vítimas** O adversário envia dois fluxos de respostas ARP falsas em paralelo: - Para a **Vítima A:** "O IP do Gateway (ex: 192.168.1.1) tem o MAC `AA:BB:CC:DD:EE:FF` [MAC do adversário]" - Para o **Gateway:** "O IP da Vítima A (ex: 192.168.1.100) tem o MAC `AA:BB:CC:DD:EE:FF` [MAC do adversário]" Isso faz com que todo o tráfego da Vítima A destinado à internet passe pelo dispositivo do adversário, e as respostas do gateway também passem por ele. **4. Intercepção e Encaminhamento** Com IP forwarding ativo, o adversário recebe todo o tráfego, analisa/captura o que for de interesse e encaminha ao destino real. As vítimas percebem apenas latência ligeiramente aumentada, se tanto. **5. Exploração do Tráfego Capturado** - Captura de credenciais em texto claro (HTTP, FTP, POP3/IMAP sem TLS, SMBv1 NTLMv1) - Downgrade de HTTPS via SSL Stripping (ferramentas como sslstrip) - Captura de hashes NTLM via ferramentas como Responder para relay attacks - Injeção de código malicioso em respostas HTTP não criptografadas **Ferramentas comuns utilizadas:** - `arpspoof` (pacote dsniff) - Linux, simples e direto - `ettercap` - multiplataforma, com suporte a plugins de captura - `bettercap` - ferramenta moderna, suporte a ARP, LLMNR, DNS spoofing integrados - `Responder` - focado em captura de hashes NTLM via múltiplos protocolos ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>Posição no Segmento de Rede Local<br/>Mesma VLAN / Subnet das Vítimas] --> B[Reconhecimento<br/>Varredura ARP / nmap<br/>Mapeamento de IPs e MACs] B --> C[Preparação<br/>Habilitar IP Forwarding<br/>Configurar ferramenta ARP Spoof] C --> D{Técnica de Envenenamento} D --> E[ARP Spoof Reativo<br/>Resposta a ARP Requests<br/>antes do host legítimo] D --> F[Gratuitous ARP<br/>Anúncios não solicitados<br/>para todos os hosts] E --> G[Cache ARP das Vítimas<br/>Envenenada com MAC do Adversário] F --> G G --> H[Posição AiTM Estabelecida<br/>Todo tráfego passa pelo adversário] H --> I{Objetivo do Ataque} I --> J[Network Sniffing<br/>Captura de credenciais<br/>em protocolos sem TLS] I --> K[NTLM Hash Capture<br/>via Responder<br/>para Pass-the-Hash / Relay] I --> L[SSL Stripping<br/>Downgrade HTTPS→HTTP<br/>via sslstrip / bettercap] I --> M[Transmitted Data Manipulation<br/>Injeção de JavaScript<br/>em respostas HTTP] J --> N[Exfiltração / Movimento Lateral] K --> N L --> N M --> N ``` ## Exemplos de Uso ### Cleaver (APT33/Shamoon - Operações contra Infraestrutura Crítica) [[g0003-cleaver|Cleaver]] é um grupo de ameaça persistente avançada atribuído ao Irã, conhecido por ataques a infraestrutura crítica no Oriente Médio, Europa e América do Norte - incluindo setores de energia, petróleo e gás, e transporte. O grupo foi documentado usando ARP Cache Poisoning durante operações de movimento lateral dentro de redes industriais (OT/ICS), onde a segmentação de rede frequentemente é inadequada e switches industriais raramente implementam proteções dinâmicas como DAI. O objetivo típico era capturar credenciais de sistemas de controle SCADA transmitidas por protocolos legados não criptografados, bem como interceptar comúnicações entre estações de engenharia e controladores PLCs. Em ambientes OT, onde atualizar sistemas é operacionalmente complexo, protocolos inseguros como Telnet e FTP permanecem em uso, tornando ARP Poisoning especialmente eficaz. ### LuminousMoth - Espionagem em Redes Governamentais do Sudeste Asiático [[g1014-luminousmoth|LuminousMoth]] é um grupo APT atribuído ao nexo de ameaças chinesas, ativo desde pelo menos 2020 em campanhas de espionagem contra governos no Sudeste Asiático - Mianmar, Filipinas, Tailândia - com foco em coleta de inteligência geopolítica. O grupo foi documentado usando ARP Poisoning como parte de sua cadeia de comprometimento em redes governamentais, posicionando-se entre estações de trabalho de funcionários e servidores internos para capturar credenciais de acesso a sistemas sensíveis. > [!example] Sequência de Ataque Documentada - Ambiente Corporativo > 1. Adversário obtém acesso inicial via phishing ([[t1566-phishing|Phishing]]) > 2. Implanta `bettercap` ou script ARP personalizado no host comprometido > 3. Executa ARP poisoning contra gateway e estações de trabalho adjacentes > 4. Captura hashes NTLM via SMB com `Responder` > 5. Realiza Pass-the-Hash ([[t1550-002-pass-the-hash|T1550.002]]) contra servidores internos > 6. Eleva privilégios e instala RAT para persistência **Ferramentas observadas em incidentes reais:** ```bash # Exemplo com arpspoof (dsniff) - Linux # Envenenar cache de 192.168.1.100 para interceptar tráfego ao gateway arpspoof -i eth0 -t 192.168.1.100 192.168.1.1 arpspoof -i eth0 -t 192.168.1.1 192.168.1.100 # Exemplo com bettercap - mais moderno e furtivo bettercap -iface eth0 -eval "set arp.spoof.targets 192.168.1.100; arp.spoof on; net.sniff on" ``` ## Detecção A detecção de ARP Cache Poisoning requer monitoramento de tráfego de rede em nível L2 - camada que muitas organizações negligenciam no SIEM por volume e complexidade. O sinal mais confiável são inconsistências no mapeamento MAC-IP ao longo do tempo. **Fontes de dado:** - **Switch logs / SNMP:** mudanças abruptas na tabela CAM (Content Addressable Memory) - mesmo MAC em múltiplas portas ou IP mudando de MAC repentinamente - **Network IDS (Snort/Suricata):** regras específicas para detecção de ARP Spoofing (regras pré-existentes na base ET/Emerging Threats) - **Host-based:** ferramentas como `arpwatch` (Linux) monitoram mudanças no ARP cache local e alertam em mudanças suspeitas - **EDR/NDR:** soluções modernas com análise de comportamento de rede detectam Gratuitous ARP em volume anômalo ```yaml title: ARP Cache Poisoning - Múltiplas Respostas ARP Anômalas status: experimental logsource: category: network_traffic product: zeek detection: selection: event_type: "arp" arp_type: "reply" anomaly: # Mesmo MAC respondendo por múltiplos IPs # ou mesmo IP com MAC diferente do histórico timeframe: 5m condition: | selection | count() by src_mac >= 3 with distinct dst_ip OR selection where ip_mac_mismatch = true falsepositives: - Migração de VMs (MAC change legítimo) - Troca de interface de rede ou configuração de NIC bonding - Dispositivos que usam MAC virtuais (load balancers, HA pairs) level: high tags: - attack.credential_access - attack.collection - attack.t1557.002 ``` **Indicadores específicos por sistema operacional:** - **Linux:** Verificar `/proc/net/arp` periodicamente; mudanças abruptas no campo MAC para um IP fixo - **Windows:** Evento Sysmon ID 22 com DNS queries anômalas após mudança de ARP; `arp -a` mostrando MAC duplicado para gateway - **macOS:** Logs do `networkd` com conflitos ARP; `arp -a` com entradas marcadas como `[expired]` e substituídas **Ferramentas de monitoramento contínuo recomendadas:** - `arpwatch` - daemon Linux para monitoramento e alerta de mudanças ARP - Zeek (Bro) com módulo `arp.zeek` para captura e análise de tráfego ARP - Snort/Suricata com ruleset Emerging Threats (regras `et/arp-*`) - Switches com Dynamic ARP Inspection (DAI) habilitado - bloco preventivo no nível do switch ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1041 | [[m1041-encrypt-sensitive-information\|M1041 - Encrypt Sensitive Information]] | Garantir que TODO o tráfego sensível sejá criptografado com TLS 1.2+ (HTTPS, SMTPS, IMAPS, LDAPS, SMBv3 com signing obrigatório). Mesmo com ARP poisoning bem-sucedido, o adversário não consegue decifrar o conteúdo criptografado. Habilitar HSTS e certificaté pinning em aplicações web críticas. | | M1031 | [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Implementar **Dynamic ARP Inspection (DAI)** nos switches - controle de segurança L2 que válida respostas ARP contra tabela DHCP Snooping binding, bloqueando respostas falsas. Também habilitar **DHCP Snooping** como pré-requisito. Configurar IDS/IPS com assinaturas específicas para ARP Spoofing. | | M1017 | [[m1017-user-training\|M1017 - User Training]] | Conscientizar equipes técnicas e de desenvolvimento sobre riscos de protocolos não criptografados em redes internas. Treinar administradores de rede para monitorar tabelas CAM e ARP periodicamente. | | M1042 | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desabilitar protocolos legados sem criptografia onde possível: Telnet (usar SSH), FTP (usar SFTP/FTPS), HTTP (forçar HTTPS), SMBv1 (desabilitar e usar SMBv3 com signing). Remover acesso a ferramentas de ARP manipulation de endpoints de usuário final. | | M1035 | [[m1035-limit-access-to-resource-over-network\|M1035 - Limit Access to Resource Over Network]] | Segmentar a rede com VLANs e ACLs para limitar o escopo de broadcast. Hosts críticos (servidores de autenticação, DCs, gateways privilegiados) devem estar em VLANs separadas com acesso estritamente controlado. Microsegmentação reduz o raio de impacto do ARP poisoning. | | M1037 | [[m1037-filter-network-traffic\|M1037 - Filter Network Traffic]] | Implementar Port Security nos switches para limitar o número de MACs por porta. Configurar Static ARP Entries para hosts críticos (gateway, servidores DNS/DHCP) em endpoints sensíveis - entradas estáticas não podem ser sobrescritas por Gratuitous ARP. | **Configuração recomendada de DAI em switches Cisco:** ``` ! Habilitar DHCP Snooping (pré-requisito para DAI) ip dhcp snooping ip dhcp snooping vlan 10,20,30 ! Habilitar Dynamic ARP Inspection nas VLANs ip arp inspection vlan 10,20,30 ! Marcar uplinks como trusted (trunk ports para switches de distribuição) interface GigabitEthernet0/1 ip dhcp snooping trust ip arp inspection trust ``` ## Contexto Brasil/LATAM O ARP Cache Poisoning permanece altamente relevante no contexto brasileiro por razões estruturais: muitas organizações de médio porte ainda operam com infraestrutura de rede legada, switches L2 sem suporte a DAI, e ambientes de TI onde segmentação de rede é inadequada ou inexistente. **Panorama de infraestrutura no Brasil:** - Pequenas e médias empresas (PMEs) brasileiras frequentemente operam redes planas sem segmentação por VLAN, ampliando o domínio de broadcast acessível a um adversário com acesso inicial - Ambientes industriais (OT/ICS) em setores como petróleo e gás, energia elétrica (distribuidoras e geradoras) e manufatura usam protocolos legados sem criptografia - Modbus TCP, DNP3, proprietary SCADA protocols - todos vulneráveis à interceptação via ARP Poisoning - A infraestrutura crítica brasileira opera parcialmente sob regulação da ANEEL (setor elétrico) e ANP (petróleo e gás), que estabelecem requisitos de segurança, mas a implementação de controles L2 como DAI ainda não é universal **Grupos relevantes para o Brasil:** - [[g0003-cleaver|Cleaver]] / APT33 tem histórico de interesse em infraestrutura energética - Petrobras e empresas do setor de energia elétrica são alvos potenciais de longo prazo - Grupos de espionagem com nexo geopolítico têm interesse crescente em infraestrutura crítica latino-americana - Ataques de ransomware direcionados a empresas brasileiras frequentemente utilizam técnicas de captura de credenciais internas, onde ARP Poisoning pode ser um componente da fase de movimento lateral **Setores de maior risco no Brasil:** - Setor elétrico: usinas, distribuidoras com sistemas SCADA legados ([[sector-energy|Energia]]) - Setor financeiro: redes bancárias com mistura de sistemas legados e modernos ([[financial|Financeiro]]) - Saúde: hospitais com dispositivos IoMT em redes não segmentadas ([[sector-healthcare|Saúde]]) - Manufatura: fábricas com ambientes OT/IT convergidos sem segmentação adequada **Referências regulatórias nacionais:** - **ANEEL REN 964/2021** - requisitos de segurança cibernética para infraestrutura elétrica crítica - **LGPD ([[2018]])** - incidentes de captura de dados pessoais via MITM têm obrigação de notificação à ANPD - **BACEN Circular 3.909/2018** - segurança de rede para infraestrutura de sistemas de pagamento **Recomendações práticas para o contexto brasileiro:** - Priorizar implementação de DAI em switches de acesso, especialmente em VLANs com servidores e dispositivos críticos - Realizar auditorias periódicas de tabelas ARP em hosts críticos (`arp -a`, `arpwatch`) - Migrar protocolos legados (Telnet, FTP, HTTP interno) para equivalentes seguros - Em ambientes OT, implementar monitoramento de rede passivo (Claroty, Nozomi, Dragos) que inclui detecção de ARP anomalias ## Referências - [MITRE ATT&CK - T1557.002](https://attack.mitre.org/techniques/T1557/002) - [RFC 826 - An Ethernet Address Resolution Protocol](https://www.rfc-editor.org/rfc/rfc826) - [Cisco - Understanding and Configuring Dynamic ARP Inspection](https://www.cisco.com/c/en/us/support/docs/lan-switching/8021x/116529-technote-configure-00.html) - [Kaspersky - Cleaver / APT33 TTPs](https://securelist.com/) - [Kaspersky - LuminousMoth APT](https://securelist.com/luminousmoth-apt/103332/) - [Bettercap - ARP Spoofing Module](https://www.bettercap.org/modules/ethernet/spoofers/arp.spoof/) - [CISA - ICS Security - Network Segmentation](https://www.cisa.gov/topics/industrial-control-systems) - [ANEEL REN 964/2021](https://www.aneel.gov.br/) --- *Fonte: [MITRE ATT&CK - T1557.002](https://attack.mitre.org/techniques/T1557/002) | Versão MITRE: 16.2*