Nessus'ga muqobil sifatida, biz avtomatlashtirilgan zaifliklarni skanerlashni amalga oshirish uchun NSE dan ham foydalanishimiz mumkin. NSE skriptlari Nmap’ning asosiy funksiyalarini kengaytirib, turli tarmoqqa oid vazifalarni bajarishga imkon beradi. Ushbu vazifalar zaifliklarni aniqlash, bruteforce (kuch bilan parol topish), tarmoqni aniqlash kabi holatlar asosida kategoriyalarga bo‘lingan. Shuningdek, bu skriptlar Nmap’ning versiyalarni aniqlash va ma’lumot to‘plash imkoniyatlarini ham kengaytiradi.
Bir NSE skript bir nechta kategoriyaga tegishli bo‘lishi mumkin. Masalan, u safe (xavfsiz) va vuln (zaiflik), yoki intrusive (aralashuvchi) va vuln bo‘lishi mumkin. “Safe” kategoriyasidagi skriptlar tizim yoki xizmatga hech qanday salbiy ta’sir ko‘rsatmaydi, ya’ni barqarorlikka xavf tug‘dirmaydi. Ammo “intrusive” kategoriyasidagi skriptlar esa xizmat yoki tizimni ishdan chiqarib yuborishi mumkin. Shuning uchun, barqarorlik muammolarining oldini olish maqsadida, har qanday NSE skript yoki kategoriya ishga tushirilishidan avval uning ta’sirlarini to‘liq tushunib chiqish zarur.
Skriptning qaysi kategoriya(lar)ga tegishli ekanligini NSE hujjatlaridan yoki tizimdagi NSE skriptlar katalogidan aniqlash mumkin.
Ushbu bo‘limda biz Nmap’ni yengil (lightweight) zaifliklarni aniqlovchi skaner sifatida ishlatish uchun vuln kategoriyasiga e’tibor qaratamiz.
Kali Linux tizimimizda, NSE skriptlari /usr/share/nmap/scripts/ katalogida joylashgan bo‘lib, .nse fayl kengaytmalariga ega. Ushbu katalogda, skriptlarning barchasini ro‘yxatga oluvchi script.db fayli ham mavjud. Biz ushbu fayldan vuln kategoriyasidagi skriptlarni ko‘rish uchun foydalanishimiz mumkin:
kali@kali:~$ cd /usr/share/nmap/scripts/
kali@kali:/usr/share/nmap/scripts$ cat script.db | grep "\\"vuln\\""
Entry { filename = "afp-path-vuln.nse", categories = { "exploit", "intrusive", "vuln", } }
Entry { filename = "broadcast-avahi-dos.nse", categories = { "broadcast", "dos", "intrusive", "vuln", } }
Entry { filename = "clamav-exec.nse", categories = { "exploit", "vuln", } }
Entry { filename = "distcc-cve2004-2687.nse", categories = { "exploit", "intrusive", "vuln", } }
Entry { filename = "dns-update.nse", categories = { "intrusive", "vuln", } }
...
Ro‘yxat 4 – Nmap skriptlar bazasi (script.db)
Har bir yozuvda skript fayl nomi va uning kategoriyalari ko‘rsatilgan. Fayl nomi – bu NSE katalogidagi skript nomidir.
Ba’zi standart NSE skriptlar eskirib qolgan bo‘lishi mumkin. Yaxshiyamki, vulners nomli skript integratsiya qilingan bo‘lib, u aniqlangan xizmat versiyalari bo‘yicha Vulners Vulnerability Database dan eng so‘nggi zaifliklar ma’lumotini beradi. Ushbu skript quyidagi kategoriyalarga tegishli: safe, vuln va external.
Zaiflikni aniqlovchi skanerlashni boshlashdan oldin, Nmap’ning --script parametri bilan tanishib chiqamiz. Ushbu parametr qaysi NSE skriptlar ishga tushirilishini belgilaydi. Bu parametrga quyidagilarni uzatish mumkin:
Keling, vuln kategoriyasidagi barcha NSE skriptlarni ishlatgan holda Nmap skanerlashini ishga tushiramiz. Bu uchun quyidagi buyruqdan foydalanamiz: