🧪 LAB 2: فحص تطبيقات الويب باستخدام Nikto (Scanning Web Application with Nikto Lab)

🎯 الهدف الأساسي: فحص تطبيق الويب Matilda باستخدام أداة Nikto لاكتشاف نقاط الضعف المعروفة، مع التركيز على ثغرة Local File Inclusion (LFI).

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

  • Nmap

  • Firefox (أو أي متصفح ويب)

  • Nikto

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

  1. تحديد عنوان IP الخاص بالهدف:

    • لو نفذت الأمر nmap -sV 192.0.X.0/24، فسيظهر لك الأجهزة النشطة في الشبكة هو الهدف الذي يعمل عليه HTTP وMySQL.

  2. الوصول إلى تطبيق الويب الهدف:

    • إذا كتبت http://192.0.X.0 (أو عنوان IP الخاص بالهدف) في متصفح Firefox، فسيظهر لك تطبيق الويب Matilda.

    • لو ظهر تطبيق Matilda، فهذا يؤكد أن الهدف جاهز للفحص. تطبيق Matilda هو تطبيق ويب مفتوح المصدر مصمم خصيصاً للتدريب على ثغرات الويب.

  3. تشغيل Nikto للفحص الأولي:

    • إذا أردت تشغيل Nikto لأول مرة، فيمكنك كتابة nikto فقط في سطر الأوامر لترى الخيارات المتاحة.

    • الأمر الأساسي لـ Nikto: nikto -h [Target URL/IP]

    • أهم الخيارات (Flags):

      • -h أو --host: لتحديد عنوان IP أو URL للهدف.

      • -Tuning أو -t: لتحديد نوع الفحص (مثلاً 5 لـ LFI/RFI).

      • -Display أو -D: لتحديد معلومات العرض (مثلاً V لـ Verbose).

      • -o أو --output: لحفظ النتائج في ملف.

      • -F أو --Format: لتحديد تنسيق ملف الإخراج.

      • -C أو --config: لتحديد ملف تكوين مخصص.

    • لو نفذت الأمر nikto -h http://192.0.X.0، فسيبدأ Nikto في فحص شامل للهدف.

    • لو انتهى الفحص، فسيظهر لك معلومات مثل: إصدار خادم Apache، إصدار PHP، وجود ملف robots.txt، تعطيل حماية XSS، واكتشاف ثغرات مثل File Traversal (LFI) في الصفحة الرئيسية.

  4. فحص LFI محدد باستخدام Nikto:

    • لو أردت فحص ثغرة Local File Inclusion (LFI) بشكل خاص، فيمكنك تحديد نوع الفحص (Tuning).

    • لو دخلت إلى تطبيق Matilda في المتصفح واخترت مسارًا به ثغرة LFI (مثلاً OWASP 2017 -> Broken Access Control -> Insecure Direct Object Reference -> LFIفسيظهر لك رابط الصفحة المصابة بـ LFI.

      • 🔑 رابط الصفحة المصابة بـ LFI غالبًا ما يحتوي على باراميتر مثل page= أو file=.

    • لو نسخت الرابط الخاص بالصفحة المصابة بـ LFI (مثلاً http://192.0.X.0/index.php?page=lfi.php).

    • لو نفذت الأمر nikto -h http://192.0.X.0/index.php?page=lfi.php -Tuning 5 -Display V، فسيقوم Nikto بفحص هذه الصفحة تحديدًا بحثًا عن ثغرة LFI.

      • 💡 معلومة ذهبية: -Tuning 5 يركز على فحص ثغرات Remote File Traversal/Retrieval، والتي تشمل LFI.

    • لو انتهى الفحص، فسيؤكد Nikto وجود ثغرة File Traversal/LFI في الصفحة.

  5. استغلال LFI يدوياً:

    • لو أردت استغلال ثغرة LFI المكتشفة، فسيمكنك تعديل الرابط في المتصفح.

    • لو أضفت ../../../../etc/passwd إلى باراميتر page= في الرابط (مثلاً http://192.0.X.0/index.php?page=../../../../etc/passwd).

      • 💡 معلومة ذهبية: ../../ تسمح لك بالتنقل بين المجلدات في نظام الملفات، و/etc/passwd هو ملف يحتوي على أسماء المستخدمين في أنظمة Linux.

    • لو ضغطت Enter، فسيظهر لك محتوى ملف /etc/passwd على الشاشة، مما يؤكد نجاح استغلال LFI.

نقاط التحقق:

  • لو رأيت مخرجات Nikto الأولية التي تحدد معلومات الخادم والثغرات الشائعة، فهذا يؤكد نجاح الفحص الأولي.

  • لو قام Nikto بتأكيد وجود LFI بعد الفحص المخصص للصفحة، فهذا يؤكد تحديد الثغرة.

  • لو ظهر لك محتوى ملف /etc/passwd في المتصفح، فهذا يؤكد الاستغلال الناجح لثغرة LFI.

Last updated