🗺️4- Vulnerability-Assessment

💡 مقدمة: فهم نقاط الضعف وتقييمها

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

ما هي نقطة الضعف (Vulnerability)؟ نقطة الضعف هي ضعف في الحساب أو الكود الموجود في مكونات البرامج والأجهزة .

أنواع نقاط الضعف: نقاط الضعف مهي بس على الكود أو البرامج يمكن أن تشمل:

  • نقاط الضعف المادية (Physical Vulnerabilities): مثل انقطاع الكهرباء للوصول المادي أو ضعف في إجراءات الأمن المادي مثل الأقفال أو الكاميرات.

  • نقاط الضعف التقنية (Technical Vulnerabilities): ضعف في نظام التشغيل أو الخدمات المثبتة على جهاز.

  • نقاط الضعف البشرية (Human Vulnerabilities): تتعلق بالهندسة الاجتماعية ومهارات التعامل مع الآخرين التي يمكن للمخترق استغلالها للحصول على معلومات أو الوصول إلى الشبكة (ما يسمى "الطبقة الثامنة" في نموذج OSI).

مصادر نقاط الضعف الشائعة: نقاط الضعف يتم تتبعها وتسجيلها في قواعد بيانات عالمية:

  • CVE (Common Vulnerabilities and Exposures): قائمة عامة بالثغرات ونقاط الضعف المعروفة، تديرها مؤسسة MITRE. إذا رأيت رقم CVE (مثل CVE-2021-44228)، فهو معرف فريد لنقطة ضعف محددة.

  • National Vulnerability Database (NVD): قاعدة بيانات وطنية لنقاط الضعف، تديرها NIST، وهي مرتبطة بـ CVE.

  • CWE (Common Weakness Enumeration): يساعد في تصنيف الضعف وكيفية حله مستقبلاً.

كيف يتم تقييم خطورة نقطة الضعف (Severity & Criticality)؟ يتم تقييم خطورة نقاط الضعف باستخدام نظام CVSS (Common Vulnerability Scoring System) الذي يحدد درجة الخطورة من 0 إلى 10. هذه الدرجة مهمة للعملاء لفهم التأثير المحتمل.

  • Critical (حرجة): 9.0 - 10.0 (أكثر خطورة).

  • High (عالية): 7.0 - 8.9.

  • Medium (متوسطة): 4.0 - 6.9.

  • Low (منخفضة): 0.1 - 3.9.

  • Info (معلومات): للملاحظات فقط ولا تحمل خطورة مباشرة.

الفرق بين تقييم نقاط الضعف واختبار الاختراق الكامل:

  • تقييم نقاط الضعف (Vulnerability Assessment): هو عملية اكتشاف نقاط الضعف وتحديد خطورتها وتقديم توصيات لمعالجتها دون محاولة استغلالها فعلياً. إذا طلب منك العميل تقييم نقاط ضعف فقط، فأنت تقوم بجمع المعلومات والمسح وتقييم نقاط الضعف، ثم تقديم تقرير.

    • لو سويت تقييم نقاط ضعف فقط، لن تدخل في مرحلة الاستغلال.

    • غالباً ما يكون أسرع وأقل إجهاداً للبنية التحتية للعميل.

  • اختبار الاختراق (Penetration Testing): يشمل تقييم نقاط الضعف بالإضافة إلى محاولة استغلال نقاط الضعف المكتشفة لإثبات إمكانية الاختراق والضرر المحتمل (Proof of Concept - PoC).

    • لو سويت اختبار اختراق كامل، ستمر بمرحلة تقييم نقاط الضعف ثم تتبعها بالاستغلال.

    • يتطلب وقتاً أطول وقد يؤثر على الشبكة أثناء مرحلة الاستغلال.


🗺️ منهجية اختبار الاختراق: موقع تقييم نقاط الضعف

