كيفكم ياأعضاء منتديات جيوش الهكر ، نسأل الله أن تكونوا على خير حال ،،، اليوم راح نتناول شرح لأداة عملاقة وتعتبر من أهم أدوات فحص الأنظمة والشبكات انها اداة Nmap ونظرا لأن شرح الأداة ومهامها بالتفصيل يعتبر واسع فسوف نتناولها في عدة مواضيع وبشكل حصري لم يسبق وأن طرح في أي منتدى عربي ، لنتابع ... كلمة Nmap هو اختصار لعبارة Network Mapper وهو برنامج مجاني ومفتوح المصدر خاص بفحص الشبكات والأنظمة ويعتبر من أقوى البرامج التي يستخدمها الهاكرز والـ 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 بجمع معلومات عن الخدمات التي تعمل بالنظام الذي نفحصه ويفيدنا باكتشاف الثغرات الموجودة فبمجرد معرفتنا للخدمات التي تعمل في النظام وتحديد اصداراتها يمكننا استخدام مشروع ثغرات ****sploit مثلا أو استغلال أي ثغرة 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 -sT 192.168.0.1
nmap -sS 192.168.0.1
nmap -sU 192.168.0.1
nmap -sA -p 80 192.168.0.1
nmap -sO 192.168.0.1
nmap -sV 192.168.0.1
nmap -sP 192.168.0.1-255
nmap -sP 192.168.0.1/24
nmap -sP -p 80 192.168.0.1-255
I love Yemen
مشكور على المعلومات
مكشكووووووووووووووووووررر ررررررررر
طلبت من القلم إنه يرسمك. . .رد بكل خجل ما أقدر أخدمك ! سألته ويش السبب ؟قال أنا أعرف أرسم : شجرأرسم : قمرأرسم : زهرأرسم : نهرأرسم : غيمة مطرلكن . !ما أعرف أرسم ملاك على هيئه بشر . . ؟
مشكوووووووووووووووور
نريد تكملة الموضوع موضوع اكثر من روعة
بارك الله فيك اخي
شكرا على الشرح
السلام عليكم ورحمة الله وبركاته مشكور على الطرح الاثر من رائع وشكرا لك وبارك الله فيك تقبل مروري المتواضع...
وااااصل يامبدع
[IMG]http://www7.0zz0.com/2010/09/10/01/873378380.gif[/IMG] [IMG]http://www3.0zz0.com/2010/09/10/01/956300772.jpg[/IMG] Will Be BaCK Soon
كتبت فأبدعت .. وعبرت عن موضوعك فأحسنت .. جهد طيب وشرح أطيب . ... دمت في تألق وابداع يتحياتي لك ,,,,,
إن المحبة الصادقة كعلاقة اليد بالعين إذا تألمت اليد دمعت العين وإذا دمعت العين مسحتها اليد
قوانين المنتدى