🔭2- Footprinting-and-Scanning

مرحلة بعد جمع المعلومات ننتقل إلى المرحلة الثانية وهي الفحص (Scanning) جزء من جمع المعلومات الفعال هذه المرحلة مهمة بعد جمع المعلومات الأول.

🎯 أهداف الفحص الرئيسية

💡الاشياء الي بتعرفها ؟

  • اكتشاف المضيفين النشطين (Live Hosts Discovery): بتعرف الأجهزة الي تشتغل حالياً في الشبكة.

  • تحديد المنافذ المفتوحة (Open Ports Identification): بتعرف المنافذ المفتوحة على هذه الأجهزة.

  • تحديد البروتوكولات والخدمات (Protocols & Services Identification): بتعرف البروتوكولات (مثل HTTP, FTP) والخدمات (مثل Apache, OpenSSH) الي تعمل على المنافذ المفتوحة بالإضافة إلى إصداراتها (Versions).

  • اكتشاف الثغرات (Vulnerability Discovery): بمجرد معرفة الخدمات وإصداراتها يمكنك البحث عن الثغرات المعروفة المرتبطة بها.


🔬 مرحلة الفحص (Scanning)


💡 مقدمة في الفحص وأهميته

الفحص هو المرحلة الي تحول فيها شبكة غير معروفة إلى صورة واضحة لهندسة الشبكة والأنظمة .

  • إذا كنت تبي تحدد الثغرات المحتملة فـ لازم تعرف المنافذ المفتوحة والخدمات الي تشتغل عليها، لأن الثغرات غالباً تكون بسبب خدمات معينة وإصدارات قديمة.


🗣️ أدوات وتقنيات الفحص

✨ 1. أداة Hping3

  • إذا كنت تبي إنشاء حزم مخصصة (Crafting Packets) وترسلها إلى الهدف الأداة ذي تسمح لك بالتحكم في حزم TCP وتعيين التي تبيه.

  • إذا تبي ترسل حزمة SYN لبورت معين، تقدر بـ استخدام الأمر: sudo hping3 -S <Target_IP> -p <Port_Numbe>.

    • إذا استلمت رد SYN-ACK، فهذا يعني أن البورت مفتوح.

    • إذا استلمت رد RST (Reset)، فهذا يعني أن البورت مغلق.

    • إذا ما استلمت أي رد فهذا قد يعني أن البورت مُفلتر (Filtered) بواسطة جدار حماية.

  • إذا كنت تستخدم Hping3 للفحص، لازم تستخدم sudo لأنها ترسل حزم خام (Raw Packets).

  • إذا كنت تبي ترسل عدد معين من الحزم، تقدر بـ إضافة الخيار -c <Count>.


✨ 2. أداة Nmap (Network Mapper)

ئـ Nmap هي الأداة الأساسية والأكثر قوة والاشهر لفحص الشبكات واكتشاف المضيفين والخدمات والثغرات المحتملة.

💡 2.1. اكتشاف المضيفين (Host Discovery)

هدف هذه المرحلة هو تحديد الأجهزة التي تشتغل حالياً في الشبكة.

  • إذا تبي تسوي مسح سريع لاكتشاف المضيفين (Ping Scan) فاستخدم nmap -sn <Target_IP_Range>. هذا بيكشف لك المضيفين النشطين من دون إجراء فحص للمنافذ.

  • إذا كان الهدف يحظر طلبات ping (ICMP)، استخدام الخيار -Pn أو -P0 مع Nmap.

    • إذا استخدمت -Pn، بيتوقع Nmap أن الهدف نشط ويتخطى مرحلة الكتشاف مفيد للأهداف الي تحظر الـ ping لأسباب أمنية.

  • تقنيات اكتشاف المضيفين الأخرى التي تستخدمها Nmap:

    • ARP Scanning: مفيد للشبكات المحلية.

    • TCP SYN Ping: لإرسال حزم SYN إلى بورت معين (غالباً 80).

    • UDP Ping: لإرسال حزم UDP إلى بورت معين.

    • TCP ACK Ping: لإرسال حزم ACK، إذا استلمت RST، فالمضيف نشط.


