🔭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