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

بدأت بتشغيل الأمر  لمعرفة ما إذا كانت هناك أي أوامر يمكنني تشغيلها باستخدام sudo دون الحاجة لكلمة المرور. بعد الاطلاع على النتائج

لاحظت أنه يمكنني تشغيل apache2 باستخدام sudo. هنا بدأت ملامح خطتي تتضح، فربما يمكنني تشغيل مكتبة مخصصة تمنحني امتيازات أعلى.

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

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

يحتوي الكود ببساطة على دالة لتشغيل shell بامتيازات root .

هذا الكود يعتمد على الدالة التي تُنفذ تلقائيًا عند تحميل المكتبة، ليتم تعيين امتيازات root للمستخدم.

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

الخطوة التالية كانت تحويل ملف exploit.c إلى مكتبة ديناميكية يمكن للنظام تحميلها. قمت بتجميعه باستخدام الأمر

:

الآن، أصبحت المكتبة الضارة جاهزة وتم إنشاؤها كملف exploit.so في مجلد tmp، جاهزة للتحميل عند الحاجة.

تنفيذ الاستغلال باستخدام LD_PRELOAD

بعد إعداد المكتبة، جاء وقت التنفيذ. استخدمت LD_PRELOAD لتوجيه النظام إلى تحميل مكتبتي الضارة قبل تحميل المكتبات النظامية الأخرى. قمت بتشغيل الأمر التالي:

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

كنت بحاجة للتأكد من أنني أصبحت المستخدم root فعلاً. قمت بتشغيل الأمر whoami، وكانت النتيجة واضحة:

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

اترك تعليقاً