مخطوطات Nse. دليل مساعدة Nmap (صفحة الدليل)

مخطوطات Nse.  دليل مساعدة Nmap (صفحة الدليل)
مخطوطات Nse. دليل مساعدة Nmap (صفحة الدليل)

Nmap هو ماسح ضوئي للشبكة مفتوح المصدر يحظى بشعبية كبيرة مصدر الرمزوالتي يمكن استخدامها على نظامي التشغيل Windows وLinux. تم تطوير Nmap أو Network Mapper بواسطة Gordon Luon و هذه اللحظةيستخدمه متخصصو الأمن ومسؤولو الأنظمة حول العالم.

هذا البرنامج يساعد مسؤولي النظامافهم بسرعة أجهزة الكمبيوتر المتصلة بالشبكة، واكتشف أسمائها، واطلع أيضًا على البرامج المثبتة عليها، ونظام التشغيل وأنواع المرشحات المستخدمة. يمكن توسيع وظائف البرنامج باستخدام لغة البرمجة النصية الخاصة به، والتي تسمح للمسؤولين بأتمتة العديد من الإجراءات.

على سبيل المثال، يمكن للبرامج النصية اكتشاف الثغرات الأمنية الجديدة في شبكتك تلقائيًا. يمكن استخدام Namp بنوايا حسنة أو سيئة، لذا احرص على عدم استخدام nmap بشكل مخالف للقانون. سنلقي نظرة في هذا البرنامج التعليمي على كيفية استخدام namp لفحص المنافذ على نظام التشغيل Linux. لكن عليك أولاً أن تحاول فهم كيفية عمل هذه الأداة المساعدة.

في شبكات الحاسبجميع الأجهزة المتصلة لها عنوان IP الخاص بها. يدعم كل كمبيوتر بروتوكول ping، والذي يمكن استخدامه لتحديد ما إذا كان متصلاً بالشبكة. نحن ببساطة نرسل طلب ping إلى الكمبيوتر، وإذا استجاب، نفترض أنه متصل. يأخذ Nmap نهجا مختلفا قليلا. تتفاعل أجهزة الكمبيوتر أيضًا بطريقة معينة مع حزم شبكة معينة؛ حيث تقوم الأداة ببساطة بإرسال الحزم الضرورية وتبحث في المضيفين الذين أرسلوا الاستجابة.

ولكن ربما كنت تعرف بالفعل عن هذا. الأمر الأكثر إثارة للاهتمام هو كيفية اكتشاف Nmap للخدمات التي يتم تشغيلها على الجهاز. جوهر عمل الجميع برامج الشبكةعلى أساس المنافذ. لتلقي رسالة من الشبكة، يجب على البرنامج فتح منفذ على جهاز الكمبيوتر الخاص بك وانتظار الاتصالات الواردة. ولإرسال رسالة عبر الشبكة، تحتاج إلى الاتصال بمنفذ (وجهة) برنامج مختلف. سيحتاج البرنامج بعد ذلك إلى فتح المنفذ الذي سينتظر فيه الرد.

تمر الأداة المساعدة nmap، أثناء فحص الشبكة، عبر نطاق المنافذ المتاحة وتحاول الاتصال بكل منها. إذا كان الاتصال ناجحا، في معظم الحالات، عن طريق نقل عدة حزم، يمكن للبرنامج حتى معرفة الإصدار برمجة، الذي يستمع للاتصالات على هذا المنفذ. الآن بعد أن قمنا بتغطية الأساسيات، دعونا نلقي نظرة على كيفية استخدام nmap لفحص المنافذ والشبكات.

بناء الجملة نماب

أمر إطلاق Nmap بسيط للغاية؛ كل ما عليك فعله هو تمرير عنوان IP المستهدف أو الشبكة في المعلمات، وكذلك تحديد الخيارات إذا لزم الأمر:

عنوان خيارات $ nmap

الآن دعونا نلقي نظرة على الخيارات الرئيسية التي سنحتاجها في هذه المقالة.

  • -sL- ما عليك سوى إنشاء قائمة بالمضيفين قيد التشغيل، ولكن لا تفحص منافذ nmap؛
  • -SP- تحقق فقط من إمكانية الوصول إلى المضيف باستخدام اختبار ping؛
  • -PN- اعتبار جميع الأجهزة المضيفة قابلة للوصول، حتى لو لم تستجب لأمر ping؛
  • -sS/sT/sA/sW/sM- مسح TCP.
  • -سو- مسح UDP nmap؛
  • -sN/sF/sX- مسح TCP NULL وFIN؛
  • -الشوري- تشغيل البرنامج النصي بشكل افتراضي؛
  • -سي- مسح Indle كسول.
  • - تحديد نطاق المنافذ المراد فحصها؛
  • -sV- الفحص التفصيلي للمنافذ لتحديد إصدارات الخدمة؛
  • -O- يحدد نظام التشغيل;
  • - سرعة المسح، كلما زادت السرعة؛
  • - مسح القناع باستخدام عناوين IP وهمية؛
  • - تغيير عنوان IP الخاص بك إلى العنوان المحدد؛
  • - استخدام واجهة محددة؛
  • --spoof-mac- ضبط عنوان MAC الخاص بك؛
  • - تحديد نظام التشغيل باستخدام البرامج النصية.

الآن وبعد أن قمنا بتغطية جميع الخيارات الأساسية، فلنتحدث عن كيفية عمل فحص منفذ nmap.

كيفية استخدام Nmap لفحص المنافذ على نظام Linux

بعد ذلك، دعونا نلقي نظرة على أمثلة nmap. أولاً، دعونا نلقي نظرة على كيفية العثور على جميع الأجهزة المتصلة بالشبكة؛ وللقيام بذلك، ما عليك سوى استخدام الخيار -sL وتحديد قناع شبكتنا. في حالتي هو 192.168.1.1/24. يمكنك العثور على قناع الشبكة المحلية الخاص بك عن طريق تشغيل الأمر:

من مخرجات الواجهة التي تستخدمها، خذ الرقم الموجود بعد الشرطة المائلة، وقبل الشرطة المائلة قم بالإشارة إلى IP الخاص بجهاز التوجيه الخاص بك. سيبدو الأمر لفحص شبكة nmap كما يلي:

نماب-سل 192.168.1.1/24

في بعض الأحيان، قد لا ينتج عن هذا الفحص أي نتائج لأن بعض أنظمة التشغيل تتمتع بحماية ضد فحص المنافذ. ولكن يمكن تجاوز ذلك ببساطة عن طريق استخدام ping لفحص جميع عناوين IP على الشبكة؛ ولهذا يوجد خيار -sn:

نماب -sn 192.168.1.1/24

كما ترون، اكتشف البرنامج الآن أجهزة نشطة على الشبكة. بعد ذلك، يمكننا فحص منافذ nmap بحثًا عن المضيف المطلوب عن طريق تشغيل الأداة المساعدة بدون خيارات:

سودو نماب 192.168.1.1

الآن يمكننا أن نرى أن لدينا عدة منافذ مفتوحة، وجميعها تستخدم من قبل بعض الخدمات على الجهاز الهدف. من المحتمل أن يكون كل واحد منهم معرضًا للخطر، لذلك ليس من الآمن وجود العديد من المنافذ المفتوحة على الجهاز. ولكن هذا ليس كل ما يمكنك فعله؛ بعد ذلك ستتعلم كيفية استخدام nmap.