تقييم نقاط الضعف هو مرحلة مهمة ضمن دورة حياة اختبار الاختراق. إذا كنت تتبع منهجية اختبار اختراق شاملة، فسيتم تنفيذ هذه المرحلة بعد جمع المعلومات والمسح.

  1. جمع المعلومات (Information Gathering): في هذه المرحلة الأولية، لو جمعت معلومات حول الهدف، فسوف تحصل على فهم أولي له.

  2. بصمات الأصابع والمسح (Footprinting & Scanning): هنا لو قمت بمسح الشبكة وتحديد الأجهزة النشطة والمنافذ المفتوحة والخدمات التي تعمل عليها. هذه المعلومات حاسمة لمرحلة تقييم نقاط الضعف. على سبيل المثال، لو استخدمت أداة Nmap، فسوف تكتشف المنافذ المفتوحة مثل بورت 80 (HTTP) أو بورت 21 (FTP).

  3. تقييم نقاط الضعف (Vulnerability Assessment): هذه هي المرحلة التي نتحدث عنها بالتفصيل. بعد تحديد الخدمات، لو قمت بتطبيق تقنيات وأدوات تقييم نقاط الضعف.

  4. الاستغلال (Exploitation): بعد تحديد نقاط الضعف القابلة للاستغلال، لو قررت إثبات الثغرة، فسوف تحاول استغلالها لتعزيز وصولك إلى النظام أو الشبكة.

  5. ما بعد الاستغلال (Post-Exploitation): لو نجحت في الاستغلال، فسوف تحاول الحفاظ على الوصول وجمع المزيد من المعلومات. (لم يتم تفصيل هذه المرحلة بشكل كبير في المصادر المقدمة).

  6. إعداد التقارير (Reporting): لو انتهيت من الاختبار، فسوف تقدم تقريراً مفصلاً للعميل يوضح نقاط الضعف، طرق الاستغلال (إن وجدت)، والتوصيات.


📊 مرحلة تقييم نقاط الضعف: الأدوات والتقنيات

في هذه المرحلة، لو أردت اكتشاف نقاط الضعف، فسوف تستخدم أدوات وتقنيات متنوعة.

🛠️ أدوات فحص نقاط الضعف (Vulnerability Scanners)

ماسحات نقاط الضعف هي برامج آلية تفحص الأنظمة لتحديد نقاط الضعف المعروفة.

  • كيف تعمل هذه الماسحات؟

    • تأتي مزودة بقاعدة بيانات مدمجة تحتوي على نقاط الضعف المعروفة (Known Vulnerabilities).

    • لو أرسلت الماسحة "مجسات" (Probes) أو طلبات إلى الخدمات التي تعمل على المنافذ المفتوحة، فسوف تنتظر الرد وتطابقه مع قاعدة بيانات نقاط الضعف لديها.

    • كما يمكنها فحص ملفات التكوين لنظام التشغيل أو سجل النظام (Registry) في Windows بحثًا عن نقاط ضعف أو تكوينات خاطئة.

    • ملاحظة هامة: يجب أن تكون قاعدة بيانات الماسحة محدثة باستمرار لاكتشاف أحدث الثغرات.

  • تحذير: قد تنتج الماسحات أحياناً "إيجابيات خاطئة" (False Positives)، أي أنها تشير إلى وجود نقطة ضعف بينما لا توجد فعلياً. لو رأيت إيجابية خاطئة، فسوف تحتاج إلى التحقق يدوياً.

🚀 أداة Nessus: الأشهر والأكثر استخداماً

