تحميل برنامج Nmap في فحص الأنظمة والشبكات
Network Mapper أو Nmap اختصارا هو برنامج
مجاني ومفتوح المصدر خاص بفحص الشبكات والأنظمة ويعتبر من أقوى البرامج
التي يستخدمها الهاكرز والـ Penetration Testers وحتى خبراء الحماية ومدراء
الشبكات أيضا. بدأ Nmap كبرنامج بسيط لفحص المنافذ لكنه تطور بشكل كبير
خلال السنوات الماضية وأضيفت عليه الكثير من الميزات جعلت منه Securtiy
Scanner فالبرنامج قادر على فحص نطاق شبكة كامل وفحص الأجهزة الموجودة فيها
وتحديد المنافذ والخدمات التي يستخدمها بالاضافة لقدرته على عمل Remote OS
Fingerprint أي تحديد نظام التشغيل الذي يعمل بالجهاز عن بعد والكثير
الكثير من الأمور والميزات الأخرى.
لن أستطيع تغطية برنامج Nmap بشكل كامل في
هذا الموضوع فالبرنامج ضخم وتم تأليف كتب كاملة عنه لاحتوائه على الكثير
من الميزات والخيارات المتقدمة لكنه بنفس الوقت سهل الاستخدام لاحتواء Nmap
على خيارات بسيطة وعملية بالاضافة لوجود واجهة رسومية جميلة تدعى Zenmap.
تعتبر عملية فحص المنافذ هي المهمة
الأساسية لبرنامج Nmap وتكمن قوة البرنامج باحتوائه على خيارات كثيرة
ومتقدمة وتوفيره لجميع الطرق المعروفة, ففحص المنافذ لا يتم بطريقة واحدة
كما يظن البعض بل يوجد عدة أساليب وطرق متوفرة لكن قبل التطرق لها سأوضح
معلومات أساسية عن بروتوكول TCP/IP فكما جميعنا يعلم يتم تحديد IP Address لكل جهاز متصل بالشبكة وعندما نريد الاتصال بهذا الجهاز يتم فتح منفذ (بين الرقم 1 وحتى 65536)
لنتمكن من ارسال المعلومات له ولنفرض مثلا أن الجهاز A يريد الاتصال
بالجهاز B عن طريق المنفذ رقم 22 وهو المنفذ الافتراضي لخدمة الـ SSH في
البداية سيرسل الجهاز A طلب للجهاز B فاذا كان المنفذ مفتوح ولايوجد جدار
ناري يمنع الاتصال سيقوم الجهاز B بارسال رد للجهاز A يخبره أن المنفذ
مفتوح وأنه قبل الاتصال فيقوم الجهاز A بتكملة العملية والاتصال مع الجهاز B
عن طريق المنفذ السابق أما اذا كان المنفذ 22 مغلق سيرسل الجهاز B رد يخبر
به الجهاز A أن المنفذ مغلق أو غير مستخدم وبهذه الحالة سيقوم الجهاز A
باغلاق الاتصال أما اذا لم يحصل الجهاز A على أي رد من الجهاز B هذا يعني
أن المنفذ مفلتر أو بالأحرى محظور بسبب وجود جدار ناري يمنع الاتصال مثلا
أو أن النظام لا يعمل أو غير موجود من الأساس!
ماذكرته سابقا هو الاسلوب المبسط الذي
يوضح فكرة الاتصال وفحص المنافذ بشكل عام لكن في بروتوكول TCP/IP كل شيء
يتم عن طريق Packets مثل ICMP, FIN, ACK, SYN… لكني لن أتطرق لها كثيرا ومن
أراد التوسع أنصحه أن يقرأ عن بروتوكول TCP وأن يقرأ أيضا عن الـ OSI model
ويعرف كيف يتم الاتصال ونقل البيانات في الشبكة بشكل مفصّل فأنا لا أريد
الدخول بتفاصيل أكثر من ذلك وبنفس الوقت كان من الضروري أن أذكر المقدمة
السابقة فما يهمني هو أن يفهم البعض كيف تعمل الأداة ثم أن يتعرفوا على
طريقة استخدامها.
كما قلت سابقا يوجد عدة أساليب وطرق
مستخدمة في فحص المنافذ والشبكات باستخدام برنامج Nmap سأستخدم في الشرح
نظام Linux والاصدار 4.76 من Nmap مع العلم أن البرنامج متوفر على عدة
أنظمة تشغيل مثل Windows, Linux, Unix… ويمكن تنفيذ جميع ماذكر بالموضوع
على أي نظام آخر لكن شخصيا أفضل وأنصح باستخدام نظام GNU/Linux أو احدى
أنظمة Unix في هذه الأمور.
الشرح للغرض العلمي فقط!
وهو للتعريف بهذه الأنواع من البرامج وتوضيح طريقة استخدامها. أنا لا أشجع
ولا بأي شكل من الأشكال على استخدام هذا البرنامج بشكل غير قانوني أو
خارج نطاق شبكتك الخاصة وأنت وحدك تتحمل نتيجة استخداماتك!
1- TCP connect: وهو أبسط الأساليب المستخدمة في فحص المنافذ ويستعمل في أنظمة Unix للبدء باتصال TCP ويمكننا استخدامه بتنفيذ الأمر التالي:
nmap -sT 192.168.0.1
بفرض أن 192.168.0.1 هو الجهاز الذي نريد
فحصه وبهذه الحالة سيحاول برنامج Nmap الاتصال بالجهاز بطريقة عادية فمثلا
اذا تمكن برنامج Nmap من الاتصال بالمنفذ 21 هذا يعني ان خدمة الـ FTP تعمل
على الجهاز كون المنفذ 21 هو المنفذ الافتراضي الخاص بخدمة الـ FTP مع
العلم أن مدير السيرفر يستطيع تغيير المنفذ الافتراضي لأي خدمة يريد وبهذه
الحالة سنعتمد على الـ Header الخاص بالخدمة لمعرفة المنفذ الذي تعمل عليه.
2- SYN Stealth Scan:
أكثر الأساليب انتشارا في فحص المنافذ ويدعى أيضا half-open scanning لأنه
لن يقوم بعمل اتصال TCP كامل فعوضا عن استخدام TCP connect والاعتماد على
النظام في انشاء اتصال ستقوم أداة Nmap بانشاء وارسال Packet من نوع SYN
وهي الـ Packet الخاصة ببدأ اتصال مع النظام وفي حال حصلنا على رد من
النظام الذي نقوم بفحصة (Packet من نوع SYN-ACK) هذا يعني أن المنفذ مفتوح
ويمكننا استخدامه بتنفيذ الأمر التالي (سنحتاج لصلاحيات root):
nmap -sS 192.168.0.1
3- UDP Scan:
في هذا الأسلوب سيقوم برنامج Nmap بارسال UDP Packet فارغة (0-byte)
وينتظر الرد من الجهاز الذي نقوم بفحصه فاذا لم نحصل على رد هذا يعني أن
المنفذ مفتوح أما اذا كان المنفذ مغلق فسيرسل لنا الجهاز Packet من نوع
ICMP تخبرنا أن المنفذ مغلق مع العلم أنه اذا كان المنفذ محظور من الجدار
الناري سيظهر لنا أن المنفذ مفتوح أما اذا تم حظر الرد (ICMP Packet)
فسيظهر لنا أن جميع المنافذ مفتوحة! يمكننا استخدام هذا الأسلوب بتنفيذ
الأمر التالي:
nmap -sU 192.168.0.1
4- ACK Scan:
نستخدم هذا الأسلوب في اكتشاف قوانين الجدار الناري ومعرفة اذا كان المنفذ
الذي نفحصه مفلتر أم لا حيث سيقوم برنامج Nmap بارسال Packet من نوع ACK
عوضا عن SYN وهذا أمر خاطئ فالاتصال يبدأ بـ SYN وليس بـ ACK لذلك سيقوم
الجاهز الذي نفحصه بارسال Packet من نوع RST لاعادة الاتصال وبهذه الحالة
نعلم أن المنفذ غير مفلتر ولا يوجد جدار ناري يمنع ارسال Packet من نوع RST
أما اذا كان يوجد جدار ناري فلن نحصل على اي رد وهكذا نعلم أن المنفذ
مفلتر (filtered) مع العلم أن هذا الأسلوب لن يظهر لنا ان كان المنفذ مفتوح
أم مغلق ولكنه سيظهر ان كان المنفذ مفلتر أم لا, نستخدم هذا الأسلوب
بتنفيذ الأمر:
nmap -sA -p 80 192.168.0.1
استخدمنا الأمر السابق بفرض أن 192.168.0.1 هو الجهاز الذي نفحصه و 80 هو المنفذ الذي نختبره.
5- IP Protocol Scan:
في هذا الأسلوب يختلف عن الأساليب السابقة حيث سيقوم برنامج Nmap بارسال
IP Packet للبروتوكولات الموجودة في الجهاز فاذا كان البروتوكول غير مستخدم
سيقوم الجهاز بارسال رد عبارة عن Packet من نوع ICMP تخبرنا بذلك بغير هذه
الحالة هذا يعني أن البروتوكول مستخدم, يمكننا استخدام هذا الأسلوب بتنفيذ
الأمر التالي:
nmap -sO 192.168.0.1
6- Version Detection Scan:
يمكننا هذا الأسلوب من فحص المنافذ المفتوحة ومعرفة الخدمات التي تعمل
وتحديد اصداراتها أيضا حيث سيقوم برنامج Nmap بجمع معلومات عن الخدمات التي
تعمل بالنظام الذي نفحصه ويفيدنا باكتشاف الثغرات الموجودة فبمجرد معرفتنا
للخدمات التي تعمل في النظام وتحديد اصداراتها يمكننا استخدام مشروع ثغرات
Metasploit مثلا أو استغلال أي ثغرة remote لاختراق النظام عن بعد (Black
Hat Hackers Wins!) يمكننا استخدام هذا الأسلوب بتنفيذ الأمر التالي:
nmap -sV 192.168.0.1
7- Ping Scan:
نستفيد من هذا الأسلوب في فحص نطاق شبكة ومعرفة اذا كان الجهاز يعمل أم لا
حيث سيقوم برنامج Nmap بارسال Packet من نوع ICMP وهي نفسها التي نقوم
بارسالها عندما ننفذ الأمر ping للتأكد ان كان الجهاز موجود بالشبكة اذا
وصلنا رد من الجهاز هذا يعني أن الجهاز يعمل أما في حال لم نحصل على أي رد
بسبب وجود جدار ناري يحجب الـ ICMP Packet مثلا سيقوم برنامج Nmap بعمل TCP
Ping فاذا حصلنا على رد من نوع RST أو ACK هذا يعني أن الجهاز يعمل بغير
هذه الحالة يعني أن النظام لا يعمل أو أن المنفذ الذي اخترناه مفلتر,
يمكننا استخدام هذا الأسلوب بتنفيذ الأمر:
nmap -sP 192.168.0.1-255
ليفحص جميع الأجهزة الموجودة في النطاق 192.168.0.1 وحتى 192.168.0.225 أو عن طريق الأمر:
nmap -sP 192.168.0.1/24
هذا الأمر مثل الأمر السابق تماما فبما أن النطاق Class C
هذا يعني أن الـ Netmask: 255.255.255.0 وهذا سيعطينا نفس النطاق السابق,
أما اذا أردنا اختيار منفذ محدد ليتم فحصه مثلا 80 وهو المنفذ الافتراضي
الخاص بالـ Webserver, نستخدم الأمر التالي:
nmap -sP -p 80 192.168.0.1-255
يحتوي برنامج Nmap على خيارات أخرى كثيرة
ويمكننا استخدامهم مع بعض بالشكل الذي نريد فمثلا لنفرض أننا نريد فحص
المنافذ التالية فقط (21,22,53,80) بجميع الأجهزة الموجودة بالشبكة, اذاً
كل ماعلينا هو تنفيذ الأمر التالي:
nmap -sS -p 21,22,53,80 192.168.0.1-255
يمكننا كذلك اضافة -v لجعل عملية الفحص
بشكل مرئي أمامنا فهي تفيدنا في حال فحص نطاق شبكة كبير مثلا أو لأننا لم
نرغب بالانتظار حتى النهاية لمشاهدة جميع النتائج, نقوم بذلك بتنفيذ الأمر:
nmap -sS -v -p 21,22,53,80 192.168.0.1-255
لنفرض أننا نريد فحص المنافذ المفتوحة في الجهاز الذي نستخدمه من المنفذ رقم 1 وحتى 100:
nmap -sS -p 1-100 127.0.0.1
من ميزات برنامج Nmap أيضا قدرته على معرفة نظام التشغيل عن بعد, كل ماعلينا هو استخدام الأمر التالي لعمل Remote OS Fingerprint:
nmap -O -v 192.168.0.1
أو يمكننا استخدام أمر أكثر شمولية يجمع لنا معلومات عن النظام وجميع الخدمات التي تعمل عليه باستخدام الأمر التالي:
nmap -sS -A 192.168.0.1
طبعا كما قلت سابقا يمكننا استخدام جميع
الأوامر السابقة مع بعضها البعض فمثلا ان أردنا من البرنامج تحديد نوعية
التظام وجمع معلومات عن المنفذ 80 فقط نستطيع تنفيذ الأمر:
nmap -sS -A -p 80 192.168.0.1
ومن خيارات برنامج Nmap أيضا هو الفحص
السريع حيث يقوم البرنامج بفحص المنافذ الأكثر شهرة فقط, نستفيد منه في حال
قيامنا بفحص عدد كبير من الأجهزة ويمكننا استخدامه بتنفيذ الأمر:
nmap -sS -F 192.168.0.1-255
ويستطيع برنامج Nmap تصدير نتائج الفحص الى ملف خارجي بسهولة, باستخدام احدى الأوامر التالية:
nmap -sS -oN log.txt 192.168.0.1
nmap -sS -oX log.xml 192.168.0.1
أما آخر شيء سأقوم بذكره هي طرق تفيد الـ
Black Hat Hackers! وتصعّب عملية اكتشاف عملية الفحص من قبل مدير الشبكة,
لنفرض مثلا أننا نريد فحص السيرفر الموجود في الشبكة لكن أغلبنا يعلم اذا
كان مدير الشبكة شخص محترف أو يستخدم IDS مثلا يمكنه وبكل سهولة اكتشاف من يقوم بفحص المنافذ لذلك يمكننا استخدام الأمر:
nmap -sS -f 192.168.0.1
الأمر السابق سيقوم بتجزئة الـ IP Packet
لعدة أقسام عند ارسالها مما سيصعب أمر تجميعها على الجدار الناري أو يمكننا
استخدام خيار أكثر خطورة مثل:
nmap -sS -D 192.168.0.2, 192.168.0.3, 192.168.0.4 192.168.0.1
الخيار السابق سيجعل الأدمن يظن أن
الآيبيات التالية: 192.168.0.2 + 192.168.0.3 + 192.168.0.4 بالاضافة لآيبي
الجهاز الذي نستخدمه جميعهم يقومون بفحص السيرفر وبهذه الحالة لن يعرف من
هو الشخص الحقيقي الذي يقوم بعملية الفحص!
جميع ماذكرته سابقا يمكننا تنفيذه من خلال
سطر الأوامر وكما قلت في أول الموضوع يوجد واجهة رسومية لبرنامج Nmap
متطورة وجميلة تدعى Zenmap وتمكننا من تطبيق الأوامر المذكورة في الشرح
داخلها فهي تسهل عملية الفحص بعض الشيء ويوجد بها ميزات جميلة مثل رسم مخطط
للشبكة واظهار الخدمات والمنافذ المفتوحة بطريقة منظمة وجميلة كما أنها
تحتوي على Profiles جاهزة يمكننا استخدامها, تعديلها أو حتى اضافة Profile
خاص بنا بالخصائص والخيارات التي نريدها.
صور لبرنامج Zenmap أثناء عمله على جهازي
هذا كل شيء بالنسبة للموضوع, أعلم أنه
طويل بعض الشيء لكنه رغم ذلك لا يغطي جميع امكانيات برنامج Nmap مع العلم
بوجود أساليب فحص وخيارات أخرى كثيرة لم أتطرق لها وسأترككم لتكتشفوها
بأنفسكم. بالنهاية أتمنى مراعاة أن كتابة هذا الموضوع وتنسيقه أخذ الكثير
من الوقت وهو خاص بالمدونة ويمنع نقله بشكل كامل دون الاشارة برابط للمصدر!
موقع برنامج Nmap | صفحة التحميل | الوثائق المرفقة
Network Mapper أو Nmap اختصارا هو برنامج
مجاني ومفتوح المصدر خاص بفحص الشبكات والأنظمة ويعتبر من أقوى البرامج
التي يستخدمها الهاكرز والـ Penetration Testers وحتى خبراء الحماية ومدراء
الشبكات أيضا. بدأ Nmap كبرنامج بسيط لفحص المنافذ لكنه تطور بشكل كبير
خلال السنوات الماضية وأضيفت عليه الكثير من الميزات جعلت منه Securtiy
Scanner فالبرنامج قادر على فحص نطاق شبكة كامل وفحص الأجهزة الموجودة فيها
وتحديد المنافذ والخدمات التي يستخدمها بالاضافة لقدرته على عمل Remote OS
Fingerprint أي تحديد نظام التشغيل الذي يعمل بالجهاز عن بعد والكثير
الكثير من الأمور والميزات الأخرى.
لن أستطيع تغطية برنامج Nmap بشكل كامل في
هذا الموضوع فالبرنامج ضخم وتم تأليف كتب كاملة عنه لاحتوائه على الكثير
من الميزات والخيارات المتقدمة لكنه بنفس الوقت سهل الاستخدام لاحتواء Nmap
على خيارات بسيطة وعملية بالاضافة لوجود واجهة رسومية جميلة تدعى Zenmap.
تعتبر عملية فحص المنافذ هي المهمة
الأساسية لبرنامج Nmap وتكمن قوة البرنامج باحتوائه على خيارات كثيرة
ومتقدمة وتوفيره لجميع الطرق المعروفة, ففحص المنافذ لا يتم بطريقة واحدة
كما يظن البعض بل يوجد عدة أساليب وطرق متوفرة لكن قبل التطرق لها سأوضح
معلومات أساسية عن بروتوكول TCP/IP فكما جميعنا يعلم يتم تحديد IP Address لكل جهاز متصل بالشبكة وعندما نريد الاتصال بهذا الجهاز يتم فتح منفذ (بين الرقم 1 وحتى 65536)
لنتمكن من ارسال المعلومات له ولنفرض مثلا أن الجهاز A يريد الاتصال
بالجهاز B عن طريق المنفذ رقم 22 وهو المنفذ الافتراضي لخدمة الـ SSH في
البداية سيرسل الجهاز A طلب للجهاز B فاذا كان المنفذ مفتوح ولايوجد جدار
ناري يمنع الاتصال سيقوم الجهاز B بارسال رد للجهاز A يخبره أن المنفذ
مفتوح وأنه قبل الاتصال فيقوم الجهاز A بتكملة العملية والاتصال مع الجهاز B
عن طريق المنفذ السابق أما اذا كان المنفذ 22 مغلق سيرسل الجهاز B رد يخبر
به الجهاز A أن المنفذ مغلق أو غير مستخدم وبهذه الحالة سيقوم الجهاز A
باغلاق الاتصال أما اذا لم يحصل الجهاز A على أي رد من الجهاز B هذا يعني
أن المنفذ مفلتر أو بالأحرى محظور بسبب وجود جدار ناري يمنع الاتصال مثلا
أو أن النظام لا يعمل أو غير موجود من الأساس!
ماذكرته سابقا هو الاسلوب المبسط الذي
يوضح فكرة الاتصال وفحص المنافذ بشكل عام لكن في بروتوكول TCP/IP كل شيء
يتم عن طريق Packets مثل ICMP, FIN, ACK, SYN… لكني لن أتطرق لها كثيرا ومن
أراد التوسع أنصحه أن يقرأ عن بروتوكول TCP وأن يقرأ أيضا عن الـ OSI model
ويعرف كيف يتم الاتصال ونقل البيانات في الشبكة بشكل مفصّل فأنا لا أريد
الدخول بتفاصيل أكثر من ذلك وبنفس الوقت كان من الضروري أن أذكر المقدمة
السابقة فما يهمني هو أن يفهم البعض كيف تعمل الأداة ثم أن يتعرفوا على
طريقة استخدامها.
كما قلت سابقا يوجد عدة أساليب وطرق
مستخدمة في فحص المنافذ والشبكات باستخدام برنامج Nmap سأستخدم في الشرح
نظام Linux والاصدار 4.76 من Nmap مع العلم أن البرنامج متوفر على عدة
أنظمة تشغيل مثل Windows, Linux, Unix… ويمكن تنفيذ جميع ماذكر بالموضوع
على أي نظام آخر لكن شخصيا أفضل وأنصح باستخدام نظام GNU/Linux أو احدى
أنظمة Unix في هذه الأمور.
الشرح للغرض العلمي فقط!
وهو للتعريف بهذه الأنواع من البرامج وتوضيح طريقة استخدامها. أنا لا أشجع
ولا بأي شكل من الأشكال على استخدام هذا البرنامج بشكل غير قانوني أو
خارج نطاق شبكتك الخاصة وأنت وحدك تتحمل نتيجة استخداماتك!
1- TCP connect: وهو أبسط الأساليب المستخدمة في فحص المنافذ ويستعمل في أنظمة Unix للبدء باتصال TCP ويمكننا استخدامه بتنفيذ الأمر التالي:
nmap -sT 192.168.0.1
بفرض أن 192.168.0.1 هو الجهاز الذي نريد
فحصه وبهذه الحالة سيحاول برنامج Nmap الاتصال بالجهاز بطريقة عادية فمثلا
اذا تمكن برنامج Nmap من الاتصال بالمنفذ 21 هذا يعني ان خدمة الـ FTP تعمل
على الجهاز كون المنفذ 21 هو المنفذ الافتراضي الخاص بخدمة الـ FTP مع
العلم أن مدير السيرفر يستطيع تغيير المنفذ الافتراضي لأي خدمة يريد وبهذه
الحالة سنعتمد على الـ Header الخاص بالخدمة لمعرفة المنفذ الذي تعمل عليه.
2- SYN Stealth Scan:
أكثر الأساليب انتشارا في فحص المنافذ ويدعى أيضا half-open scanning لأنه
لن يقوم بعمل اتصال TCP كامل فعوضا عن استخدام TCP connect والاعتماد على
النظام في انشاء اتصال ستقوم أداة Nmap بانشاء وارسال Packet من نوع SYN
وهي الـ Packet الخاصة ببدأ اتصال مع النظام وفي حال حصلنا على رد من
النظام الذي نقوم بفحصة (Packet من نوع SYN-ACK) هذا يعني أن المنفذ مفتوح
ويمكننا استخدامه بتنفيذ الأمر التالي (سنحتاج لصلاحيات root):
nmap -sS 192.168.0.1
3- UDP Scan:
في هذا الأسلوب سيقوم برنامج Nmap بارسال UDP Packet فارغة (0-byte)
وينتظر الرد من الجهاز الذي نقوم بفحصه فاذا لم نحصل على رد هذا يعني أن
المنفذ مفتوح أما اذا كان المنفذ مغلق فسيرسل لنا الجهاز Packet من نوع
ICMP تخبرنا أن المنفذ مغلق مع العلم أنه اذا كان المنفذ محظور من الجدار
الناري سيظهر لنا أن المنفذ مفتوح أما اذا تم حظر الرد (ICMP Packet)
فسيظهر لنا أن جميع المنافذ مفتوحة! يمكننا استخدام هذا الأسلوب بتنفيذ
الأمر التالي:
nmap -sU 192.168.0.1
4- ACK Scan:
نستخدم هذا الأسلوب في اكتشاف قوانين الجدار الناري ومعرفة اذا كان المنفذ
الذي نفحصه مفلتر أم لا حيث سيقوم برنامج Nmap بارسال Packet من نوع ACK
عوضا عن SYN وهذا أمر خاطئ فالاتصال يبدأ بـ SYN وليس بـ ACK لذلك سيقوم
الجاهز الذي نفحصه بارسال Packet من نوع RST لاعادة الاتصال وبهذه الحالة
نعلم أن المنفذ غير مفلتر ولا يوجد جدار ناري يمنع ارسال Packet من نوع RST
أما اذا كان يوجد جدار ناري فلن نحصل على اي رد وهكذا نعلم أن المنفذ
مفلتر (filtered) مع العلم أن هذا الأسلوب لن يظهر لنا ان كان المنفذ مفتوح
أم مغلق ولكنه سيظهر ان كان المنفذ مفلتر أم لا, نستخدم هذا الأسلوب
بتنفيذ الأمر:
nmap -sA -p 80 192.168.0.1
استخدمنا الأمر السابق بفرض أن 192.168.0.1 هو الجهاز الذي نفحصه و 80 هو المنفذ الذي نختبره.
5- IP Protocol Scan:
في هذا الأسلوب يختلف عن الأساليب السابقة حيث سيقوم برنامج Nmap بارسال
IP Packet للبروتوكولات الموجودة في الجهاز فاذا كان البروتوكول غير مستخدم
سيقوم الجهاز بارسال رد عبارة عن Packet من نوع ICMP تخبرنا بذلك بغير هذه
الحالة هذا يعني أن البروتوكول مستخدم, يمكننا استخدام هذا الأسلوب بتنفيذ
الأمر التالي:
nmap -sO 192.168.0.1
6- Version Detection Scan:
يمكننا هذا الأسلوب من فحص المنافذ المفتوحة ومعرفة الخدمات التي تعمل
وتحديد اصداراتها أيضا حيث سيقوم برنامج Nmap بجمع معلومات عن الخدمات التي
تعمل بالنظام الذي نفحصه ويفيدنا باكتشاف الثغرات الموجودة فبمجرد معرفتنا
للخدمات التي تعمل في النظام وتحديد اصداراتها يمكننا استخدام مشروع ثغرات
Metasploit مثلا أو استغلال أي ثغرة remote لاختراق النظام عن بعد (Black
Hat Hackers Wins!) يمكننا استخدام هذا الأسلوب بتنفيذ الأمر التالي:
nmap -sV 192.168.0.1
7- Ping Scan:
نستفيد من هذا الأسلوب في فحص نطاق شبكة ومعرفة اذا كان الجهاز يعمل أم لا
حيث سيقوم برنامج Nmap بارسال Packet من نوع ICMP وهي نفسها التي نقوم
بارسالها عندما ننفذ الأمر ping للتأكد ان كان الجهاز موجود بالشبكة اذا
وصلنا رد من الجهاز هذا يعني أن الجهاز يعمل أما في حال لم نحصل على أي رد
بسبب وجود جدار ناري يحجب الـ ICMP Packet مثلا سيقوم برنامج Nmap بعمل TCP
Ping فاذا حصلنا على رد من نوع RST أو ACK هذا يعني أن الجهاز يعمل بغير
هذه الحالة يعني أن النظام لا يعمل أو أن المنفذ الذي اخترناه مفلتر,
يمكننا استخدام هذا الأسلوب بتنفيذ الأمر:
nmap -sP 192.168.0.1-255
ليفحص جميع الأجهزة الموجودة في النطاق 192.168.0.1 وحتى 192.168.0.225 أو عن طريق الأمر:
nmap -sP 192.168.0.1/24
هذا الأمر مثل الأمر السابق تماما فبما أن النطاق Class C
هذا يعني أن الـ Netmask: 255.255.255.0 وهذا سيعطينا نفس النطاق السابق,
أما اذا أردنا اختيار منفذ محدد ليتم فحصه مثلا 80 وهو المنفذ الافتراضي
الخاص بالـ Webserver, نستخدم الأمر التالي:
nmap -sP -p 80 192.168.0.1-255
يحتوي برنامج Nmap على خيارات أخرى كثيرة
ويمكننا استخدامهم مع بعض بالشكل الذي نريد فمثلا لنفرض أننا نريد فحص
المنافذ التالية فقط (21,22,53,80) بجميع الأجهزة الموجودة بالشبكة, اذاً
كل ماعلينا هو تنفيذ الأمر التالي:
nmap -sS -p 21,22,53,80 192.168.0.1-255
يمكننا كذلك اضافة -v لجعل عملية الفحص
بشكل مرئي أمامنا فهي تفيدنا في حال فحص نطاق شبكة كبير مثلا أو لأننا لم
نرغب بالانتظار حتى النهاية لمشاهدة جميع النتائج, نقوم بذلك بتنفيذ الأمر:
nmap -sS -v -p 21,22,53,80 192.168.0.1-255
لنفرض أننا نريد فحص المنافذ المفتوحة في الجهاز الذي نستخدمه من المنفذ رقم 1 وحتى 100:
nmap -sS -p 1-100 127.0.0.1
من ميزات برنامج Nmap أيضا قدرته على معرفة نظام التشغيل عن بعد, كل ماعلينا هو استخدام الأمر التالي لعمل Remote OS Fingerprint:
nmap -O -v 192.168.0.1
أو يمكننا استخدام أمر أكثر شمولية يجمع لنا معلومات عن النظام وجميع الخدمات التي تعمل عليه باستخدام الأمر التالي:
nmap -sS -A 192.168.0.1
طبعا كما قلت سابقا يمكننا استخدام جميع
الأوامر السابقة مع بعضها البعض فمثلا ان أردنا من البرنامج تحديد نوعية
التظام وجمع معلومات عن المنفذ 80 فقط نستطيع تنفيذ الأمر:
nmap -sS -A -p 80 192.168.0.1
ومن خيارات برنامج Nmap أيضا هو الفحص
السريع حيث يقوم البرنامج بفحص المنافذ الأكثر شهرة فقط, نستفيد منه في حال
قيامنا بفحص عدد كبير من الأجهزة ويمكننا استخدامه بتنفيذ الأمر:
nmap -sS -F 192.168.0.1-255
ويستطيع برنامج Nmap تصدير نتائج الفحص الى ملف خارجي بسهولة, باستخدام احدى الأوامر التالية:
nmap -sS -oN log.txt 192.168.0.1
nmap -sS -oX log.xml 192.168.0.1
أما آخر شيء سأقوم بذكره هي طرق تفيد الـ
Black Hat Hackers! وتصعّب عملية اكتشاف عملية الفحص من قبل مدير الشبكة,
لنفرض مثلا أننا نريد فحص السيرفر الموجود في الشبكة لكن أغلبنا يعلم اذا
كان مدير الشبكة شخص محترف أو يستخدم IDS مثلا يمكنه وبكل سهولة اكتشاف من يقوم بفحص المنافذ لذلك يمكننا استخدام الأمر:
nmap -sS -f 192.168.0.1
الأمر السابق سيقوم بتجزئة الـ IP Packet
لعدة أقسام عند ارسالها مما سيصعب أمر تجميعها على الجدار الناري أو يمكننا
استخدام خيار أكثر خطورة مثل:
nmap -sS -D 192.168.0.2, 192.168.0.3, 192.168.0.4 192.168.0.1
الخيار السابق سيجعل الأدمن يظن أن
الآيبيات التالية: 192.168.0.2 + 192.168.0.3 + 192.168.0.4 بالاضافة لآيبي
الجهاز الذي نستخدمه جميعهم يقومون بفحص السيرفر وبهذه الحالة لن يعرف من
هو الشخص الحقيقي الذي يقوم بعملية الفحص!
جميع ماذكرته سابقا يمكننا تنفيذه من خلال
سطر الأوامر وكما قلت في أول الموضوع يوجد واجهة رسومية لبرنامج Nmap
متطورة وجميلة تدعى Zenmap وتمكننا من تطبيق الأوامر المذكورة في الشرح
داخلها فهي تسهل عملية الفحص بعض الشيء ويوجد بها ميزات جميلة مثل رسم مخطط
للشبكة واظهار الخدمات والمنافذ المفتوحة بطريقة منظمة وجميلة كما أنها
تحتوي على Profiles جاهزة يمكننا استخدامها, تعديلها أو حتى اضافة Profile
خاص بنا بالخصائص والخيارات التي نريدها.
صور لبرنامج Zenmap أثناء عمله على جهازي
هذا كل شيء بالنسبة للموضوع, أعلم أنه
طويل بعض الشيء لكنه رغم ذلك لا يغطي جميع امكانيات برنامج Nmap مع العلم
بوجود أساليب فحص وخيارات أخرى كثيرة لم أتطرق لها وسأترككم لتكتشفوها
بأنفسكم. بالنهاية أتمنى مراعاة أن كتابة هذا الموضوع وتنسيقه أخذ الكثير
من الوقت وهو خاص بالمدونة ويمنع نقله بشكل كامل دون الاشارة برابط للمصدر!
موقع برنامج Nmap | صفحة التحميل | الوثائق المرفقة
الثلاثاء مايو 26, 2015 9:18 am من طرف ahmed-swantime
» دورة اختراق الاجهزة
السبت أكتوبر 11, 2014 12:10 am من طرف خالدالجوراني
» ما هو درجة أعجابك بالمنتدى ؟
الثلاثاء سبتمبر 23, 2014 2:06 pm من طرف قاهر الخرفان
» تحميل برنامج E-mail Password Cracker 2010 V1.0, email hacking, hack email, mote de pass, msn password, passwprd اخترق اي اميل في العالم في بضع ثواني مع البرنامج الجديد
الأحد سبتمبر 07, 2014 7:08 pm من طرف zzz123
» تحميل اعضم برنامج اختراق البريد و العضويات بين يديك الان Login Spoofer !
الجمعة سبتمبر 05, 2014 8:52 am من طرف المطيري
» تحميل برنامج اختراق الايميلات ياهو \ هوتميل\ E-mail Password Cracker
السبت أغسطس 16, 2014 4:25 pm من طرف dehooo
» ثغرة سهلة جدا جاهزة للمبتدئين + شرح بسيط لاختراق المواقع
الخميس يوليو 10, 2014 5:40 am من طرف sifeamine11
» مسااعدة
الأربعاء مايو 14, 2014 9:01 am من طرف evano
» مساااااااااااااعدة لو سمحتو
الأربعاء مايو 14, 2014 8:58 am من طرف evano