لمعرفة المزيد معلومات مفصلةحول الجهاز والخدمات التي تعمل عليه، يمكنك استخدام الخيار -sV. ستقوم الأداة بالاتصال بكل منفذ وتحديد جميع المعلومات المتاحة:

سودو نماب -sV 192.168.1.1

جهازنا يعمل بنظام ftp، لذا يمكننا أن نحاول إلقاء نظرة فاحصة على هذه الخدمة باستخدام نصوص nmap القياسية. تسمح لك البرامج النصية بفحص المنفذ بمزيد من التفاصيل والعثور على نقاط الضعف المحتملة. للقيام بذلك، استخدم الخيار -sC و -p لتعيين المنفذ:

سودو نماب -sC 192.168.56.102 -ص 21

قمنا بتنفيذ البرنامج النصي الافتراضي، ولكن هناك أيضًا برامج نصية أخرى، على سبيل المثال، يمكنك العثور على جميع البرامج النصية لـ ftp باستخدام الأمر:

Sudo find /usr/share/nmap/scripts/ -name "*.nse" | grep بروتوكول نقل الملفات

ثم سنحاول استخدام واحد منهم، ولهذا نحتاج فقط إلى تحديده باستخدام خيار --script. لكن يمكنك أولاً الاطلاع على المعلومات المتعلقة بالبرنامج النصي:

Sudo nmap --script-help ftp-brute.nse

سيحاول هذا البرنامج النصي تحديد تسجيل الدخول وكلمة المرور لـ FTP على المضيف البعيد. ثم قم بتشغيل البرنامج النصي:

Sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

ونتيجة لذلك، التقط البرنامج النصي معلومات تسجيل الدخول وكلمة المرور، admin/admin. ولهذا السبب لا تحتاج إلى استخدام خيارات تسجيل الدخول الافتراضية.

يمكنك أيضًا تشغيل الأداة المساعدة باستخدام الخيار -A؛ فهو يقوم بتنشيط وضع تشغيل أكثر قوة للأداة المساعدة، والذي ستحصل من خلاله على معظم المعلومات بأمر واحد:

سودو نماب -أ 192.168.1.1

يرجى ملاحظة أن جميع المعلومات التي رأيناها من قبل تقريبًا موجودة هنا. ويمكن استخدامه لزيادة حماية هذا الجهاز.

الاستنتاجات

في هذه المقالة، نظرنا في كيفية إجراء فحص منفذ nmap، بالإضافة إلى العديد منها أمثلة بسيطةباستخدام هذه الأداة. يمكن أن تكون أوامر nmap هذه مفيدة للعديد من مسؤولي النظام لتحسين أمان أنظمتهم. ولكن هذه ليست كل إمكانيات الأداة المساعدة. استمر في تجربة الأداة المساعدة لمعرفة المزيد، ولكن ليس على شبكات الآخرين!

عن المؤلف

مؤسس ومدير الموقع، شغوف بالبرمجيات وأنظمة التشغيل مفتوحة المصدر نظام لينكس. أستخدم حاليًا Ubuntu باعتباره نظام التشغيل الرئيسي الخاص بي. بالإضافة إلى Linux، أنا مهتم بكل ما يتعلق به تكنولوجيا المعلوماتوالعلم الحديث .

بالنسبة للكثيرين منا، الذين ارتبطت مهام عملهم ارتباطًا وثيقًا بأمن المعلومات لبعض الوقت على الأقل، أصبح Nmap أداة مألوفة ومفيدة منذ فترة طويلة. إنها لا غنى عنها مثل بطانية دافئة في ليلة شتاء باردة. باستثناء أن Nmap عبارة عن بطانية فعالة للغاية.

Nmap هو ماسح ضوئي شائع وقوي عبر الأنظمة الأساسية أمن الشبكة، انطلقت من سطر الأوامر، والتي يمكنك من خلالها إجراء بحث على أي شبكة بكفاءة عالية. يمكن أن يساعدك أيضًا في الحصول على نظرة عامة على الأنظمة المتصلة بشبكتك؛ يمكنك استخدامه لمعرفة عناوين IP لجميع المضيفين "المباشرين"، وفحص المنافذ المفتوحة والخدمات التي تعمل على هؤلاء المضيفين، وغير ذلك الكثير.

مما لا شك فيه أن Nmap هو أكثر ماسح المنافذ تنوعًا والمتوفر اليوم. نعم، يمكنك العثور على ماسحات ضوئية أسرع، ولكن لا يوجد ماسح ضوئي مفيد جدًا ولا غنى عنه لحل العديد والعديد من مهامك. والغالبية العظمى من المتخصصين في هذا المجال أمن المعلوماتأتفق بشكل قاطع مع هذا البيان.

ومع ذلك، يعرف عدد أقل بكثير من الأشخاص أن إحدى الميزات الأكثر إثارة للاهتمام في Nmap هي القدرة على استخدام البرامج النصية NSE، والتي ستمنح أداة أمان الشبكة المفضلة لديك المزيد من المرونة والكفاءة. وبمساعدتهم، يمكنك القيام بأشياء لم تكن تتوقعها أبدًا حتى من أداة فحص المنافذ المتقدمة جدًا مثل Nmap.

دعونا نلقي نظرة فاحصة على البرامج النصية NSE وربما قد تفاجئك إمكاناتها بسرور.

بمعنى آخر، بالإضافة إلى الفحص القياسي للمنافذ المفتوحة باستخدام الماسح الضوئي Nmap، باستخدام NSE لديك أيضًا الفرصة للحصول على معلومات موسعة حول الخدمات التي تعمل عليه. لذلك، على سبيل المثال، باستخدام البرامج النصية NSE، يمكنك إجراء تحليل أعمق لخدمات الشبكة الخاصة بك ومعرفة مدى جودة تكوينها، وما هي المعلومات المتاحة، وما إذا كان يتم استخدام بيانات الاعتماد الضعيفة، وما إلى ذلك. في الواقع، تعمل البرامج النصية NSE على تحويل Nmap إلى برنامج مرن منصة للتفاعل مع خدمات الشبكة.

ميزات البرمجة النصية لمحرك Nmap

قام فريق تطوير ماسح منفذ Nmap بتصميم وإنشاء محرك برمجة نصية في المقام الأول لحل المشكلات مثل:

1. أبحاث الشبكات

