كان كل شيء يبدو عاديًا في البداية، مهمة جديدة وبيئة جديدة للاستكشاف. جلست أمام الجهاز، وأول ما قمت به هو تنفيذ الأمر التقليدي للبحث عن ملفات SUID، لمعرفة ما إن كان هناك أي برنامج قابل للاستغلال.
وبين النتائج
كان هناك ملف مثير للاهتمام يُدعى suid-so. كان اسمه غير مألوف، وكان يبدو غريبًا بما يكفي ليثير شكوكي. قررت أن أفحصه وأرى ماذا يخفي.
لتحديد كيفية عمل البرنامج وما قد يقوم به، استخدمت أداة strace لتتبع العمليات التي ينفذها البرنامج. كان الهدف هو اكتشاف المكتبات التي قد يحاول استدعاءها أثناء تشغيله، على أمل العثور على ثغرة.
وبالفعل، ظهرت النتائج
وكانت مكتبة معينة مفقودة في الدليل الذي يشير إليه البرنامج. عرفت أن لدي فرصة لحقن مكتبة ضارة بنفس الاسم، وبمجرد تحميلها، سأتمكن من تنفيذ كود خاص بي بامتيازات البرنامج.
أخذت نفسًا عميقًا، وبدأت في كتابة كود بسيط للمكتبة في ملف exploit.c، بحيث يقوم بتشغيل shell عند تحميله.
أنشأت الملف في نفس مجلد المكتبة الذي كان يشير إليه البرنامج.
هذا الكود البسيط سيقوم بفتح shell بمجرد تحميله. بعدها، قمت بتجميع المكتبة باستخدام نفس اسم المكتبة المفقودة:
بعد إعداد المكتبة الضارة ووضعها في المكان الصحيح، كنت جاهزًا لتشغيل البرنامج الغامض suid-so.
في لحظات، وجدت نفسي في shell جديد.
للتأكد من نجاح العملية، نفذت الأمر whoami، وكانت النتيجة:
النتيجة: root. نجحت العملية