استعراض الأوامر المتاحة

بدأت بفحص الأوامر المتاحة لي باستخدام الأمر الشهير sudo -l.

هذا الأمر يتيح لي معرفة الأوامر التي يمكنني تشغيلها باستخدام sudo . وبينما كنت أتصفح النتائج، لاحظت شيئًا مثيرًا: كان بإمكاني تشغيل apache2 باستخدام sudo دون الحاجة إلى كلمة المرور.

الإعداد للاستغلال

مع بعض البحث، اكتشفت أنه يمكنني استغلال متغير LD_LIBRARY_PATH. هذا المتغير يسمح بتحديد مسار مكتبات ديناميكية يتم تحميلها بواسطة البرامج، وعندما يكون لديك سيطرة عليه، يمكنك توجيه النظام لتحميل مكتبة من صنعك الشخصي.

إعداد المكتبة الضارة

كانت الخطوة التالية هي إنشاء ملف C يحتوي على كود يسمح لنا بالحصول على امتيازات أعلى. قمت بإنشاء هذا الملف في tmp لضمان الوصول السريع له، وأطلقت عليه اسم exploit.c.

الكود كان بسيطاً ويقوم بتشغيل shell ، وكان الهدف منه إعطائي امتيازات المستخدم الجذر.

محتويات exploit.c كانت كالتالي:

تجميع الملف باستخدام gcc

الخطوة التالية كانت تجميع الملف باستخدام  gcc. قمت بتشغيل الأمر التالي:

الآن أصبحت لدي مكتبة ضارة جاهزة، والتي ستتيح لي تنفيذ الأوامر بامتيازات الجذر عند تحميلها.

تشغيل exploit باستخدام LD_LIBRARY_PATH

قمت بتعيين متغير البيئة LD_LIBRARY_PATH ليشير إلى tmp حيث يوجد الملف كما هو موضح في التالي:

بمجرد تنفيذ هذا الأم تم تحميل المكتبة الضارة، و حصلت على root shell.

الآن، بامتيازات root، تمكنت من تشغيل الأمر whoami، والذي أكد لي أنني حصلت على وصول كامل للنظام:

أظهرت لي النتيجة root، مما يعني أن الاستغلال كان ناجحاً وأنني الآن أملك التحكم الكامل بالنظام.

في النهاية، النظام يحتاج إلى حماية دقيقة على جميع المستويات، وخاصة عند التعامل مع متغيرات البيئة التي قد تكون بوابة للمهاجمين في حال تم التعامل معها بإهمال.

اترك تعليقاً