هذا هو مجال الاستخدام العملي الرئيسي لـ Nmap. تم تصميم بعض البرامج النصية لتسهيل عمل ماسح المنفذ المفضل لديك وتحسينه وتسريعه. تتضمن بعض الأمثلة على استخدامها أداء مهام مثل:

  • البحث عن بيانات WHOIS (بروتوكول شبكة طبقة التطبيق استنادًا إلى بروتوكول TCP؛ تطبيقه الرئيسي هو الحصول على بيانات تسجيل في نموذج نصي حول مالكي أسماء النطاقات وعناوين IP و أنظمة الحكم الذاتي) حسب المجالات ذات الصلة؛
  • إرسال الطلبات إلى خوادم WHOIS الإقليمية الرئيسية ARIN (أمريكا الشمالية) أو RIPE (أوروبا والشرق الأوسط) أو APNIC (آسيا والمحيط الهادئ) لتحديد مالك عنوان IP محدد؛
  • البحث عن الهوية على المنافذ المفتوحة (يسمح لك بتحديد المستخدمين المتصلين بها)؛
  • تقديم الطلبات عبر بروتوكول SNMP (بروتوكول الإنترنت لإدارة الأجهزة في شبكات IP استنادًا إلى بنيات TCP/UDP)؛
  • تجميع قوائم الموارد والخدمات المتاحة من خلال بروتوكولات الشبكةل الوصول عن بعد NFS أو SMB أو RPC.

2. خيار أكثر تطوراً للكشف عن الإصدار

يمكن لنظام إصدار الخدمة والتطبيقات الخاص بـ Nmap التعرف على آلاف الخدمات المختلفة باستخدام المجسات ومطابقة توقيع التعبير العادي، ولكنه ليس قويًا تمامًا. على سبيل المثال، يتطلب تحديد خدمة Skype v2 مسبارين يعملان بشكل مستقل عن بعضهما البعض، ولا تتمتع قدرات اكتشاف الإصدار الخاصة بهما بالمرونة الكافية. يستطيع Nmap أيضًا التعرف على بعض خدمات SNMP إذا حاول فرض القوة الغاشمة من خلال عدة مئات من أسماء المجتمعات. لحل كلتا المشكلتين المذكورتين أعلاه، فهو ليس مناسبًا جدًا للاستخدام الطرق القياسيةتعريفات إصدار Nmap، ولكن يمكن تنفيذ كليهما بسهولة باستخدام NSE. لهذا السبب، يقوم نظام الإصدار الآن باستدعاء NSE افتراضيًا لحل مشكلة الإصدار عند معالجة بعض الخدمات المعقدة.

3. البحث عن نقاط الضعف

عندما يتم اكتشاف ثغرة أمنية جديدة، فإنها تصبح معرفة عامة، ويحتاج متخصصو أمن الشبكات بشكل عاجل إلى فحص شبكاتهم للتعرف بسرعة على الأنظمة المعرضة للخطر قبل أن يقوم الأشرار بذلك نيابةً عنهم. على الرغم من أن Nmap ليس أداة فحص كاملة للثغرات الأمنية، إلا أن إمكانيات NSE القوية تسمح لها بإجراء عمليات فحص الثغرات الأمنية حتى مع المتطلبات الصارمة للغاية. على سبيل المثال، عندما أدى خطأ Heartbleed في برنامج التشفير OpenSSL إلى اختراق مئات الآلاف من الأنظمة حول العالم، استجاب مطورو Nmap بكتابة برنامج نصي لاكتشاف ssl-heartbleed في غضون يومين.

4. الكشف عن الباب الخلفي

يترك العديد من المهاجمين الإلكترونيين، بالإضافة إلى بعض الديدان الآلية، أبوابًا خلفية لتوفير باب خلفي في المستقبل لاختراق نظامك بسهولة. يمكن اكتشاف بعض هذه الأبواب الخلفية باستخدام الكشف القياسي عن إصدار Nmap استنادًا إلى مطابقة توقيع التعبير العادي، لكن العديد من الديدان والأبواب الخلفية الأكثر تعقيدًا تتطلب إمكانات NSE متقدمة لاكتشافها بشكل موثوق. على وجه الخصوص، يتم استخدام NSE للكشف عن الباب الخلفي DoublePulsar، الذي يستغل ثغرة أمنية في تنفيذ بروتوكول SMB، وإصدارات الباب الخلفي لخادم UnrealIRCd IRC، بالإضافة إلى خوادم vsftpd وProFTPd FTP.

5. الكشف عن نقاط الضعف

يتم تنفيذ NSE بلغة برمجة للأغراض العامة، ويمكن أيضًا استخدامها لإنشاء برمجيات إكسبلويت يمكن أن تساعدك على اكتشاف الثغرات الأمنية قبل أن يصبح وجودها معروفًا للعامة. يمكن أن تكون هذه القدرة على إضافة برامج استغلال نصية مخصصة مفيدة للغاية لبعض الأشخاص (مختبري الاختراق في المقام الأول). ومع ذلك، لا تزال NSE ليست منصة كاملة لإنشاء التوقيعات والبرمجيات المستغلة، مثل Metasploit.

ما هي فئات البرامج النصية NSE؟

يوجد حاليًا 598 برنامجًا نصيًا لـ NSE، يمكنك العثور عليها في مجلد "البرامج النصية"، وهو دليل فرعي لدليل Nmap الرئيسي. للحصول على أداء أفضل، تتم فهرسة كافة البرامج النصية في قاعدة البيانات "scripts/script.db"، والتي تشير إلى الفئة أو الفئات التي ينتمي إليها كل برنامج نصي.