💡 2.2. فحص المنافذ (Port Scanning)

تحديد حالة المنافذ على الجهاز الهدف (مفتوح، مغلق، مفلتر).

  • إذا تبي تعرف المنافذ الأكثر شهرة فالـ Well-Known Ports هي من 0 إلى 1023. هذه المنافذ مخصصة لخدمات معروفة (مثل 80 لـ HTTP، 22 لـ SSH).

  • إذا أردت فحص جميع المنافذ المتاحة (65535 منفذ)، فاستخدم الخيار -p- مع Nmap.

  • إذا كنت تبي تفحص المنافذ الأكثر شهرة فقط (أول 1000 منفذ افتراضياً) فقط شغل Nmap بدون تحديد منافذ معينة.


⚡️ أنواع فحص TCP (TCP Scan Types)

  • إذا تبي تفحص سريع وشبه خفي (Stealth Scan)، فاستخدم TCP SYN Scan (المعروف بـ Half-Open Scan) مع الخيار -sS.

    • إذا أرسلت حزمة SYN واستلمت SYN-ACK، فهذا يعني أن البورت مفتوح ثم ترسل RST لإغلاق الاتصال دون إكمال الـ 3-Way Handshake.

    • إذا أرسلت حزمة SYN واستلمت RST، فهذا يعني أن البورت مغلق.

    • إذا لم تستلم أي رد (بعد فترة انتظار)، فهذا يعني أن البورت مُفلتر (Filtered)، وغالباً يكون هناك جدار حماية.

    • هذا النوع من الفحص أقل إزعاجاً ويصعب اكتشافه من قبل بعض أنظمة IDS القديمة.

  • إذا كنت ترغب في إجراء فحص كامل للاتصال (Full-Open Scan)، فاستخدم TCP Connect Scan مع الخيار -sT.

    • إذا أكملت عملية الـ 3-Way Handshake (SYN, SYN-ACK, ACK)، فهذا يعني أن البورت مفتوح.

    • هذا هو الفحص الافتراضي لـ Nmap إذا لم تحدد نوع فحص.

    • إذا كان SYN Scan لا يعمل (بسبب جدار حماية)، فقد تحتاج إلى Connect Scan.

  • إذا كنت ترغب في اكتشاف جدار حماية (Firewall Detection) وليس المنافذ المفتوحة، فاستخدم ACK Scan مع الخيار -sA.

    • إذا أرسلت حزمة ACK ولم تستلم رداً، فهذا يعني وجود جدار حماية.

    • إذا استلمت رد RST، فهذا يعني عدم وجود جدار حماية يمنع الرد.

  • فحوصات أخرى (Null, FIN, Xmas Scans): هذه الفحوصات تستغل طرقاً معينة للتعامل مع أعلام TCP لإخفاء الفحص، وهي أقل شيوعاً ولكنها قد تكون مفيدة في بعض السيناريوهات.


🔵 فحص UDP (UDP Scan)

  • إذا كنت تبي تفحص المنافذ التي تشتغل ببروتوكول UDP (مثل DNS على بورت 53، TFTP على 69، SNMP على 161)، فاستخدم الخيار -sU مع Nmap.

    • إذا أرسلت حزمة UDP ولم تستلم رداً، فقد يعني ذلك أن البورت مفتوح أو مُفلتر (لأن UDP لا يتطلب رداً مؤكداً).

    • إذا استلمت رسالة ICMP Port Unreachable، فهذا يعني أن البورت مغلق.

    • فحص UDP أبطأ من TCP لأنه لا يعتمد على الـ 3-Way Handshake.


💡 2.3. اكتشاف الخدمات وإصدارات أنظمة التشغيل (Service OS Detection)

