
🔄 تصعيد الامتيازات في Linux عبر need-restart (CVE-2024-48990). أتمتة الحصول على صلاحيات الجذر. 💀
يستغل هذا السكريبت الثغرة CVE-2024-48990 في الأداة needrestart في لينكس من خلال اختطاف مسار المكتبات (PYTHONPATH hijacking). على عكس الناقل الأصلي، تستخدم هذه الطريقة بايثون حصرًا، مما يسمح بتجاوز شرط وجود مترجمات مثل gcc مثبتة على الجهاز الضحية.
/tmp/malicious/importlib. يحاكي هذا هيكل المكتبة القياسية لبايثون.importlib/__init__.py): تحتوي على الكود الذي سيتم تنفيذه بصلاحيات مرتفعة. عند التحميل، تتحقق مما إذا كان المستخدم الحالي هو root (UID 0). إذا كان كذلك، تقوم بنسخ الملف الثنائي /bin/bash إلى /tmp/poc وتعين بت SUID (chmod 4755). يؤدي هذا إلى إنشاء باب خلفي يسمح لأي مستخدم بتصعيد الصلاحيات.e.py): هو سكريبت غير ضار يبقى قيد التشغيل في حلقة لا نهائية. يؤدي وظيفتين:needrestart./tmp باستمرار. بمجرد اكتشاف إنشاء الملف /tmp/poc، يقوم بتشغيله تلقائيًا مع العلم -p (للاحتفاظ بصلاحيات الجذر) مع تسليم شيل تفاعلي.PYTHONPATH="$PWD" python3 e.py، نغير سلوك بايثون. نجبر أي استيراد على البحث أولاً في /tmp/malicious قبل المسارات الشرعية للنظام.needrestart): عندما يتم تشغيل needrestart بصلاحيات المدير (إما يدويًا أو بواسطة مهمة مجدولة للنظام)، يقوم بفحص العمليات النشطة. عند الوصول إلى e.py الخاص بنا، يقوم باستخراج متغيرات البيئة الخاصة به ويبدأ عملية بايثون خاصة به لتحليلها. عند وراثة PYTHONPATH الخبيث، تقوم عملية الجذر الخاصة بـ needrestart باستيراد مكتبتنا المزيفة importlib وتنفيذ الحمولة، مما يمنح سيطرة كاملة على الجهاز.