اعتمادا على التطبيق المقصود، فضلا عن تبسيط استخدامها، يتم تجميع البرامج النصية NSE في فئات مختلفة. حاليًا، يتم تعريف الفئات التالية من البرامج النصية NSE: المصادقة، والبث، والغاشمة، والافتراضية. Discovery، Dos، Exploit، External، Fuzzer، Intrusive، Malware، Safe، Version و vuln (أسماء الفئات ليست حساسة لحالة الأحرف). فيما يلي تمثيل أكثر تفصيلاً لكل فئة:

  • مصادقة- تتعامل هذه الفئة من البرامج النصية مع (أو تتجاوز) بيانات اعتماد المصادقة على النظام المستهدف. ومن أمثلة هذه البرامج النصية "x11-access"، و"ftp-anon"، و"Oracle-enum-users". يرجى ملاحظة أن البرامج النصية التي تستخدم هجوم القوة الغاشمة لمحاولة تحديد بيانات الاعتماد يتم تصنيفها على أنها غاشمة.
  • إذاعة- تُستخدم البرامج النصية في هذه الفئة عادةً لاكتشاف المضيفين غير المحددين في سطر الأوامر من خلال التفاعل معها على نطاق واسع شبكه محليه. عند استخدام وسيطة البرنامج النصي "newtargets"، فسيقومون تلقائيًا بإضافة المضيفين الذين يكتشفونهم إلى قائمة انتظار الفحص.
  • غاشم- تُستخدم هذه الفئة من البرامج النصية لتنفيذ هجمات القوة الغاشمة للحصول على بيانات اعتماد المصادقة السيرفر المتحكم. يقدم Nmap نصوصًا هجومية للقوة الغاشمة لعشرات البروتوكولات. وتشمل هذه البرامج النصية التالية: "http-brute"، و"oracle-brute"، و"snmp-brute"، وما إلى ذلك.
  • تقصير- تحدد هذه الفئة من البرامج النصية تلك البرامج النصية التي تم تحديدها بواسطة مطوري Nmap على أنها مفيدة لتوسيع وظائف الماسح الضوئي أو تحسين تشغيله، ويتم تصنيفها على أنها المجموعة الأساسية"تقصير". ويتم تشغيلها باستخدام خيارات "-sC" أو "-A"، بدلاً من تحديد قائمة محددة من البرامج النصية عبر خيار "--script". من الممكن تحديد هذه الفئة من البرامج النصية بشكل صريح، مثل الفئات الأخرى، باستخدام "--script=default". يحاول فريق Nmap الاعتماد على المتطلبات التالية عند تحديد ما إذا كان يجب تصنيف برنامج نصي معين على أنه افتراضي:
    • سرعة- يجب أن يكتمل المسح بسرعة افتراضيًا، مما يستبعد التضمين في هذه الفئة من أدوات مصادقة القوة الغاشمة، وعناكب الويب، وأي نصوص برمجية أخرى يتم حساب وقت المسح الخاص بها لخدمة واحدة بالدقائق أو حتى الساعات.
    • جدوى— يتطلب فحص الفئة الافتراضية الحصول على معلومات قيمة وذات صلة. بمعنى آخر، يجب أن تكون نتيجة فحص هذا البرنامج النصي مفهومة ومفيدة لمحترف أمان الشبكة العادي. وإلا فإن تشغيله بشكل افتراضي لا معنى له.
    • الإيجاز- يتم استخدام مخرجات المعلومات المستلمة بواسطة الماسح الضوئي Nmap لمجموعة متنوعة من الأغراض والاحتياجات هذه المعلومةيجب أن تكون قابلة للقراءة وموجزة. البرامج النصية التي غالبًا ما تنشئ صفحات متعددة بمخرجات كاملة لجميع المعلومات المستلمة لا تنتمي أيضًا إلى فئة البرامج النصية الافتراضية. بمعنى آخر، يتم تصنيف البرامج النصية NSE كافتراضية عندما لا يتم العثور على أي منها معلومات مهمة، التقرير لا يظهر شيئا. ينطبق هذا على البرامج النصية الافتراضية التي تبحث عن الثغرات الأمنية المخفية - فهي لا تنتج النتائج إلا عندما تكتشف هذه الثغرات الأمنية.
    • مصداقية- يمكن أن تعتمد العديد من البرامج النصية في عملها على بيانات من التحليل الإرشادي والمطابقة الغامضة للتوقيعات من أجل استخلاص استنتاجات معينة حول المضيف أو الخدمة المستهدفة. ومن أمثلة هذه البرامج النصية "Sniffer-detect" و"sql-injection". لن يتم تصنيف هذه البرامج النصية بشكل افتراضي، نظرًا لأن نتائج عملها غالبًا ما تكون خاطئة ويمكن أن تضلل المستخدم الذي لا يفهم بوضوح جميع تفاصيل عمله.
    • عدم الإزعاج— يمكن أن تكون بعض البرامج النصية متطفلة بشكل مفرط عندما تستخدم موارد كبيرة للنظام البعيد، مما قد يؤدي إلى فشل هذا النظام أو الخدمة، أو يمكن للمسؤولين عن بعد اعتبار أفعالهم بمثابة هجوم. لا يتم تضمين هذه البرامج النصية أيضًا في الفئة الافتراضية. ومع ذلك، لا يزال فريق Nmap يصنف بعض البرامج النصية "العدوانية إلى حد ما" على أنها افتراضية، بناءً على فائدتها ومدى صحتها، مع مراعاة العوامل الأخرى.
    • سرية- يمكن للعديد من البرامج النصية الكشف عن معلومات سرية لأطراف ثالثة، بناءً على تفاصيل عملهم. على سبيل المثال، يجب أن تقوم البرامج النصية للبحث عن بيانات WHOIS بالإبلاغ عن عنوان IP المستهدف إلى المسجلين الإقليميين. بمعنى آخر، في فئة البرامج النصية الافتراضية لـ NSE، يحاول فريق Nmap عدم إضافة نصوص برمجية قد تنتهك السرية.
  • اكتشاف- تحاول هذه الفئة من البرامج النصية معرفة المزيد عن الشبكة عن طريق إرسال طلبات عامة إلى المسجل والأجهزة التي تدعم SNMP وخدمات الدليل وما إلى ذلك. ومن أمثلة هذه البرامج النصية "html-title" (يحصل على عنوان المسار الجذر لمواقع الويب)، و"smb-enum-shares" (يسرد مشاركات Windows)، و"snmp-sysdescr" (يحصل على معلومات النظام التفصيلية عبر بروتوكول الإنترنت القياسي لإدارة جهاز SNMP).
  • دوس— يجب استخدام البرامج النصية في هذه الفئة بحذر شديد، لأنها قد تؤدي إلى رفض الخدمة. يتم استخدامها أحيانًا بواسطة مختبري الأمان لاختبار مدى تعرض النظام لهجمات رفض الخدمة، ولكن مثل هذا الاختبار يمكن أن يؤدي إلى هجمات غير مرغوب فيها آثار جانبية- على سبيل المثال، التسبب في حدوث اضطرابات في تشغيل بعض الخدمات الضعيفة.
  • يستغل- تهدف هذه البرامج النصية إلى استغلال ثغرة أمنية محددة بشكل فعال. ومن أمثلة هذه الفئة من البرامج النصية "jdwp-exec" و"http-shellshock".
  • خارجي- يمكن للبرامج النصية في هذه الفئة إرسال البيانات إلى جهات خارجية تتحكم في قواعد البيانات أو غيرها موارد الشبكة. مثال على هذا البرنامج النصي هو "whois-ip"، الذي يتصل بخوادم WHOIS للحصول على معلومات حول عنوان IP الخاص بالهدف. من الممكن دائمًا أن يقوم مشغلو قواعد بيانات الطرف الثالث بتسجيل كل ما ترسله إليهم، والذي سيتضمن في كثير من الحالات معلومات حول عنوان IP الخاص بك وعنوان IP الخاص بالهدف. معظم البرامج النصية التي تتعامل فقط مع حركة المرور بين كمبيوتر الفحص والعميل لا تندرج ضمن هذه الفئة.
  • زغبهي فئة من البرامج النصية المصممة لإرسال حقول غير متوقعة أو عشوائية إلى برنامج الخادم في كل حزمة. على الرغم من أن هذه الطريقة قد تكون مفيدة للبحث أخطاء غير معروفةوالثغرات الأمنية في البرامج، وهذه عملية بطيئة تستخدم أيضًا النطاق الترددي للشبكة بشكل مكثف. مثال على البرامج النصية في هذه الفئة هو "dns-fuzz"، الذي يقصف خادم DNS باستعلامات المجال المعدلة جزئيًا حتى يتعطل الخادم أو تنتهي صلاحيته تم تثبيت المستخدمالحد الزمني.
  • تطفلي- تتضمن هذه الفئة من البرامج النصية تلك التي لا يمكن تصنيفها على أنها آمنة، نظرًا لأن المخاطر مرتفعة جدًا بحيث ينهار النظام المستهدف تحت ضغطها، أو تتطلب موارد كبيرة على المضيف المستهدف (على سبيل المثال، عرض النطاق الترددي أو وقت وحدة المعالجة المركزية) أو غير ذلك، سوف ينظر مسؤولو النظام المستهدف إلى تنفيذها على أنه نشاط ضار. ومن أمثلة هذه البرامج النصية "http-open-proxy" (الذي يحاول استخدام الخادم الهدف كوكيل HTTP) و"snmp-brute" (الذي يحاول تخمين ما يسمى "سلسلة المجتمع" لأجهزة SNMP عن طريق إرسالها القيم الشائعة مثل العامة والخاصة وسيسكو). إذا كان البرنامج النصي لا ينتمي إلى فئة الإصدار الخاص، فيجب تصنيفه على أنه آمن أو تطفلي.
  • البرمجيات الخبيثة- تتحقق هذه البرامج النصية من إصابة النظام الأساسي المستهدف البرمجيات الخبيثةأو الأبواب الخلفية. من أمثلة البرامج النصية في هذه الفئة من البرامج النصية "smtp-strangeport"، الذي يراقب خوادم SMTP التي تعمل على أرقام منافذ غير عادية، و"auth-spoof"، الذي يكتشف شياطين الهوية المخادعة (تنفيذ دعم بروتوكول مصادقة المستخدم) التي تقدم استجابة زائفة حتى الآن قبل استلام الطلب. في كلا المثالين الأول والثاني، عادة ما يكون هذا السلوك، إذا تم اكتشافه، علامة على إصابة النظام ببرامج ضارة.
  • آمن- جميع البرامج النصية التي لم يتم إنشاؤها لتسبب فشل الخدمة، تستخدم كميات كبيرة عرض النطاقالشبكات أو الموارد الأخرى، ولم تكن تهدف إلى استغلال الثغرات الأمنية، يتم تصنيفها على أنها آمنة. هم أقل عرضة لجذب انتباه المسؤولين عن بعد، على الرغم من أنه (كما هو الحال مع أي وظيفة Nmap أخرى)، ليس من المضمون بنسبة مائة بالمائة أنهم لن يجذبوا انتباه المسؤولين عن بعد أبدًا. تؤدي معظم هذه البرامج النصية المهام المتعلقة باستكشاف الشبكة بشكل عام. من أمثلة البرامج النصية في هذه الفئة "ssh-hostkey" (يحصل على مفتاح SSH الخاص بالمضيف) و"html-title" (يحصل على العنوان من صفحة ويب). لا يتم تصنيف البرامج النصية من فئة الإصدار على أنها آمنة، ولكن يجب تعريف البرامج النصية الأخرى غير الآمنة على أنها تدخلية.
  • إصدار- البرامج النصية من هذه الفئة الخاصة هي امتداد لوظيفة اكتشاف الإصدار ولا يمكن تحديدها بشكل صريح. يتم تحديدها للتشغيل فقط عندما يُطلب منك تحديد إصدار Nmap ("-sV"). ولا يمكن فصل مخرجاتها عن مخرجات وظيفة الإصدار، ولا تعمل كمضيف أو برامج نصية للخدمة. ومن أمثلة هذه البرامج النصية "Skypev2-version" و"pptp-version" و"iax2-version".
  • vuln- تتحقق البرامج النصية في هذه الفئة من وجود ثغرة أمنية معينة معروفة وعادة ما تنتج فقط تلك النتائج التي تؤكد العثور على مثل هذه الثغرة الأمنية. ومن أمثلة هذه البرامج النصية "realvnc-auth-bypass" و"afp-path-vuln".

