LLMNR/NBT-NS Poisoning
O que são LLMNR e NBT-NS?
LLMNR - Link Local Multicast Name Resolution e NBT-NS NetBIOS Name Service são protocolos de resolução de nome de host em uma mesma rede e são usados como alternativa quando a resolução de nome por DNS falha. Quando o host tenta resolver um nome pelo DNS e ocorre uma falha, o host faz um broadcast na rede usando o LLMNR (UDP 5355) e o NBT-NS (UDP 137).
Como o ataque LLMNR/NBT-NB acontece?
Um atacante na rede local faz um spoofing dos serviços LLMNR/NBT-NS, e responde a requisição LLMNR/NBT-NB do host (Ex.: Notebook Windows 10).
O host Windows faz um broadcast de resolução de nome e o atacante "envenena" (poisoning) esse tráfego fazendo-se passar por um servidor legítimo para o serviço requisitado. O host Windows recebe a resposta do atacante como se estivesse conectando a um serviço legítimo.
Como o atacante consegue coletar as credenciais nesse ataque?
Caso o serviço que o host está tentando se conectar requer autenticação, o username e o hash NTLMv2 será capturado pelo atacante. Dessa forma, o atacante consegue coletar diversas credenciais enquanto monitora e responde a requisições de serviço na rede. Os hashes coletados são posteriormente "quebrados" localmente na máquina do atacante com uso de brute-force.
POC - Prova de conceito
A ferramenta usada para executar o ataque é o Responder.py
Inicie a ferramenta com o comando sudo ./Responder.py -I eth0
O Responde inicia e mostra os protocolos LLMNR, NBT-NS e DNS ativos para "escuta", e os servidores para spoofing.
O Responder permanece "ouvindo" a rede
Quando um host na rede tenta acessar um compartilhamento de arquivos com um nome incorreto ou que não existe é apresentado um erro de rede para o usuário. O atacante consegue capturar essa requisição do protocolo SMB onde as credenciais do usuário são enviadas no pacote da requisição. Dessa forma, o atacante obtém o username e o hash NTLMv2 da senha.
O Responder vai registrar as credencias em log no arquivo SMB-NTLMv2-SSP-[IP].txt
Depois da coleta de credenciais, os hashes capturados serão "quebrados" com brute-force usando a ferramenta John The Ripper
Devido a baixa complexidade da senha, o cracking do hash da senha ocorre rapidamente.
Sobre o Responder.py
Essa ferramenta responde as requisições NBT-NS com base no sufixo do nome e, por padrão, apenas as requisições para o SMB serão interceptadas e respondidas. No entanto, o Responder.py pode ser usado para responder a requisições de outros protocolos, basta usar o parâmetro correto ao executar a ferramenta.
Neste artigo tem a descrição dos parâmetros para uso com outros protocolos: LINK
Sobre o LLMNR - Link Local Multicast Name Resolution
É um protocolo de resolução de nome entre hosts em uma mesma sub-rede. O LLMNR é uma alternativa ao DNS e responde às consultas para resolução de nome antes do NetBIOS. No windows, o LLMNR é habilitado por padrão desde o Windows Vista até o Windows 10.
Sobre o NBT-NS - NetBIOS Name Server
Muito usado em dispositivos legados que usa API NetBIOS, o NetBIOS-over-TCP executa a resolução de nome em redes TCP/IP e é restrito ao IPv4.
Referências:
[+] Responder Tool
https://github.com/SpiderLabs/Responder
[+] Mitre Att&ck: LLMNR/NBT-NS Poisoning
https://attack.mitre.org/techniques/T1557/001/
Comentários
Postar um comentário