
استغلال تصعيد الصلاحيات المحلي لـ needrestart (CVE-2024-48990)
يحتوي هذا المستودع على استغلال بسيط لتصعيد الامتيازات محليًا يستهدف ثغرة أمنية في needrestart (CVE-2024-48990).
تسمح الثغرة بتنفيذ كود Perl عشوائي كجذر عن طريق إساءة استخدام خيار التهيئة -c، الذي يتم تحليله وتنفيذه في سياق مميز.
تتطلب العديد من استغلالات تصعيد الامتيازات الموجودة تجميع ملفات ثنائية مخصصة، أو فتح شل إضافية، أو الاعتماد على سلاسل أوامر تفاعلية.
تم تطوير هذا الاستغلال لتجنب هذه المتطلبات من خلال توفير تقنية مباشرة لتصعيد الامتيازات محليًا لا تتطلب تجميعًا أو أدوات إضافية أو إساءة استخدام محرر تفاعلي أو أداة تصفح. يتم تحقيق تصعيد الامتيازات عن طريق إنشاء شل جذر SUID من خلال تنفيذ التهيئة المميزة لـ needrestart.
needrestart مكتوب بلغة Perl وينفذ ملفات التهيئة التي يتم تمريرها عبر خيار -c ككود Perl بصلاحيات الجذر.
من خلال توفير ملف تهيئة مزور يحتوي على استدعاء system()، يمكن تنفيذ أوامر عشوائية كجذر، مما يؤدي إلى تصعيد الامتيازات محليًا.
شغّل الاستغلال:
python3 needrestart_privesc.py
إذا كان المستخدم مصرحًا له بتنفيذ needrestart عبر sudo، فسيقوم البرنامج النصي باستدعائه وإنشاء شل جذر SUID في /tmp/bash. إذا كان sudo يتطلب كلمة مرور، فسيتم طلبها بشكل طبيعي.
عند التنفيذ الناجح، يتم فتح شل جذر تلقائيًا.
تعطيل فتح الشل التلقائي:
python3 needrestart_privesc.py --no-shell
تنظيف الملفات المنشأة:
python3 needrestart_privesc.py --cleanup
needrestart عبر sudo.يُقدَّم هذا الكود لأغراض تعليمية وبحثية فقط.