Nessus هو ماسح نقاط ضعف تجاري مشهور جداً، طورته شركة Tenable.

  • سهولة الاستخدام: Nessus يتميز بكونه "سهل الاستخدام" (User-Friendly) وواجهته واضحة.

  • العميل والخادم (Client-Server Architecture): يعمل Nessus بنظام العميل والخادم. لو قمت بتثبيته، فسوف تحصل على سيرفر Nessus الذي يقوم بالمسح، وعميل (واجهة ويب) لتكوين وإدارة المسح.

  • الإصدارات:

    • Nessus Essentials: إصدار مجاني للاستخدام غير التجاري، يسمح بمسح ما يصل إلى 16 أو 25 عنوان IP.

    • Nessus Professional / Expert: إصدارات مدفوعة توفر ميزات إضافية وتسمح بمسح عدد أكبر من الأجهزة.

  • كيف تستخدم Nessus (مثال عملي):

    1. الوصول إلى Nessus: لو أردت تشغيل Nessus في بيئة Kali Linux، فسوف تفتحه غالباً عبر متصفح الويب بكتابة https://localhost:8834. لو ظهر لك خطأ الشهادة، فسوف تقبله للمتابعة.

    2. تسجيل الدخول: لو طُلب منك ذلك، فسوف تستخدم بيانات الاعتماد (مثال: admin/adminpasswrd) التي قمت بإنشائها أو تم توفيرها لك.

    3. أنواع المسح (Scan Types):

      • Basic Network Scan (المسح الأساسي للشبكة): هو المسح الافتراضي في Nessus. لو اخترت هذا النوع، فسوف يقوم Nessus تلقائياً باكتشاف الأجهزة الحية، والمنافذ المفتوحة، وأنظمة التشغيل، والخدمات (على غرار Nmap).

      • Custom Scan (مسح مخصص/متقدم): لو أردت تخصيص عملية المسح، فسوف تختار "New Scan" ثم "Advanced Scan". هنا يمكنك تحديد البروتوكولات (مثل TCP)، وتحديد إذا كنت تريد فحص تطبيقات الويب، وضبط سرعة المسح.

      • Web Application Test (فحص تطبيقات الويب): لو ركزت على تطبيقات الويب، فسوف تختار هذا القالب الجاهز.

      • Credentialed Scan (المسح بالاعتمادات): لو كانت لديك بيانات اعتماد (اسم مستخدم وكلمة مرور) للنظام المستهدف، فسوف تستخدم هذا النوع من المسح. هذا يسمح لـ Nessus بالوصول إلى تفاصيل أعمق داخل النظام.

    4. تحديد الهدف (Target): لو أدخلت عنوان IP أو نطاق IP أو اسم نطاق (Domain Name)، فسوف يبدأ Nessus بفحص هذا الهدف. لو أعطيت Nessus اسماً نطاقياً، فسوف يقوم تلقائياً بحل اسم النطاق إلى عنوان IP (Host Discovery).

    5. تشغيل المسح: لو ضغطت "Launch" أو "Run Scan"، فسوف يبدأ Nessus عملية الفحص.

    6. التقارير (Reports): بعد اكتمال المسح، لو أردت مشاركة النتائج، فسوف تنشئ تقارير بصيغ مختلفة مثل PDF أو HTML أو CSV. لو اخترت تقرير HTML، فسوف تحصل على تفاصيل شاملة لكل نقطة ضعف.

🌐 WMAP: فحص تطبيقات الويب

WMAP هو إضافة قوية لـ Metasploit Framework (MSF) مصممة خصيصاً لفحص نقاط الضعف في تطبيقات الويب. لو كنت تستخدم MSF، فسوف تتمكن من تحميل WMAP مباشرة وفحص تطبيقات الويب من داخل Metasploit.

🔍 الفحص اليدوي (Manual Scanning)

  • في بعض الأحيان، خاصة مع التطبيقات المخصصة (Custom Applications) التي طورتها الشركة نفسها، قد لا تكون الماسحات الآلية فعالة بما يكفي.

  • لو كنت تفحص تطبيقاً مخصصاً، فسوف تحتاج إلى إجراء فحص يدوي. يتطلب هذا فهمًا عميقًا لكيفية عمل التطبيق، وميزاته، وكيف يتبادل البيانات مع الشبكة وقواعد البيانات. لو فهمت منطق عمل التطبيق، فسوف تتمكن من إدخال قيم مختلفة ومراقبة سلوكه لاكتشاف نقاط الضعف.

🔎 مصادر البحث عن نقاط الضعف

  • Exploit-DB: قاعدة بيانات كبيرة للاستغلالات (Exploits) و Proof of Concepts (PoCs). لو وجدت نقطة ضعف، فسوف تبحث هنا عن استغلال جاهز.

  • Google: نقطة بداية جيدة للبحث عن CVEs المتعلقة بخدمة أو برنامج معين.


📉 أنواع شائعة لنقاط الضعف والأمثلة

سنلقي نظرة على بعض نقاط الضعف الشائعة التي قد تصادفها أثناء تقييمك.

🖥️ نقاط ضعف Windows

