url

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

  • Network discovery

يمكن استخدام Nmap Scripting Engine لبرمجة سكربتات تساعد اثناء عملية اكتشاف الشبكة وايضا الاداة تحتوي على العديد من السكربتات الموجودة بشكل افتراضي ويمكن ايضا المشاركة بالاكواد والسكربتات المبرمجة مع مجتمع مطوري اداة nmap واضافة سكربتات الى الاداة ، على سبيل المثال يمكن الاستفادة من عملية اكتشاف الشبكة وبرمجة سكربتات تقوم بعمل استعلام whois اثناء الفحص ودمجها مع التقرير الناتج او يمكن الاستعلام عن بعض السجلات الخاصة بخوادم DNS اثناء عملية الفحص ايضا يمكن تنفيذ استعلامات SNMP مخصصة لبعض العناوين على الشبكة  او التنصت على احد البورتات والكثير من الامور التي يمكن تنفيذها اثناء عملية اكتشاف الشبكه .
  • version detection

الاداة بشكل افتراضي تستطيع التعرف على المئات من الخدمات الموجودة على الشبكة وتحديد الخدمة بالضبط مع الاصدار المستخدم للبرنامج مثل OpenSSL , vsftp ,openSSH , Apache والعديد من البرمجيات المستخدمة في عالم الشبكات ولكن اذا ماكان هناك نوع محدد تريد البحث عنه واكتشافة في الشبكة وهذة الخدمة او البرمجية ليست منتشرة لدرجة اضافتها الى معلومات الاداة في هذة الحاله سوف نقوم بكتابة سكربت خاصة بنا ونضيف الخدمات المراد اضافتها واكتشافها اثناء عملية الفحص ، ايضا من الممكن ان بعض البرامج عندما تترقى الى اصدار احدث تتغير بعض الامور الجوهرية في الاداة مما يجعلها لا تكشف من الاداة كذلك هنا تكمن مهمة NSE في اضافة الكود المطلوب وانت قم بقياس الامر على بقية الحالات .
  • Vulnerability detection

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

  • Backdoor detection

نفس فكرة النقطة السابقة ولكن الاختلاف هو ليس الكشف عن الثغرات وانما الكشف عن الباكدور ، يمكن للفيروسات او الديدان او اي ملفات خبيثه انتشرت على شبكة الانترنت ان تترك باكدور لتتمكن من التحكم بالشبكات والاجهزة ، ويمكن استخدام NSE في البحث عن اي باكدور في شبكة الانترنت .

  • Vulnerability exploitation

يمكن كتابة استغلالات للثغرات وتنفيذها من الاداة وتطبيق الاستغلال على مجموعة كبيرة من الاجهزة دفعة واحده اثناء عملية الفحص ويمكن الاستفادة من النقطة السابقة Vulnerability detection وهي البحث في مجموعة كبيرة من الشبكات اذا ماكانت مصابة بالثغره ثم استغلالها في نفس الوقت .

كانت هذة النقاط الرئيسة المتوقعة والتي يمكن استخدامها مع اداة nmap ولكن المجال اوسع ومفتوح للابتكار والأبداع  ، يمكن برمجة السكربتات بواسطة لغة برمجة Lua programming language هناك كتاب وتم توثيق اللغه فيه اسمة Programming in Lua, Second Edition  ايضا Lua 5.1 Reference Manual .

تستخدم NSE في الاداة عن طريق الخيار sC- او script– والذي من خلالة نختار السكربتات الموجودة افتراضيا في الاداة ، هناك مجموعة من السكربتات بمهمام مختلفه يمكن استخدامها ايضا يمكن ان تقوم باضافة سكربتك الخاص ، ايضا يمكنك ايتعراض المساعدة عن طريق الخيار script-help-- 

جميع النصوص البرمجية التي تنفيذ في اداة nmap على هيئة سكربتات لا تعمل كـ sandbox وقد تتسبب الاكواد الخاطئة في تلف نظامك او اختراقة ولا تستخدم اي سكربتات لأي اشخاص غير موثوق بهم

تم وضع تصنيف من قبل مطوري أداة nmap  حسب موقعهم الرسمي لتصنيف السكربتات وتحت اي فئة تنتمى كالتالي

nmap scripting engine tutorial

كما هو ملاحظ في الصورة اعلى الصنيفات الرئيسة للسكربتات الافتراضية للاداة ، اذا كان هناك سكربت ليس من السكربتات الافتراضية فيجب عليك تحديده واختيار مسارة عن طريق الخيار script–

بعض الامثلة لأستخدام NSE

مثال لأستخدام Authentication

script-auth

كما تلاحظون من المثال السابق عندما قمنا باختيار auth نجح الفحص في كشف عمليات تسجيل الدخول وأظهار حساب المستخدم .

default-script

هذا المثال عندما تم اختيار Default Scripts وهي السكربتات التي تندرج تحت التصنيف الافتراضي اظهرت معلومات عن النظام بشكل رائع ودقيق .

script-external

تصنيف سكربتات external يظهر لك معلومات بالاستعانه بمصادر خارجية ايضا معلومات الدومين واي معلومات لها علاقة بمصدر خارجي .

discovery1

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

script-vuln

كم هوا ظاهر في الصورة تم الكشف عن ثغره موجودة في الهدف مع ان اداة nmap ليست سواء اداة فحص ولكن مع NSE او السكربتات في NSE هي من قامت بكشف الثغره اصبح الامر ممتع بالفعل .

هذه كانت بعض الامثلة التي يمكن استخدامها مع الامر sC- والذي يتم اختيار بعض السكربتات الموجوده بشكل افتراضي في الاداة اما اذا اردت انا استخدام سكربت خاص بي قمت ببرمجتة او قمت بتنزيلة من الانترنت يمكن استخدامه مع الامر script–  سوف نقوم الان باستعراض مثال يوضح الامر :

الكشف عن معلومات SQL Servers

screenshot

كما هو ظاهر من الصورة قمنا بتفيذ امر الفحص لبورت 1433 وهو البورت المستخدم عادة في SQL Servers وقمنا باستخدام الخيار script– لتحديد سكربت ms-sql-info ليظهر لنا معلومات مهمة عن السيرفر

SQL Servers

بعد ان قمنا بكشف معلومات SQL Servers قمنا بالبحث والتحقق من احتمالية تنفيذ هجمات التخمين او اذا ماكان الباسورد ضعيف ويمكن تخطي عملية Authentication ولكن بالفعل لم نستطيع اكتشاف كلمة المرور ولم تكن كلمة المرور الافتراضية لهذا سوف نقوم بتنفيذ عملية التخمين على السيرفر عن طريق الامر

nmap -p1433 –script ms-sql-brute –script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt

يمكن ايضا المحاولة والكشف لمعرفة اذا ماكان الباسورد null اي قيمة فارغه

null

ايضا يمكن الاستعلام عن الجداول الموجودة في القاعدة واظهارها

qurey

من الرائع ايضا ان نقوم بتنفيذ اوامر النظام على السيرفر من داخل اداة nmap

nmap cmd

هذه مجرد امثلة بسيطة جدا بالمقارنة بقوة NSE  ويجب عليك التركيز عليها والبحث عن افضل السكربتات في عالم اداة nmap واستخدامها سوف تسهل عليك الكثير من الامور

الان هل اصبحت اداة nmap اكثر قوة بالنسبة لك ، وبواسطة nmap script engine يمكن تنفيذ امور خرافية اثناء عملية الفحص .