تنقسم البرامج النصية، اعتمادًا على تركيزها الوظيفي، بالإضافة إلى مرحلة المسح التي يتم تنفيذها خلالها، إلى أربعة أنواع (يمكن لبعض البرامج النصية دعم عدة أنواع من العمليات في وقت واحد):

  • البرامج النصية المسبقة - يتم تشغيل هذه الأنواع من البرامج النصية قبل حدوث أي عمليات Nmap، مما يعني أنها يتم تنفيذها قبل مرحلة المسح، عندما لا يجمع Nmap أي معلومات حول الهدف بعد. يمكن أن تكون هذه البرامج النصية مفيدة لتنفيذ المهام المستقلة عن أهداف فحص محددة، مثل تقديم طلبات البث لاستقصاء خوادم DHCP وDNS SD. يمكن لبعض هذه البرامج النصية إنشاء أهداف جديدة لمسح Nmap (فقط إذا قمت بتحديد وسيطة NSE "newtargets"). لذلك، على سبيل المثال، يمكن للبرنامج النصي "dns-zone-transfer" الحصول على قائمة بعناوين IP في المجال باستخدام طلب نقل المنطقة، ثم إضافتها تلقائيًا إلى قائمة أهداف فحص Nmap. يتم تحديد البرامج النصية من النوع Prerule باستخدام وظيفة prerule.
  • البرامج النصية للمضيف - يتم تشغيل هذه البرامج النصية أثناء عملية المسح القياسية لـ Nmap، بعد أن يقوم الماسح الضوئي Nmap بإجراء عمليات عادية مثل اكتشاف المضيف، وفحص المنافذ، واكتشاف الإصدار، واكتشاف نظام التشغيل على المضيف الهدف. يتم استدعاء هذا النوع من البرامج النصية مرة واحدة لكل مضيف مستهدف يطابق وظيفة قاعدة المضيف الخاصة به. تتضمن الأمثلة البرامج النصية "whois-ip"، التي تبحث عن معلومات الملكية لعنوان IP المستهدف، و"path-mtu"، الذي يحاول تحديد الحد الأقصى لحجم حزمة IP التي يمكنها الوصول إلى الهدف دون الحاجة إلى التجزئة.
  • البرامج النصية للخدمة - يتم تشغيل هذا النوع من البرامج النصية عند اكتشاف خدمات معينة على المضيف الهدف. على سبيل المثال، يتضمن Nmap أكثر من 15 برنامجًا نصيًا لخدمة http يتم تشغيله للعمل مع خوادم الويب. إذا كان لدى المضيف خوادم ويب تعمل على منافذ متعددة، فيمكن تنفيذ هذه البرامج النصية عدة مرات (واحدة لكل منفذ). هذه هي أكثر أنواع البرامج النصية شيوعًا في Nmap، وتختلف من حيث أنها تحتوي على وظيفة portrule لتحديد الخدمات المكتشفة التي يجب تشغيل البرنامج النصي عليها.
  • البرامج النصية Postrule - يتم تشغيل هذا النوع من البرامج النصية مرة واحدة، بعد أن يقوم Nmap بفحص جميع الأهداف المقصودة. يمكن أن تكون مفيدة لتنسيق وعرض مخرجات المعلومات التي تم الحصول عليها بواسطة الماسح الضوئي Nmap. على سبيل المثال، يُعرف البرنامج النصي "ssh-hostkey" بشكل أفضل بأنه برنامج نصي للخدمة (مع وظيفة portrule محددة) يتصل بخوادم SSH ويكتشفها المفاتيح العامةويطبعها. ولكنها تتضمن أيضًا وظيفة postrule، التي تتحقق من المفاتيح المكررة بين جميع المضيفين الذين تم التحقق منهم ثم تطبع كل ما تم العثور عليه. مثال محتمل آخر لاستخدام البرامج النصية من هذا النوعهي طباعة عكسية لمخرجات الماسح الضوئي Nmap - على سبيل المثال، إدراج جميع الأجهزة المضيفة التي تعمل عليها خدمة معينة، بدلاً من القائمة المعتادة لجميع المضيفين الذين لديهم خدمات تعمل عليها. يتم تحديد البرامج النصية Postrule باستخدام وظيفة postrule.

