🧪3. رفع امتيازات Linux عبر صلاحيات SUDO خاطئة (Lab Editing Gone Wrong Lab)

🎯 الهدف الأساسي: استغلال صلاحيات sudo الممنوحة بشكل خاطئ على نظام Linux للحصول على صلاحيات الجذر (Root)، وذلك بتشغيل أمر مسموح به (مثل man) بامتيازات sudo ثم الحصول على Bash Shell من داخله.

🔧 الأدوات المستخدمة:

  • Linux Bash Shell commands: sudo -l, man, /bin/bash

  • find / -perm /u=s,g=s,o=s 2>/dev/null (للبحث عن ملفات SUID/SGID، لم يستخدم مباشرة في هذا اللاب ولكن ذكره السياق النظري)

📜 خطوات التنفيذ:

📊 أولاً: الحصول على وصول أولي (Initial Access) 🗣️ إذا حصلت على وصول Bash Shell على نظام Linux المستهدف، بصلاحيات مستخدم عادي (مثلاً student).

📊 ثانياً: تحديد صلاحيات sudo الممنوحة بشكل خاطئ (Post-Exploitation - Privilege Escalation)

  • للبحث عن البرامج التي يمتلك المستخدم العادي عليها صلاحية SUID (Set User ID) (هذه الخطوة لم تُظهر نتائج في اللاب):

    find / -perm -4000 -type f 2>/dev/null

    أو:

    find / -perm /u=s,g=s,o=s 2>/dev/null

    فسوف يعرض لك قائمة بالبرامج التي يمكن للمستخدم العادي تشغيلها بامتيازات المستخدم الذي يمتلك البرنامج (غالباً root).

  • 🔑للبحث عن الأوامر التي يمكن للمستخدم الحالي تشغيلها بامتيازات الجذر (sudo) بدون كلمة مرور (NOPASSWD):

    sudo -l

    فسوف يعرض لك قائمة بالأوامر التي يمكن للمستخدم الحالي (مثلاً student) تشغيلها باستخدام sudo. 💡من النتائج، لو وجدت أن المستخدم student يمكنه تشغيل الأمر man بامتيازات الجذر (as root) وبدون الحاجة إلى كلمة مرور (NOPASSWD). فهذه هي نقطة الاستغلال.

📊 ثالثاً: استغلال man للحصول على Root Access (Post-Exploitation - Privilege Escalation)

  1. تشغيل الأمر man بامتيازات sudo:

    • لو كتبت الأمر التالي:

      sudo man ls # أو sudo man [أي أمر آخر]

      فسوف يفتح لك صفحة المان (دليل) للأمر المحدد، ولكن بصلاحيات الجذر (لأنك استخدمت sudo المسموح به).

  2. الحصول على Bash Shell من داخل man:

    • 🔑بينما أنت داخل صفحة المان، لو ضغطت مفتاح ! (علامة التعجب) من لوحة المفاتيح.

    • ثم كتبت الأمر /bin/bash.

      !/bin/bash
    • فسوف تحصل على جلسة Bash Shell جديدة تعمل بصلاحيات المستخدم الجذر (Root access).

    • للتحقق:

      whoami

      فسوف يعرض لك root.

نقاط التحقق:

  • الوصول إلى Bash Shell بصلاحيات مستخدم عادي.

  • 🔑 تحديد الأمر man كأمر يمكن تشغيله بامتيازات sudo بدون كلمة مرور باستخدام sudo -l.

  • 🔑 الحصول على وصول Root من داخل صفحة man باستخدام !/bin/bash.

  • القدرة على قراءة الفلاج من مجلد root.

Last updated