رحلة تعلم Nmap (8): كيف تكشف الخدمات والإصدارات على الأجهزة؟
بعد أن تعرفنا في الأجزاء السابقة على أساسيات Nmap وكيفية اكتشاف الأجهزة والمنافذ المفتوحة، ننتقل اليوم إلى خطوة أعمق: فهم الخدمات التي تعمل خلف هذه المنافذ ومعرفة إصداراتها.
هذه المعلومات تساعد مختصي الأمن السيبراني على تقييم الأنظمة واكتشاف نقاط الضعف بطريقة منظمة وآمنة.ما هو Service & Version Detection؟
عندما تقوم بفحص المنافذ باستخدام Nmap العادي، سيخبرك أن المنفذ 80 مفتوح، والمنفذ 22 مفتوح، والمنفذ 443 مفتوح... لكن هذا ليس كافيًا.
السؤال الأهم هو:
ما هي الخدمة التي تعمل على هذا المنفذ؟
ما هو اسم البرنامج؟
ما هو رقم الإصدار؟
هنا يأتي دور خاصية Service and Version Detection.
هذه الخاصية تجعل Nmap يرسل استعلامات (Probes) خاصة إلى المنافذ المفتوحة، ثم يحاول فهم الرد الذي يرجع من الخدمة ليحدد نوعها وإصدارها بدقة.
لماذا اكتشاف الإصدار مهم جدًا؟
معرفة الإصدار تمنحك فوائد كبيرة:
تحديد نوع الخادم بدقة (مثلًا: Apache أم Nginx أم IIS).
البحث عن الثغرات المعروفة المرتبطة بهذا الإصدار.
تقييم مستوى تحديث النظام.
بناء خطة اختبار اختراق أكثر دقة وذكاءً.
تجنب إضاعة الوقت على خدمات غير مهمة.
الأمر الأساسي لاكتشاف الخدمات والإصدارات
الأمر الأبسط والأكثر استخدامًا هو:
nmap -sV [عنوان_الجهاز]
مثال:
nmap -sV 192.168.1.10
أو لفحص شبكة كاملة:
nmap -sV 192.168.1.0/24
خيارات مهمة مع -sV
الأمر
الشرح
-sV
تفعيل اكتشاف الخدمات والإصدارات
--version-intensity 0-9
تحديد قوة الفحص (0 خفيف جدًا - 9 أقوى فحص)
--version-light
فحص خفيف وسريع (يعادل intensity 2)
--version-all
أقوى فحص ممكن (يعادل intensity 9)
-A
تفعيل عدة ميزات متقدمة معًا (من بينها Version Detection)
أمثلة عملية
1. فحص خفيف وسريع:
nmap -sV --version-light 192.168.1.10
2. فحص قوي وشامل:
nmap -sV --version-all 192.168.1.10
3. فحص مع تحديد مستوى الشدة:
nmap -sV --version-intensity 5 192.168.1.10
4. استخدام الخيار الشامل -A:
nmap -A 192.168.1.10
ماذا ستظهر لك النتيجة؟
بدلًا من أن ترى فقط:
22/tcp open ssh
80/tcp open http
سترى شيء مثل:
22/tcp open ssh OpenSSH 8.2p1 Ubuntu
80/tcp open http Apache httpd 2.4.41
443/tcp open ssl/http nginx 1.18.0
هذا الفرق كبير جدًا في عالم اختبار الاختراق.
ملاحظات مهمة
اكتشاف الإصدارات يأخذ وقتًا أطول من الفحص العادي.
كلما رفعت مستوى --version-intensity زاد الوقت والدقة.
في البيئات الحساسة، استخدم الفحص الخفيف أولًا حتى لا تلفت الانتباه.
دائمًا تأكد أن لديك إذن قانوني قبل فحص أي جهاز أو شبكة.
الخلاصة
خاصية Service & Version Detection من أقوى أدوات Nmap. بدونها أنت ترى المنافذ فقط، ومعها أنت تفهم ما الذي يعمل خلف هذه المنافذ بدقة.
في الجزء القادم سنكمل رحلتنا ونتعلم تقنيات أكثر تقدمًا في Nmap.
هل أعجبك هذا الجزء؟ اكتب لي في التعليقات لو تبي نفصل أكثر في أي نقطة.كيف يعمل اكتشاف الإصدار من الداخل؟
لما تستخدم الخيار -sV، Nmap ما يكتفي بأنه يشوف المنفذ مفتوح. هو يرسل مجموعة من الـ Probes (استعلامات خاصة) مصممة لتثير ردود معينة من الخدمات.
هذه الـ Probes موجودة في ملف اسمه nmap-service-probes. Nmap يجربها واحد ورا الثاني حسب مستوى الشدة اللي حددته، ويقارن الرد اللي يرجعه الجهاز مع قاعدة بيانات ضخمة عنده، وبعدين يعطيك أقرب تطابق.
كل ما زدت مستوى الـ intensity، كل ما جرب Probes أكثر، وبالتالي زادت الدقة وزاد الوقت.
أمثلة حقيقية على النتائج وكيف تقرأها
خلنا نشوف أمثلة أوضح:
مثال 1:
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 22.04
هنا تعرف إن الجهاز غالباً أوبونتو 22.04، ونسخة OpenSSH قديمة نسبياً. تقدر تبحث مباشرة عن ثغرات OpenSSH 8.9.
مثال 2:
80/tcp open http Apache httpd 2.4.49
نسخة Apache 2.4.49 فيها ثغرات معروفة وخطيرة (مثل CVE-2021-41773). هذي معلومة ذهبية لمختبر الاختراق.
مثال 3:
443/tcp open ssl/http nginx 1.18.0
تعرف إن فيه شهادة SSL، والخادم Nginx، والإصدار محدد. تقدر تفحص الشهادة كمان بأدوات ثانية.
دمج اكتشاف الإصدار مع خيارات قوية أخرى
تقدر تجمع -sV مع خيارات ثانية عشان تفحص أذكى:
فحص سريع + اكتشاف إصدار:
nmap -sV -T4 --version-light 192.168.1.10
فحص شامل مع نظام التشغيل والإصدار:
nmap -A 192.168.1.10
(الخيار -A يشغل Version Detection + OS Detection + Script Scanning + Traceroute)
فحص منافذ معينة فقط مع الإصدار:
nmap -sV -p 22,80,443,3306 192.168.1.10
فحص مع تجنب الاكتشاف قدر الإمكان:
nmap -sV --version-light -T2 192.168.1.10
ماذا تفعل بعد ما تعرف الإصدار؟
مجرد معرفة الإصدار ما يكفي. الخطوات الجاية المهمة:
ابحث عن رقم الإصدار + كلمة "CVE" أو "exploit".
استخدم مواقع مثل:
exploit-db.com
cvedetails.com
nvd.nist.gov
سجل الملاحظات في تقريرك (الإصدار + الثغرات المحتملة + مستوى الخطورة).
لا تستغل أي ثغرة إلا إذا كان عندك إذن مكتوب.
أخطاء شائعة لازم تتجنبها
تعتمد على -sV فقط وتنسى إن بعض الخدمات تعطي معلومات خاطئة أو مضللة (False Positive).
تستخدم --version-all على شبكة كبيرة، فيستغرق وقت طويل جداً وقد يلفت الانتباه.
تفحص أنظمة حقيقية بدون إذن واضح.
تنسى إن بعض الجدران النارية أو أنظمة الحماية تكتشف فحوصات الإصدار بسهولة.
نصيحة عملية من الواقع
في اختبارات الاختراق الحقيقية، كثير من المختصين يبدأون بـ:
nmap -sV --version-light -T4 -p-
وبعدين يركزون الفحص القوي فقط على المنافذ المهمة اللي طلعت.
هذا يوفر وقت ويقلل الضوضاء على الشبكة.
الخلاصة النهائية
خاصية Service & Version Detection تحول Nmap من أداة "تشوف المنافذ" إلى أداة "تفهم الخدمات".
الفرق بين إنك تعرف إن المنفذ 80 مفتوح، وبين إنك تعرف إنه Apache 2.4.49 فيه ثغرة معروفة، هو الفرق بين مبتدئ ومحترف.
اتمرن على الأوامر اللي في هذا الجزء، وجربها على مختبرات قانونية مثل TryHackMe أو Hack The Box، وبمرور الوقت راح تصير تقرأ نتائج Nmap بعين مختلفة تماماً.
في الجزء الجاي راح نتعمق أكثر في OS Detection وكيف Nmap يكتشف نظام التشغيل بدقة.
لو حاب أفصل في أي نقطة أو أعطيك أمثلة إضافية، اكتب لي في التعليقات.

تعليقات