مقال : إستخدام Nmap لفحص المنافذ على طريقة النينجا
مقال يتكلم عن أساليب فحص المنافذ المختلفة والخصائص التي توفرها أداة Nmap مثل half-open stealth scan , fin scan , xmas scan و null scan مع إجراء مقارنة سريعة فيما بينهم لعرض ميزات ومساوء كل واحد منهم.
لطالما شاهدنا افلاما وقرأنا قصصا تتكلم عن هذا النوع من المقاتلين الاسطوريين مقاتلي الـ Ninja والذين يتمتعون بالرشاقة والحركات القتالية المذهلة والتخفي ايضا!
سوف نتعلم في هذا المقال كيف نصبح كالنينجا موجودين لكن لايشعر بنا أحد ونستطيع ان نرى كل شيء لكن لاأحد يراك نخرج وندخل كالاشباح لا يلحظنا أحد.
مقدمة:
أداة Nmap احدى اقوى الادوات عالميا في عمل Scanning للشبكات وتحتوي على اساليب عديدة تقريبا 50 اسلوب للفحص منها اساليب بسيطة يمكن كشفها والتصدي لها بسهولة ومنها اساليب اكثر تعقيدا واحترافية تجعل اكتشافنا اثناء الفحص اكثر صعوبة وهذا جدول يقوم بتوضيح بعض اشهر هذه الاساليب ومميزاتها:
عموما سوف احاول بقدر الإمكان القاء الضوء على تفاصيل هذه الاساليب ولكن قبل أن نبدأ تأكد انك قد مررت على الامور التالية والتي تعتبر من الاشياء الاساسية لتفهم هذا المقال جيدا:
- تأكد من فهمك لااساسيات اداة Nmap وهناك مقال ارشحه لكم يغطي اساسيات الNmap بشكل جيد وهو مقال المدون عبد المهيمن الأغا.
- تحتاج خلفية جيدة عن نموذج OSI.
- تحتاج خلفية جيدة عن بعض البرتكولات: TCP/IP-IP-ICMP-UDP.
Tcp handshaking mechanism
في هذه الفقرة سنتحدث عن عملية المصافحة handshake التي تتم عند عمل بدء اي جلسة اتصال تعتمد على بروتوكول Tcp والتي من المهم جدا فهمها لان اغلب الفقرات التالية تعتمد عليها. عموما لكي نفهم هذه العملية جيدا يجدر بنا ان نتذكر ماذا نفعل عندما نقابل شخص ما في طريقنا:
- اولا: ستقول السلام عليكم.
- ثانيا: سيرد عليك الشخص الذي قابلته السلام ثم سيقوم بمد يديه ليسلم عليك.
- رابعا: ستمد يديك وتمسك بيده لتسلم عليه.
- خامسا: تبدأ جلسة اتصال على هيئة حوار متبادل بينكما.
نفس الكلام هنا ايضا عندما يريد اي نظام الاتصال بنظام اخر سوف يقوم بالقاء التحية عليه اولا بارسال حزم Syn فيقوم النظام المقابل بالرد عليه اما بحزمة syn/ack فيتم الرد من الـ source system بحزمة من نوع Ack وتتم عملية الاتصال او يقوم الـ destination بارسال حزمة من نوع RST ليتم رفض الاتصال.
SYN Scanning
سوف نتكلم في هذه الفقرة عن syn scan والذي يسمى ايضا بـ half stealth scan وسنعرف لماذا سمي بهذا الاسم.
عموما حتى نفهم هذا النوع من الفحص سوف اقوم باعطاء مثال كما نرى في الصورة رقم 1 عندما قام الـ source ip بارسال حزم من نوع Syn لفحص حالة المنفذ 80 قام الـ destination ip بارسال حزمة من نوع RST معلنا بذلك نهاية جلسة الاتصال قبل بدأها وهذا يعني ان هذا المنفذ مغلق.
في الصورة رقم 2 كما نرى يقوم الـ source system بارسال حزم frame من نوع syn للـ destination على المنفذ 80 فيقوم الـ destination بارسال حزمة من نوع Syn/Ack وهذا يعني ان المنفذ مفتوح ومن ثم يقوم الـ source بارسال حزمة من نوع RST لانهاء جلسة الاتصال ايضا قبل بدأها!!
لماذ يسمى هذا النوع من الفحص باسم half-open stealth scan؟
إن كنت لاحظت عزيزي القارئ وركزت جيدا في عمل هذا الفحص سوف تجد انه لاتتم عملية المصافحة handshake بشكل كامل وكأن الـ destination قام بمد يده لاكمال مصافة الـ source ولكن الأخير أنهى الجلسة عوضاً عن اتمام عملية الاتصال.
مميزات هذا النوع من الفحص:
يعد هذا الاسلوب احد افضل اساليب الفحص في اداة nmap واشهرها في الاستخدام لكفائته في العمل على جميع الانظمة والشبكات. أيضا بما ان هذا الفحص لايقوم بفتح جلسة اتصال كاملة فهذا يعني انه لن يتم تسجيل logs لهذا الفحص ولهذا يعد هذا الفحص احد افضل اساليب التخفي اثناء فحص هدف معين.
عيوب هذا النوع من الفحص:
يحتاج لـ privileged access حتى يتم تنفيذه وه
مثال تطبيقي للفحص باستخدام هذا النوع انظر للصورة:
Manipulation of Flag bits technique
هذه الفقرة تتطلب فهم جيد لبرتكول Tcp حتى تفهم مامعنى التلاعب بالflag bits الخاصة بالTcp frames قبل أن تفهم آلية عمل هذه الأساليب والتقنيات التي سستخدمها للفحص.
Fin scanning
سنتكلم في هذه الفقرة عن Fin scan وسوف اقوم بشرحها بالصور الفقرات السابقة ولكن قبل ان تقرا هذه الفقرة أشدد على فهم TCP Protocol بشكل جيد لان هناك أشياء في هذه الفقرة والفقرات القادمة ستكون كالطلاسم ان لم تكن على دراية وفهم جيد لهذا البروتوكول.
عندما ننظر للصورة نجد أن الـ source يقوم بارسال حزمة Fin الى المنفذ 80 من خلال ضبط اعدادات Flage header الخاصة بالحزمة التي سنرسلها حيث ستكون قيمة Fin Flage=1 وباقي البيتات الخاصة بالـ Flags الاخرى مثل Syn و Ack flag وغيرها تكون مضبوطة قيمتها على 0 وبالمقابل يقوم الـ destination بارسال استجابة من نوع RST معلنا بهذا أن المنفذ 80 مغلق.
في الصورة الثانية نجد أن الـ source ip يقوم بارسال حزمة من نوع Fin على المنفذ 80 لكن كما نرى لايوجد استجابة من هذا المنفذ في الـ destination system في هذه الحالة إن قلنا أن هذا المنفذ مفتوح فحسب فنحن مخطئين وإن قلنا المنفذ محمي بجدار ناري فحسب فنحن مخطئين أيضا وانما سنقول المنفذ مفتوح او مفلتر بحيث ستظهر النتائج في اداة nmap بهذا الشكل:
Filtered|Openانظر الصورة التالية مثال تطبيقي لهذا النوع من الفحص:
Xmas scanning:
في هذه الفقرة سوف نتكلم عن xmas scan والذي يسمى أيضا بالـ Christmas scan وسوف نعرف سبب هذه التسمية بعد القليل. هذا النوع من الفحص يشبه في اسلوبه تماما اسلوب Fin scan عدى اننا بدلا من ان نقوم بضبط الـ Flag واحد فقط سوف نقوم بضبط اعدادات قيمة اكثر من Flag مثلا نقوم بظبط اعدادات urgent flag والـ Fin flag و push flag بحيث تصبح قيمتهم 1 اذا كنت فهمت عمل بروتوكول Tcp جيدا سوف تعلم ان شكل الـ flag bits ستكون بهذا الشكل: 00101001.
طبعا اذا كنت تذكر عزيزي القارئ 1=on و 0=off في لغة الحاسوب هذا يذكرنا بمصابيح الاحتفالات والتي تضيء on وعندما تنغلق off ومن هنا جاءت التسمية Christmas tree scan تشبيها بمصابيح الاشجار في احتفالات الكريسماس.
صورة توضيحية لمثال تطبيقي للـ xmas scan:
Null scan:
أيضا هنا نفس الفكرة لكن سوف نقوم بظبط اعدادات كل الـ Flag bits على قيمة 000000 وهذا سبب تسميتها بـ null scan.
مميزات اساليب الفحص باستخدام تقية التلاعب بالـ flag bits:
إن كنت لاحظت أم لا في الاساليب التي ذكرتها في فقرة التلاعب بالـ flag bits لا يوجد tcp handshake وهذا يعني انه لايتم تسجيل logs لمثل هذه الانواع من الفحص.
العيوب:
نحتاج الى privilege access لكي نستخدم هذه الانواع وهذه الاساليب لا تعمل على بعض الانظمة كنظام Windows.
أخيرا:
هذا الشرح للغرض العلمي فقط ولايغرك اني قلت ان هذه الاساليب جيدة للتخفي فبكل سهولة يمكن لأي ids اصطياد محاولاتك. عموما هذه بعض الاساليب البسيطة وهناك جزء اخر للمقال سوف انشره قريبا ان شاء الله يحتوي على اساليب اكثر احترافية للمراوغة evasion كتخطي الـ ids وما الى ذلك.
القاكم قريبا في مقالات اخرى.
عن الكاتب:
ياسر, طالب في كلية طب مهتم ومتعمق في اكثر من مجال علمي وبالاخص مجال الـ Hacking.
السلام عليكم
شكرا لك أخي ياسر على الطرح المميز
تحياتي
تقصد privilege access إن الشخص بدو يساوي local scanning ؟؟؟ يعني موجود عالنظام
سوف نقوم بظبط اعدادات كل الـ Flag bits على قيمة 000000 وهذا سبب تسميتها بـ null scan.
لماذا هذا الشيء يعني تكون Blind Value قصدك
+ مشكور على الطرح المميز
مشكور أخ ياسر على الموضوع , جزاك الله كل خير وبارك في علمك ,,
بالنسبة لموضوع الWindows , هي كانت تدعم إنشاء raw packets حتى إصدار حزمة الخدمات 2 للوندوز XP لمنع عمليات الddosing والعمليات الأخرى , وبهذا لن تستطيع عمل باكت مخصص 🙂
موفق إن شاء الله ,, ومنتظرين الباقي بفارغ الصبر ,,,
مشكوور جدا على هذا التوضيح لكن ما هو ال IDS أرجو التوضيح من الشباب:)
مشكور ع الشرح الجلو
بس ياريت في فحص تاني اسمه idle scan
او فحص التعطيل ياريت لو تشرحه لنااااا
بكون ممنون الك كتير
شـكــ وبارك الله فيك ـــرا لك … لك مني أجمل تحية .
hitman:
العفو اخي ومشكور على المرور.
BlzOfHK:
قصدت بالprivilege access انك تملك صلاحيات root او administrator
Mr.P3rfekT
هل تقصد لماذا قمنا بعمل turn off للflags الخاصة بالtcp frames اما ماذا؟
عموما الهدف اخي من التلاعب بالflags اننا نختبر الresponse الخاص بالtarget system
من خلال التلاعب بالflags وهذا يفيدا باشياء كثيرة كالتعرف على النظام فمثلا ان نجحنا في تطبيق هذه الاساليب يعني ان النظام ل يكون وندوز مثلا وبالتالي سنستبعد ودوز ونرفع نسبة دقة الفحص في تحديد النظام ايضا هذه الاساليب طريقة جيدة لاختبار الجدران النارية التي تقوم بفلترة الحزم بالاعتماد على نوع الflagsمثلا!!
عموما انصحك اخي لو تقوم بالاطلاع على كتاب اسمه Secrets of Network Cartography
وهو كتاب رائع جدا ومن المراجع التي اعتمدت عليها في تحضير هذا المقال.
أيضا نصيحة للجميع وكنت طلبتها في المقال وهي الاطلاع على برتكول tcp حتى تكون الامور سلسة معك.
مصطفے:
اهلا بك اخي مصطفى مشكور على المرور والاضافة الجميلة.
wesam:
ان شاء الله اخي سوف يكون هناك الكثير من المقالات عن اداة nmap الرائعة وبالتاكيد
سيكون طلبك موجود فيها باذن الله.
mrloong:
وياك اخي mrloong والله يحيك.
__________
ملاحظة:
انا ربما لن استطيع الاجابة على بعض الاستفسارات مرة اخرى الا اخرى لاسبوع بسبب الدوام الدراسي ففضلا لا امرا اتمنى من الشباب ا يعذروني اذا تاخرت عن الرد وبامكان اي شخص ايضا ان يضع سؤاله هنا وهناك قسم خاص بالاسئلة والاستفسارات بامكانك وضع سؤالك اذا كنت مستعجل وفقكم الله جميعا اخواني.
زاك الله الف خير اخ ياسر بوركت شرح روعة تحياتي لك
اهلا وسهلا بك اخي k0n$ol3
هذا مقال ممتاز ويفي بالغرض لتعرف ماهو الIDS؟
http://king-sabri.net/?p=1482
مشكورر جدا أخي على التوضيح 🙂
بارك الله فيك اخي الغالي وقد رأيت هذا المقال فيي احد المنتديات وهو جميل جدا.
تحياتي لك.
شكراً ألك شرح حلو
واذا فيك تشرح اكتر وبتفصيل اكتر انا مستعد للقرائة وشكرك مجدداً
السلام عليكم
الله يبارك فيك اخي ومشكور على المرور
نعم أخي تم نقله الى بعض المنتديات ولكن تم نشره هنا أولا في isecur1ty والمدونة الخاصة بي.
العفو اخي sam ومشكور على المرور
وان شاء الله في الجزء الثاني سيكون هناك اساليب متقدمة أكثر.
بالتوفيق
اخوك في الله ياسر
مشكور اخي على الافادة
شكرا اخي على الشرح لاكنه يفتقد بعض من قيمته العلمية لانك شرحت بعض انواع Scan ولاكنك لم تشرح لماذا ومتى نستعملهم اي انه ينقص الكثير من التفاصيل ، فإذا تثبت في تعاليق المتابعين سوف تلاحظ ان الشرح لم يكن واضح بما فيه الكفياة
ارجو ان يكون نقدي بناء قصد تحسين محتوى الموقع
تقبل مروري
SAME SAME
شكرا لك .. أتطرق الى انتظار المزيد من أعمالك القيمة … بتوفيق لك