الـ Nmap والـ Banner Grabbing
قبل ما أدخل في تفاصيل الـ Banner Grabbing، أنا عادةً بشغل Nmap (بإعدادات خاصة) عشان أعرف نظام التشغيل والخدمات على البورتات المشهورة، ولو في وقت بفحص الـ 65535 بورت كلهم. 🔍
مشكلتي مع برامج الفحص الكاملة إنها بطيئة جداً وتضيع وقت. عشان كدة بستخدم سكريبت Nmap سريع يلم لي المعلومات الأساسية اللي هبني عليها خطة الهجوم.
نصيحة "أخوية" عن Nmap
أنا مفترض إنك برنس في Nmap وعارف بيعمل إيه، لأنه سريع وعملي وبيخلص المهام. أنصحك تقرأ كتاب (Fyodor) عن Nmap لو عايز تتقل، بس المهم عندي إنك تعرف إزاي تطلع الأجهزة والخدمات بسرعة، وتجيب معلومات الـ Banner من كل البورتات. 🛠
كمان بستخدم الطريقة دي عشان أقارن بين فحص قديم وفحص جديد وأعرف إيه اللي اتغير في الشبكة، وده بيساعدني جداً مع العملاء اللي بيطلبوا فحص شهري (بشوية سكريبتات بسيطة الدنيا بتظبط).
الأمر (Command) اللي بنشغله بيبقى كدة:
nmap --script /usr/share/nmap/scripts/banner-plus.nse --min-rate=400 --min-parallelism=512 -p1-65535 -n -Pn -PS -oA /opt/peepingtom/report <IP CIDR>
شرح "الزراير" (Switches) اللي استخدمناها:
script--: مكان السكريبت اللي بنستخدمه.
min-rate--: عشان نضمن إن الفحص يخلص في وقت معين (بيحدد سرعة الرسايل).
min-parallelism--: عشان نزود عدد المحاولات المتوازية وننجز في الوقت.
p1-65535-: بنفحص كل الـ 65 ألف بورت (مابنسيبش حاجة).
n-: بنلغي الـ DNS عشان الفحص يبقى طيارة.
Pn-: بنلغي الـ Ping (لأن سيرفرات كتير بتبقى قافلة البينج من بره).
PS-: بنستخدم TCP SYN Ping.
oA-: بنطلع التقارير بكل الصيغ المتاحة. 📂
تقدر تلعب في قيم الـ min-rate والـ parallelism عشان تلاقي أحسن توازن بين السرعة والدقة في شبكتك. أنا بستخدم الداتا دي عشان أعمل عرض سهل للخدمات، والإصدارات اللي فيها ثغرات، والمشاكل الغريبة.
النتائج هتتسيف في فولدر opt/peepingtom/ بكل الصيغ، وهنشوف الملفات دي كمان شوية في جزء "تصوير الشاشة" (Screen Capture)، بس حبيت أوريك الأول أنا بستفيد من الداتا دي إزاي.
في الجزء ده، هوريك إزاي تاخد بيانات الـ banners اللي جمعتها وتدور فيها بسرعة البرق. عشان أعمل كده، الكاتب عمل قاعدة بيانات MongoDB (عشان السرعة) وواجهة بالـ PHP. 🖥
الموضوع بسيط: سكريبت Python صغير بياخد ملف الـ XML اللي طالع من Nmap ويرميه في قاعدة البيانات، وبعدين صفحة PHP بتعرض الداتا دي. بما إني كنت بفحص شبكات ضخمة (نطاقات /16)، كنت محتاج طريقة سريعة تطلع لي الـ banners المميزة اللي تشد الانتباه.
الكاتب سمي الأداة دي "internet-scan"، ومنها يقدر يدور بسرعة على بورتات أو أي بيهات (IPs) أو حتى إصدارات معينة من الأنظمة اللي فيها ثغرات. 🕵️♂️
ممكن حد يقول: "يا عم ما الـ banner ممكن يكدب وما يطلعش الإصدار الحقيقي!".. هرد وأقولك: من واقع خبرتي في اختبار الاختراق، قليل قوي لما بنلاقي حد مغير بيانات الـ banner بتاعته.
دي كانت البداية، والصورة اللي تحت بتوريك الصفحة الرئيسية لأداة internet-scan اللي الكاتب بناها (معرفش اللينك بتاعها فين).
