
محاولة لنقل PoC BlueKeep من @Ekultek إلى استغلالات فعلية
تم أرشفة هذا المشروع حيث تم تطوير استغلالات فعلية في مكان آخر بنجاح أفضل.
https://blog.rapid7.com/2019/09/06/initial-metasploit-exploit-module-for-bluekeep-cve-2019-0708/
bluekeep_CVE-2019-0708_poc_to_exploit
يرجى قراءة المشكلات (سواء و ) قبل نشر أشياء مثل "لا يعمل"، "لم يحدث شيء بعد تشغيل البرنامج النصي"، أو "خطأ (بدون تحديد)، ساعدني من فضلك".
============================================================================
============================================================================
============================================================================ هذا ليس بعض الاستغلالات الجاهزة التي يمكنك فقط الحصول عليها وتجربتها.
علاوة على ذلك، فإن طرق التسليم مهمة أيضاً للتأكد من أن الأكواد الخاصة بك ستنفذ على الجهاز البعيد.
حتى الآن لا نزال غير قادرين على إظهار شل (pop a shell) وتحقيق تنفيذ الأوامر عن بعد (RCE).
معظم الماسحات الضوئية وPoCs الموجودة تعمل فقط من خلال تحليل الردود من الأجهزة المستهدفة وتحديد ما إذا كانت الأجهزة ضعيفة أم لا. (كما يجب أن تعلموا جميعاً، الإصدارات المُصححة وغير المُصححة تُرجع ردوداً مختلفة، وكذلك أنظمة التشغيل غير المتأثرة). إنها لا "تستغل" الأجهزة المستهدفة فعلياً. لتحقيق RCE، يجب أولاً محاولة تشغيل الثغرة الأمنية عن طريق إرسال حزم مصممة خصيصاً (راجع MSDN الخاص بـ RDP لمواصفات البروتوكول). بعد تشغيل الثغرة الأمنية، الخطوة الثانية هي تحليل التفريغات (crashed or memory dumps) لمعرفة كيف يمكن لأكوادنا أن تتلاءم. الأمر ليس بسيطاً كما يعتقد معظمنا.
بعض المصادر المفيدة:
يمكنك استخدام Magic Unicorn من @trustedsec لتوليد شيل كود. https://github.com/trustedsec/unicorn
**ملاحظة: يرجى استخدام Python 3
يقوم عميل RDP ببدء الاتصال عندما يوفر المستخدم اسم سطح المكتب البعيد للاتصال به. يبدأ عميل RDP اتصالاً بـ RD Session Host عن طريق إرسال وحدة بيانات بروتوكول (PDU) لطلب اتصال X.224.
يستجيب RD Session Host بوحدة PDU لتأكيد اتصال X.224.
يرسل عميل RDP وحدة PDU لاتصال MCS الأولي مع طلب إنشاء مؤتمر GCC. --> الثغرة الأمنية مرتبطة بهذا الطلب.
يستجيب RD Session Host بوحدة PDU لاستجابة اتصال MCS مع رد إنشاء مؤتمر GCC.
يرسل عميل RDP وحدة PDU لطلب مجال MCS Erect Domain.
يرسل عميل RDP وحدة PDU لطلب إرفاق مستخدم MCS Attach User.
يستجيب RD Session Host بوحدة PDU لتأكيد إرفاق مستخدم MCS Attach User.
يرسل عميل RDP عدة (في هذه الحالة ستة) وحدات PDU لطلب الانضمام إلى قناة MCS Channel Join.
يرسل RD Session Host عدة (في هذه الحالة ستة) وحدات PDU لتأكيد الانضمام إلى قناة MCS Channel Join.
يرسل عميل RDP وحدة PDU لتبادل الأمان Security Exchange.
يرسل عميل RDP وحدة PDU لمعلومات العميل Client Info.
يرسل RD Session Host وحدة PDU لخطأ الترخيص - عميل صالح License Error PDU-Valid Client.
يرسل RD Session Host وحدة PDU للطلب النشط Demand Active.
يستجيب عميل RDP بوحدة PDU للتأكيد النشط Confirm Active.
يرسل عميل RDP وحدة PDU للتزامن Synchronize.
يرسل عميل RDP وحدة PDU للتحكم - تعاون Control PDU-Cooperate.
يرسل عميل RDP وحدة PDU للتحكم - طلب تحكم Control PDU-Request Control.
يرسل عميل RDP صفراً أو أكثر من وحدات PDU لقائمة المفاتيح الدائمة Persistent Key List. في هذه الحالة، يتم إرسال صفر وحدات.
يرسل عميل RDP وحدة PDU لقائمة الخطوط Font List.
يرسل RD Session Host وحدة PDU للتزامن Synchronize.
يرسل RD Session Host وحدة PDU للتحكم - تعاون Control PDU-Cooperate.
يرسل RD Session Host وحدة PDU للتحكم - تحكم مُمنَح Control PDU-Granted Control.
يرسل RD Session Host وحدة PDU لخريطة الخطوط Font Map.