
استغلال بايثون لـ CVE-2022-46196 يستهدف حقن أوامر غير مصادق عليه في Cacti <=1.2.22. يؤتمت كشف الإصدار وتسليم شل عكسي عبر remote_agent.php.
يستغل كود Python هذا ثغرة حقن أوامر غير مصادق عليها في إصدارات Cacti حتى الإصدار 1.2.22 وما يتضمنه. يستخدم argparse لتحليل الوسائط من سطر الأوامر، و requests للحصول على محتوى HTML لمثيل Cacti المستهدف، و BeautifulSoup لاستخراج رقم إصدار Cacti من محتوى HTML. إذا كان الإصدار <= 1.2.22، يستمر الكود في الاستغلال.
يتضمن الاستغلال إرسال حمولة إلى ملف remote_agent.php لمثيل Cacti، حيث تكون الحمولة عبارة عن أمر Bash يفتح شل عكسي إلى IP ومنفذ استماع محددين. يتكرر الكود عبر نطاق من معرفات المضيفين لإرسال الحمولة، وبمجرد النجاح، يفتح شل عكسي على IP والمنفذ المحددين.
يجب استخدام هذا الكود فقط للأغراض الأخلاقية، مثل البحث الأمني أو اختبار الاختراق.
لتشغيل الكود، استخدم الأمر التالي:
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
حيث:
URL of Cacti's instance هو رابط مثيل Cacti المستهدف.Listening IP هو عنوان IP الذي يجب أن يستمع عليه الشل العكسي.Listening Port هو المنفذ الذي يجب أن يستمع عليه الشل العكسي.يتطلب الكود مكتبات/وحدات Python التالية:
argparse
requests
BeautifulSoup4
re