Microsoft Windows هو نظام التشغيل الأكثر انتشاراً، مما يجعله هدفاً رئيسياً للمهاجمين.

  • نقاط ضعف برمجية: Windows مطور بلغة C، مما يجعله عرضة لثغرات مثل تجاوز سعة المخزن المؤقت (Buffer Overflows) وتنفيذ التعليمات البرمجية العشوائية (Arbitrary Code Execution).

  • التكوين الافتراضي: بشكل افتراضي، قد لا يكون Windows معدّاً للعمل بشكل آمن ويتطلب ممارسات أمنية استباقية.

  • التأخير في التحديثات: الثغرات المكتشفة حديثاً قد لا يتم تصحيحها على الفور، والعديد من الأنظمة تظل بدون تحديثات.

  • أنواع نقاط الضعف في Windows:

    • الكشف عن المعلومات (Information Disclosure): تسمح للمهاجم بالوصول إلى بيانات سرية.

    • تجاوز سعة المخزن المؤقت (Buffer Overflows): تحدث بسبب أخطاء برمجية وتسمح بتنفيذ تعليمات برمجية عشوائية.

    • تنفيذ التعليمات البرمجية عن بُعد (Remote Code Execution - RCE): تسمح للمهاجم بتنفيذ تعليمات برمجية على النظام المستهدف عن بُعد.

    • تصعيد الامتيازات (Privilege Escalation): تسمح للمهاجم برفع مستوى صلاحياته بعد الاختراق الأولي.

    • رفض الخدمة (Denial of Service - DoS): تسمح للمهاجم باستهلاك موارد النظام لمنعه من العمل بشكل طبيعي.

  • خدمات Windows المعرضة للاستغلال:

    • Microsoft IIS (Internet Information Services): خادم ويب خاص بـ Microsoft يعمل على المنافذ 80/443.

    • WebDAV (Web Distributed Authoring & Versioning): امتداد لبروتوكول HTTP يسمح بإدارة الملفات عن بُعد، يعمل على المنافذ 80/443.

      • لو أردت استغلال WebDAV، فسوف تبحث عن بيانات اعتماد صالحة أو تقوم بتحميل ملفات ASP خبيثة لتنفيذ الأوامر.

    • SMB/CIFS (Server Message Block Protocol): بروتوكول لمشاركة الملفات على الشبكة المحلية، يستخدم المنفذ 445.

    • RDP (Remote Desktop Protocol): بروتوكول الوصول عن بُعد بواجهة رسومية، يستخدم المنفذ 3389.

    • WinRM (Windows Remote Management Protocol): بروتوكول لإدارة Windows عن بُعد، يستخدم المنافذ 5986/443.

  • أمثلة على ثغرات Windows:

    • EternalBlue (MS17-010/CVE-2017-0144): مجموعة من ثغرات Windows التي تسمح بتنفيذ تعليمات برمجية عن بُعد عبر بروتوكول SMBv1. لو تم استغلال هذه الثغرة، فسوف تسمح بالوصول إلى النظام والشبكة بالكامل، وقد تم استخدامها في هجمات WannaCry.

    • BlueKeep (CVE-2019-0708): ثغرة RDP في Windows تسمح بتنفيذ تعليمات برمجية عشوائية عن بُعد دون مصادقة. لو كانت أنظمة Windows Vista أو 7 أو Server 2008 غير مُحدثة، فسوف تكون عرضة لهذه الثغرة.

    • Pass-The-Hash Attacks: تقنية استغلال تتضمن سرقة تجزئات NTLM أو كلمات مرور بنص واضح واستخدامها للمصادقة على الهدف بشكل مشروع.

🐧 نقاط ضعف Linux

Linux هو نظام تشغيل مفتوح المصدر وغالباً ما يُستخدم كخادم، مما يجعله هدفاً مهماً.

  • خدمات Linux المعرضة للاستغلال:

    • Apache Web Server: خادم ويب مجاني ومفتوح المصدر يعمل على المنافذ 80/443.

    • SSH (Secure Shell): بروتوكول وصول عن بُعد مشفر يستخدم المنفذ 22.

    • FTP (File Transfer Protocol): بروتوكول لمشاركة الملفات يستخدم المنفذ 21.

    • SAMBA: تطبيق Linux لبروتوكول SMB، يسمح لأنظمة Windows بالوصول إلى مشاركات Linux.

  • أمثلة على ثغرات Linux:

    • Shellshock (CVE-2014-6271): مجموعة من الثغرات في Bash shell تسمح للمهاجم بتنفيذ أوامر عن بُعد عبر Bash، مما يمنح وصولاً عن بُعد. لو كان خادم Apache يستخدم سكربتات CGI، فسوف يكون عرضة لهذا الهجوم.

🕸️ نقاط ضعف تطبيقات الويب

  • SQL Injection (SQLI): مثال على ثغرة شائعة في تطبيقات الويب.

    • PHPMyAdmin SQLI (CVE-2019-11768): لو كان إصدار PHPMyAdmin قديماً (قبل 4.8.6 أو 4.9.0.1)، فسوف يمكن للمهاجمين غير المصادق عليهم الوصول إلى قاعدة البيانات وتنفيذ أوامر SQL عشوائية، مما يؤثر على السرية والتكامل والتوفر.

      • لو أردت معالجة هذه الثغرة، فسوف تقوم بالترقية إلى إصدار أحدث أو تطبيق التصحيحات.

    • Git Repository Accessible: لو كان مستودع Git متاحاً للعموم عبر خادم الويب بدون مصادقة، فسوف يتمكن أي شخص من الوصول إلى الكود المصدري وتنزيله، مما يمثل خطراً أمنياً. لو أردت حماية هذه الثغرة، فسوف تفرض المصادقة على المستودع.