ملحوظة: يمكن تشغيل العديد من البرامج النصية كبرنامج نصي لقاعدة مسبقة أو برنامج نصي لقاعدة لاحقة. في هذه الحالات، يوصى باستخدام وظيفة القاعدة المسبقة لتجنب عدم الاتساق.

المذعور الأبدي، أنطون كوتشوكوف.


أنظر أيضا:

Nmap عبارة عن ماسح ضوئي للعبادة لا يستطيع أي متسلل الاستغناء عنه تقريبًا، لذلك أعتقد أن موضوع توسيع قدراته يثير اهتمام الكثيرين. من الممارسات الشائعة استخدام أدوات أخرى جنبًا إلى جنب مع Nmap. ستتحدث هذه المقالة عن كيفية أتمتة Nmap بسهولة باستخدام أدواتك المفضلة. يعد "الضغط على زر واحد" والحصول على نتيجة أكثر ملاءمة من تنفيذ نفس تسلسل الإجراءات باستمرار. يمكن أن يساعد استخدام البرامج النصية في Nmap المتسللين على اختراق الأنظمة تلقائيًا، كما يقوم مسؤولو النظام بفحص الأنظمة بحثًا عن الثغرات الافتراضية وإصلاحها في الوقت المناسب.

بضع كلمات عن Nmap

أنا متأكد من أن معظم قراء مجلة Hacker يعرفون ما هو Nmap، وربما استخدموه أكثر من مرة لاستكشاف الشبكة وجمع المعلومات. ولمن نسي أو لا يعرف، أذكره في حالة:

  • Nmap هي أداة متعددة المنصات لفحص الشبكة والتحقق من أمانها وتحديد إصدارات نظام التشغيل والخدمات المتنوعة وغير ذلك الكثير. هذه أداة مساعدة مرنة للغاية وقابلة للتوسيع بسهولة، ويتم إنشاؤها بواسطة محرك البرمجة النصية NSE؛
  • NSE (Nmap Scripting Engine) هو أحد مكونات Nmap القوية التي تسمح للمستخدمين بكتابة البرامج النصية لأتمتة مجموعة واسعة من مهام الشبكة: تفاعل أكثر مرونة مع إمكانيات Nmap الحالية، واكتشاف الثغرات الأمنية واستغلالها، والمزيد. يعتمد NSE على مترجم لغة Lua؛
  • Lua هي لغة برمجة نصية مشابهة لـ JavaScript.

صياغة المشكلة

كما ذكرنا سابقًا، سنقوم اليوم بتوسيع وظائف Nmap من خلال كتابة البرامج النصية الخاصة بنا. يبدأ أي اختراق/اختبار عادةً بالاستطلاع وجمع البيانات. من أول الأشياء التي يجب التحقق منها هو وجود منافذ مفتوحة على المضيف قيد الدراسة وتحديد الخدمات قيد التشغيل. أفضل أداةربما لا توجد طريقة أفضل لجمع مثل هذه المعلومات من Nmap. عادةً ما تكون الخطوة التالية بعد الفحص إما البحث عن استغلال للخدمة الضعيفة التي تم العثور عليها، أو تحديد تسجيل الدخول: زوج كلمة المرور باستخدام طريقة القوة الغاشمة.

لنفترض أنك تستخدم أداة القوة الغاشمة THC-Hydra بشكل فعال لتخمين كلمات المرور للعديد من الخدمات (على سبيل المثال، HTTP-Basic، وSSH، وMySQL). في هذه الحالة، عليك ضبط الهيدرا على كل خدمة على حدة، وعليك أن تتذكر ميزات الخدمات والأعلام اللازمة لإطلاق الهيدرا. وإذا كانت هناك حاجة إلى توفير أكثر من خمس خدمات بكثير؟.. فلماذا لا يتم أتمتتها؟

لذلك دعونا نكتب نصًا بسيطًا يعمل على أتمتة عملية تشغيل Hydra لتحديد تسجيلات الدخول/كلمات المرور لخدمة واحدة (على سبيل المثال، PostgreSQL). للقيام بذلك سنحتاج إلى الأدوات التالية:

  • نماب؛
  • رباعي هيدروكانابينول- هيدرا؛
  • أي محرر النص.

إذا لم يكن Nmap و/أو Hydra مثبتًا لديك بالفعل، فقم بإصلاح ذلك على الفور:

$ sudo apt-get install nmap hydra

حسنًا، لنبدأ. البرامج النصية لـ Nmap عادية ملفات نصيةمع امتداد *.nse. لذا افتح محرر النصوص المفضل لديك وقم بإنشائه ملف جديد. سأستخدم فيم:

$ vim hydra.nse

هيكل البرنامج النصي NSE

قبل أن نبدأ بالكتابة، لا بد من القول أن جميع النصوص لها بنية معينة. بالإضافة إلى الكود نفسه، الذي يقوم بأتمتة إجراءات معينة، فهو يحتوي على وصف للبرنامج النصي (المقصود منه وكيفية استخدامه)، ومعلومات حول المؤلف، والتراخيص، والاعتماد على البرامج النصية الأخرى، والفئات التي ينتمي إليها البرنامج النصي ، وما إلى ذلك وهلم جرا. دعونا نلقي نظرة فاحصة على كل جزء من هذه الأجزاء.

وصف البرنامج النصي

يحتوي هذا القسم على وصف للبرنامج النصي وتعليقات المؤلف ومثال لعرض نتيجة البرنامج النصي على الشاشة وميزات إضافية.

بالنسبة لبرنامجنا النصي الذي يحدد تسجيلات الدخول/كلمات المرور لـ PostgeSQL، سيبدو الوصف كما يلي:

الوصف = [[ القوة الغاشمة لجميع الخدمات التي تعمل على المضيف المستهدف. يتم إرجاع النتائج في جدول يحتوي على كل مسار و/أو طريقة تم اكتشافها و/أو تسجيل الدخول و/أو كلمة المرور. ]] --- -- @usage -- nmap --script hydra [--script-args "lpath= ، ص مسار= "] -- -- @output -- PORT STATE SERVICE -- 80/tcp open http -- | هيدرا: -- | كلمة مرور تسجيل الدخول لأسلوب المسار -- | 127.0.0.1/private/index.html تمرير سجل الملخص -- |_ 127.0.0.1/simple/index.txt المستخدم الأساسي qwerty -- -- @args hydra.lpath: المسار إلى الملف مع تسجيلات الدخول. على سبيل المثال، -- nmap --script hydra --script-args="lpath=/home/my_logins.txt" - @args hydra.ppath: المسار إلى الملف بكلمات المرور. على سبيل المثال، -- nmap --script hydra --script-args="ppath=/home/my_pass.txt"

تعليق؛ -- - تعليق متعدد الأسطر؛ @usage، @output، @args - مثال على استدعاء البرنامج النصي وعرض النتيجة على الشاشة والوسائط الضرورية عند الاتصال.