بعد تحديد المنافذ المفتوحة، يمكنك معرفة الخدمات التي تعمل عليها وأنظمة التشغيل الخاصة بها.

🔍 2.3.1 اكتشاف إصدارات الخدمات باستخدام Nmap

  • إذا تبي تحدد الخدمة الشغالة وإصدارها على بورت مفتوح فاستخدم الخيار -sV مع Nmap.

    • كيف يعمل؟: Nmap يرسل "مجسات" (Probes) إلى الخدمة ويقارن الردود بقاعدة بيانات التوقيعات (Signature Database) الخاصة به لتحديد نوع الخدمة وإصدارها اذا كانت تسمح 👍.

    • إذا عرفت إصدار الخدمة، فيمكنك البحث عن الثغرات المعروفة المرتبطة بهذا الإصدار تحديداً.

👣 2.3.2 بصمات نظام التشغيل (OS Fingerprinting)

  • بصمات نظام التشغيل الفعالة (Active OS Fingerprinting)

    • إذا تبي تحدد نظام التشغيل استخدم الخيار -O مع Nmap.

      • إذا استخدمت -O، فسيرسل Nmap حزمًا مصممة وينتظر الردود لكل نظام تشغيل بعدها يقارنها بقاعدة بياناته.

      • ملاحظة💡: يتطلب الفحص ذا صلاحيات root.

    • إذا تبي تاخذ أقصى شي من المعلومات استخدم الخيار -A مع Nmap.

      • إذا استخدمت -A، فسيقوم Nmap بتشغيل اكتشاف نظام التشغيل، واكتشاف إصدارات الخدمات، وتشغيل السكريبتات الافتراضية، وtraceroute في عملية فحص واحدة.

⚙️ 2.3.4. محرك Nmap للسكريبتات (Nmap Scripting Engine - NSE)

  • إذا تبي تقوي قدرات Nmap لأداء مهام متخصصة مثل فحص الثغرات، التعداد، اكتشاف نقاط الضعف استخدام NSE.

    • إذا أردت تشغيل السكريبتات الافتراضية فاستخدم الخيار -sC.

    • إذا أردت تشغيل سكريبتات معينة، فاستخدم الخيار --script <script_name_or_category>.


✨ 3. أداة Zenmap

  • إذا كنت تحب تستخدم واجهة رسومية (GUI) لـ Nma

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


🌹هاذي هدية مني

✨ 4. أدوات فحص ثانية

  • إذا كنت تبحث عن أدوات سريعة استخدام Masscan أو Rustscan.

  • إذا كنت تبي أتمتة عملية الفحص والتعداد بشكل أكبر استخدام Nmap Automator أو AutoRecon.


تخطي جدران الحماية وأنظمة كشف التسلل (Firewall IDS Evasion)🛡️

أنظمة الأمان (مثل جدران الحماية IDS, IPS) يمكن تكتشف محاولات الفحص وتحظرك. إذا كنت تبي في تسكب الدفاعات استخدام التقنيات التالية:

✨ 1. تقطيع الحزم (Fragmentation)

  • إذا تبي تقسيم الحزمة الكبيرة إلى حزم أصغر لتجاوز جدران الحماية استخدم الخيار -f أو مع Nmap.

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

✨ 2. التوقيت (Timing)

  • إذا تبي تتحكم في سرعة الفحص عشان ما تنفضح استخدم الخيار -T<0-5> مع Nmap.

    • إذا اخترت -T0 (Paranoid)، فسيكون الفحص بطيئاً جداً مع فترات انتظار طويلة بين الحزم .

    • إذا اخترت -T5 (Insane)، فسيكون الفحص سريع لاكن سهل كشفه .

    • إذا كنت ترغب في فحص بطيء ليظهر كحركة مرور عادية، فاستخدم -T1 أو -T2. (-T3 هو الإعداد الافتراضي).

نيصحة💡 : حاول تفهم Nmap اكثر


Last updated