😈 مرحلة الاستغلال (Exploitation): إثبات نقطة الضعف

بعد تحديد نقطة ضعف، لو أردت إثبات أن الثغرة قابلة للاستغلال، فسوف تنتقل إلى مرحلة الاستغلال لإنشاء Proof of Concept (PoC).

💥 Metasploit Framework (MSF): أداة الاستغلال الشاملة

Metasploit هو إطار عمل (Framework) قوي ومفتوح المصدر يستخدم لتطوير وتنفيذ الاستغلالات (Exploits).

  • وحدات الاستغلال (Exploit Modules): يحتوي MSF على مكتبة ضخمة من الوحدات الجاهزة التي تستهدف نقاط ضعف محددة.

  • وحدات المساعد (Auxiliary Modules): تُستخدم للمسح وجمع المعلومات، بالإضافة إلى تحديد ما إذا كان النظام المستهدف معرضاً للاستغلال.

  • كيف تستخدم Metasploit (مثال عملي):

    1. تشغيل MSF Console: لو أردت تشغيل Metasploit، فسوف تكتب msfconsole في الطرفية.

    2. البحث عن الاستغلالات (Searchsploit): لو اكتشفت خدمة معينة (مثل Bad Blue 2.7) من خلال Nmap، فسوف تستخدم searchsploit للبحث عن استغلالات جاهزة لها.

    3. اختيار وحدة الاستغلال (Use Exploit Module): لو وجدت استغلالاً مناسباً، فسوف تستخدم الأمر use متبوعاً بمسار الوحدة (مثال: use exploit/windows/http/badblue_passthru).

    4. تكوين الخيارات (Set Options): لكل استغلال خيارات (Options) يجب ضبطها. أهمها:

      • RHOSTS: عنوان IP للهدف (Victim).

      • LHOST: عنوان IP الخاص بالمهاجم (لكي تعود الجلسة إليه).

      • Payload: الحمولة التي ستُنفذ على الهدف بعد الاستغلال (مثال: windows/meterpreter/reverse_tcp).

    5. التنفيذ (Exploit): لو ضبطت جميع الخيارات، فسوف تكتب exploit لتشغيل الهجوم.

    6. جلسة Meterpreter: لو نجح الاستغلال، فسوف تفتح لك جلسة "Meterpreter". Meterpreter هي واجهة سطر أوامر قوية تسمح لك بالتحكم الكامل في النظام المخترق. لو أردت الوصول إلى سطر أوامر النظام، فسوف تكتب shell.

      • مثال: لو أردت قراءة ملف "flag.txt" الموجود على القرص C بعد الحصول على الشيل، فسوف تكتب type flag.txt.


📈 إدارة نقاط الضعف والتقارير (Vulnerability Management & Reporting)

إدارة نقاط الضعف هي جزء لا يتجزأ من إدارة المخاطر الشاملة للمؤسسة. لو قمت باكتشاف نقاط الضعف، فسوف يكون دورك تقديم توصيات قابلة للتنفيذ للعميل.

تقديم التوصيات:

  • لو اكتشفت نقطة ضعف، بتشرح للعميل كيفية استغلالها ومدى السهولة .

  • لو أردت تقديم توصية، فسوف تقترح حلولاً مثل:

    • تطبيق التصحيحات (Patching): تحديث البرامج والأنظمة.

    • الترقية (Upgrading): تحديث إلى إصدارات أحدث من البرامج.

    • تغيير التكوينات (Configuration Changes): تعديل إعدادات الأمان.

    • إزالة الخدمة (Remove Service): إذا لم تكن ضرورية.

  • لو كان التصحيح غير ممكن (على سبيل المثال، تطبيق قديم يتطلب إصداراً قديماً من برنامج ما)، فسوف يتعين على المؤسسة اتخاذ قرار بشأن قبول المخاطرة (Accepting the Risk).

  • ربط التأثير بالأعمال: لو شرحت للعميل التأثير المحتمل لنقطة الضعف على أعماله (Business Impact)، فسوف يجعله ذلك أكثر إدراكاً لأهمية المعالجة.

النصيحة : نام كويس

مدري ليش قلت كذا لاكن نام كويس 😁

Last updated