أعلاه فيusage نرى تنسيق تشغيل البرنامج النصي. في هذه الحالة، يتم تحديد اسم البرنامج النصي (هيدرا) فقط. يصبح هذا ممكنًا إذا تم وضع البرنامج النصي في الدليل / /nmap/scripts/، وإلا فسيتعين عليك تحديد مسار مطلق أو نسبي له. في المستقبل، سنجعل من الممكن تحديد الوسائط عند تشغيل البرنامج النصي. يتم تحديد الوسائط باستخدام علامة --script-args ". في حالتنا، سنحدد المسار إلى الملف الذي يحتوي على معلومات تسجيل الدخول (lpath) وإلى الملف الذي يحتوي على كلمات مرور (ppath). الوسيطات اختيارية: بشكل افتراضي، سنبحث عن الملفات ذات الأسماء login.txt وpassword. txt في الدليل الحالي.

الفئات التي يوجد بها البرنامج النصي (الفئات)

عند كتابة برنامج نصي NSE، يمكنك تحديد فئته (أو عدة فئات). يعد هذا مفيدًا عندما لا يرغب مستخدم Nmap في استخدام برنامج نصي محدد، بل مجموعة من البرامج النصية الموجودة في نفس الفئة. أمثلة لبعض الفئات:

  • المصادقة - الفئة التي تحدد فيها البرامج النصية بيانات مصادقة المضيف الهدف؛
  • الغاشمة - فئة تساعد نصوصها البرمجية في تحديد تسجيلات الدخول وكلمات المرور لمختلف الخدمات؛
  • الافتراضي - الفئة التي تحتوي على البرامج النصية الأساسية. هناك بعض المعايير التي تحدد ما إذا كان البرنامج النصي ينتمي إلى هذه الفئة: سرعة المسح، والفائدة، والموثوقية، والسرية، والإخراج المرئي؛
  • البرامج الضارة - فئة تساعد في التعرف على البرامج الضارة.

على سبيل المثال، إذا كنت بحاجة إلى تشغيل كافة البرامج النصية من فئة المصادقة، فسيبدو الأمر كما يلي:

$ nmap --script=auth example.com

في هذه الحالة، سيتم إطلاق البرامج النصية من هذه الفئة واحدًا تلو الآخر للمضيف المحدد. ينتمي نصنا إلى الفئة الغاشمة. دعنا نضيف السطر التالي إلى الملف:

الفئات = ("الغاشمة")

معلومات الكاتب

يحتوي كل نص على معلومات حول مؤلفه. في حالتي:

المؤلف = "أولغا بارينوفا"

معلومات حول الترخيص المستخدم

ترحب Nmap بجميع تطورات المستخدم وتشجع المشاركة، بما في ذلك البرامج النصية لـ NSE. من خلال تحديد الترخيص، فإنك تؤكد الحق في مشاركة البرنامج النصي مع المجتمع. يبدو ترخيص Nmap القياسي كما يلي:

الترخيص = "مثل Nmap--راجع http://nmap.org/book/man-legal.html"

دعونا نضيف هذا السطر أيضًا إلى البرنامج النصي الخاص بنا.

التبعيات على البرامج النصية الأخرى

تحتوي هذه المنطقة على أسماء البرامج النصية NSE التي يجب تنفيذها قبل بدء تشغيل هذا البرنامج النصي للحصول على المعلومات الضرورية. على سبيل المثال،

التبعيات = ("smb-brute").

في حالتنا، لن تكون هناك حاجة لهذه الميزة، لذلك لن نقوم بإضافة تبعيات.

استضافة الميناء

يحتاج Nmap إلى معرفة الخدمات والمنافذ التي سيتم تشغيل البرنامج النصي عليها. هناك قواعد خاصة لهذا:

  • prerule() - يتم تنفيذ البرنامج النصي مرة واحدة قبل فحص أي مضيف، ويستخدم في بعض عمليات الشبكة؛
  • hostrule(host) - يتم تنفيذ البرنامج النصي لكل مضيف من الجدول الذي يأخذه كوسيطة؛
  • portrule(host, port) - يتم تنفيذ البرنامج النصي لكل مضيف ولكل منفذ من الجداول التي يأخذها كوسيطات؛
  • postrule() - يتم تنفيذ البرنامج النصي مرة واحدة بعد فحص أي مضيف. يستخدم بشكل أساسي لمعالجة النتائج التي تم الحصول عليها وتلخيص الإحصائيات وما شابه.

هناك مكتبات لإنشاء مثل هذه القواعد. في البرنامج النصي الخاص بنا، تحتاج فقط إلى تحديد رقم المنفذ (5432) واسم الخدمة (postgresql)، وبعد ذلك سيعمل فقط مع هذا المنفذ وهذه الخدمة. توجد مكتبة قصيرة المنافذ شائعة إلى حد ما مدمجة في NSE تتضمن طرقًا مختلفة. سوف نستخدم الطريقة

Port_or_service (المنافذ، الخدمات، النماذج الأولية، الحالات)

حيث المنافذ هي أرقام المنافذ، والخدمات هي أسماء الخدمات، والبروتوس هي أسماء البروتوكول (على سبيل المثال، udp)، والحالات هي الحالات.

تُرجع هذه الطريقة صحيحًا إذا كانت هناك خدمة قيد التحليل حاليًا موجودة على أحد المنافذ من قائمة المنافذ أو المقابلة لبعض الخدمات من قائمة الخدمات، بالإضافة إلى ذلك، يتم التحقق من البروتوكول والحالة للتأكد من امتثالهما، وإلا يتم إرجاع خطأ.
لكي يعمل البرنامج النصي الخاص بنا مع PostgreSQL، نحتاج إلى إضافة رقم المنفذ واسم الخدمة:

Portrule = shortport.port_or_service((5432)، ("postgresql"))

ربط المكتبات

دعنا نستطرد للحظة من بنية البرنامج النصي ونفكر في كيفية اتصال المكتبات الخارجية، والتي سنحتاج إلى الوصول إلى وظائفها.

الاستمرارية متاحة فقط للأعضاء

الخيار 1. انضم إلى مجتمع "الموقع" لقراءة جميع المواد الموجودة على الموقع

ستمنحك العضوية في المجتمع خلال الفترة المحددة إمكانية الوصول إلى جميع مواد Hacker، وزيادة الخصم التراكمي الشخصي الخاص بك وتسمح لك بتجميع تصنيف Xakep Score الاحترافي!

ستجد أدناه 20 أساسية أمثلة على استخدام أمر Nmap.

سوف تتعلم كيفية استخدام Nmap من سطر الأوامر في لينكسللبحث عن المضيفين النشطين على الشبكة وفحص المنافذ المفتوحة.

سوف ترى كيف الكشف عن نظام التشغيل عن بعداستخدام بصمات أصابع مكدس TCP/IP وكيف معرفة إصدار البرنامجيعمل على خادم بعيد.

سأوضح لك أيضًا كيفية القيام بذلك باستخدام Nmap المسح السري ، كيف تعريف جدار الحمايةوكيف تغيير عنوان MAC.

1. قم بمسح مضيف واحد أو عنوان IP

مسح عنوان IP منفصل:

$ نماب 192.168.1.1

مسح الخادم بواسطة اسم المضيف:

$ نماب server.site

يزيد مستوى التفاصيلنتائج مسح:

$ nmap -v الخادم .. الموقع

2. مسح عناوين IP المتعددة

مسح عناوين IP متعددة:

$nmap 192.168.1.1 192.168.1.2 192.168.1.3 $namp 192.168.1.1,2,3

مسح الشبكة الفرعية:

$ نماب 192.168.1.0/24 $ نماب 192.168.1.*

مسح نطاق عنوان IP (192.168.1.0 — 192.168.1.200):

$ نماب 192.168.1.0-200

3. ابحث عن أجهزة الكمبيوتر النشطة على الشبكة

نصيحة مفيدة:قم بمسح شبكتك باستخدام أمر ping واحد فقط! البحث عن كافة أجهزة الكمبيوتر النشطة!

مسح الشبكة للبحث المضيفين النشطين:

$ نماب -sn 192.168.1.0/24

4. مسح قائمة المضيفين من الملف

مسح قائمة المضيفين/الشبكات من ملف:

$ nmap -iL input.txt

تنسيق الملف:

# يمكن أن تكون الإدخالات بأي من التنسيقات التي يعمل بها Nmap من سطر الأوامر (عناوين IP، أو أسماء المضيفين، أو CIDR، أو IPv6، أو نطاقات الثماني #). يجب أن يتم فصل الإدخالات بمسافة واحدة أو أكثر، أو علامات التبويب #، أو الأسطر الجديدة. $ cat input.txt server.site 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. استبعاد IP/المضيفين/الشبكات من المسح

استبعاد الأهدافمن مسح Nmap:

$ nmap 192.168.1.0/24 -- استبعاد 192.168.1.1 $ nmap 192.168.1.0/24 -- استبعاد 192.168.1.1 192.168.1.5 $ nmap 192.168.1.0/24 -- استبعاد 192.168.1.1,2,3

استبعاد القائمةالمضيفين مأخوذة من الملف:

$ nmap 192.168.1.0/24 --excludefile Exception.txt

تنسيق الملف مع المضيفين المستبعدين مشابه للتنسيق المذكور أعلاه.

6. مسح منافذ محددة

مسح منفذ واحد:

$ نماب -ص 80 192.168.1.1

مسح منافذ متعددة:

$ نماب -ص 80.443 192.168.1.1

مسح نطاق المنفذ:

$ نماب -ص 80-1000 192.168.1.1

مسح جميع المنافذ:

$ nmap -p "*" 192.168.1.1

مسح العديد من أكثر المنافذ المشتركة:

$ nmap - المنافذ العليا 5 192.168.1.1 $ nmap - المنافذ العليا 10 192.168.1.1

7. تحديد بروتوكولات IP المدعومة

تحديد أي بروتوكولات IP(TCP، UDP، ICMP، إلخ.) يدعم المضيف الذي تم فحصه:

$ نماب -sO 192.168.1.1

8. فحص منفذ TCP/UDP

مسح كافة منافذ TCP:

$ نماب - إس تي 192.168.1.1

مسح منافذ TCP محددة:

$ nmap -p T:80 192.168.1.1

مسح جميع منافذ UDP:

$ نماب -سو 192.168.1.1

مسح منافذ UDP محددة:

$ nmap -p U:53 192.168.1.1

الجمع بين المسح من منافذ مختلفة:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. المسح السريع

تفعيل وضع سريعمسح:

$ نماب -F 192.168.1.1

* يقوم بمسح عدد أقل من المنافذ مقارنة بالمسح العادي.

10. إظهار سبب حالة المنفذ

يعرض سبب، والذي من خلاله يعتقد Nmap أن المنفذ في حالة معينة:

$ نماب - السبب 192.168.1.1

11. إظهار المنافذ المفتوحة فقط

يعرض فقط فتح المنافذ (أو ربما مفتوحة):

$ نماب --فتح 192.168.1.1

12. تعريف نظام التشغيل

واحدة من الاكثر شهرة وظائف Nmap عبارة عن اكتشاف لنظام التشغيل عن بعد يعتمد على تحليل مكدس TCP/IP.

يرسل Nmap سلسلة من حزم TCP وUDP إلى المضيف البعيد ويفحص الاستجابات.

بعد إجراء العديد من الاختبارات، يقوم Nmap بمقارنة النتائج بقاعدة البيانات الخاصة به، وإذا تم العثور على تطابق، فإنه يعرض معلومات حول نظام التشغيل.

شغله تعريف نظام التشغيل:

$ نماب -O 192.168.1.1

13. تحديد إصدار الخدمات

شغله تحديد إصدار الخدمات:

$ نماب -sV 192.168.1.1

* تحديد إصدارات البرامج التي تعمل على الخادم البعيد.

14. كشف جدار الحماية

معرفة ما إذا كان جهاز الكمبيوتر الخاص بك محميًا بأي مرشحات دفعةأو جدار الحماية:

$ نماب -سا 192.168.1.1

15. استبدال عنوان MAC

بديل عناوين ماك:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

تغيير عنوان MAC ماك عشوائي:

$ nmap --spoof-mac 0 192.168.1.1

16. فحص جدار الحماية بحثًا عن نقاط الضعف

تستخدم هذه الأنواع الثلاثة من عمليات الفحص ثغرة دقيقة في TCP RFC للتمييز بين المنافذ المفتوحة والمغلقة.

عند فحص نظام متوافق مع RFC، فإن أي حزمة لا تحتوي على مجموعة بتات SYN أو RST أو ACK ستؤدي إلى استجابة RST إذا كان المنفذ مغلقًا، أو عدم الاستجابة إذا كان المنفذ مفتوحًا.

لأن لم يتم تعيين أي من هذه البتات، وبالتالي فإن أي مجموعة من البتات الثلاثة المتبقية (FIN وPSH وURG) ستكون صحيحة.

TCP فارغيتم المسح:

$ نماب -sN 192.168.1.1

* لم يتم تعيين أي بتات (الإشارات في رأس TCP 0).

زعانف برنامج التعاون الفنييتم المسح:

$ نماب -sF 192.168.1.1

* يتم تعيين بت TCP FIN فقط.

عيد الميلاد TCPيتم المسح:

$ نماب -sX 192.168.1.1

* تم ضبط أعلام FIN وPSH وURG (تضيء العبوة مثل شجرة عيد الميلاد).

17. المسح السري

نصيحة مفيدة:ابق مجهولاً أثناء فحص المنافذ! استخدم Nmap + Tor + ProxyChains! اختبار اختراق آمن وسهل!

مزامنة TCPيتم المسح:

$ نماب -sS 192.168.0.1

* يُعرف بالفحص نصف المفتوح لأنه لا يفتح اتصالات TCP كاملة.

18. تعطيل اكتشاف المضيف (بدون اتصال)

لا تقم بتنفيذ الأمر ping على المضيفين قبل المسح:

$ نماب -Pn 192.168.1.1

19. تعطيل استخدام DNS

نصيحة مفيدة:هل تحتاج إلى تشديد أمان Linux الخاص بك؟ تشفير حركة مرور DNS للحماية من الانتحال!

لا تقم مطلقًا بعكس تحليل اسم DNS لكل عنوان IP نشط يتم اكتشافه.