Oldingi bo‘limda vuln NSE toifasi va vulners skripti haqida o‘rgandik. vulners skripti aniqlangan versiyaga mos barcha CVE'larni umumiy ko‘rinishda taqdim etsa-da, ba'zida biz ma’lum bir CVE uchun tekshiruv o‘tkazishni xohlaymiz. Bu ayniqsa, tarmoqda ma'lum bir zaiflik mavjudligini aniqlash kerak bo‘lganda foydalidir. Agar buni vulners skripti orqali qilsak, juda katta hajmdagi ma’lumotlarni ko‘rib chiqishimizga to‘g‘ri keladi. Zamonaviy zaifliklarning ko‘pi uchun esa maxsus NSE skriptlarini qo‘lda qo‘shishimiz talab etiladi.

Quyida CVE-2021-41773 ni qanday tekshirishni amalda ko‘rib chiqamiz. Ushbu zaiflikka mos NSE skriptni topish uchun oddiy qidiruv tizimidan foydalanishimiz mumkin: CVE-2021-41773 nse deb qidiramiz.

47-rasm: Google’da maxsus CVE uchun NSE skript qidirilmoqda

Qidiruv natijalarining boshida quyidagi havola paydo bo‘ladi:

GitHub havolasi — bu sahifada ushbu zaiflikni tekshiradigan skript mavjud.

Ushbu skriptni yuklab olib, quyidagi manzilga saqlaymiz:

/usr/share/nmap/scripts/http-vuln-cve2021-41773.nse

(bu boshqa NSE skriptlarining nomlash uslubiga mos keladi).

Skriptni ishlatishdan oldin esa script.db faylini yangilashimiz kerak bo‘ladi:

kali@kali:~$ sudo cp /home/kali/Downloads/http-vuln-cve-2021-41773.nse /usr/share/nmap/scripts/http-vuln-cve2021-41773.nse

kali@kali:~$ sudo nmap --script-updatedb
[sudo] password for kali:
Starting Nmap 7.92 ( <https://nmap.org> )
NSE: Updating rule database.
NSE: Script Database updated successfully.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.54 seconds

6-listing – NSE skriptni ko‘chirish va script.db faylini yangilash

Endi skriptni ishga tushiramiz. Buning uchun skript nomi, port raqami, va xizmat versiyasini aniqlash (-sV) parametrlarini beramiz:

kali@kali:~$ sudo nmap -sV -p 443 --script "http-vuln-cve2021-41773" 192.168.50.124
Starting Nmap 7.92 ( <https://nmap.org> )
Host is up (0.00069s latency).

PORT    STATE SERVICE VERSION
443/tcp open  http    Apache httpd 2.4.49 ((Unix))
| http-vuln-cve2021-41773:
|   VULNERABLE:
|   Path traversal and file disclosure vulnerability in Apache HTTP Server 2.4.49
|     State: VULNERABLE
|     Apache HTTP Server 2.4.49 dagi yo‘lni normallashtirishdagi o‘zgarishda xatolik aniqlangan. Hujumchi ushbu xatolikdan foydalanib, serverdagi `DocumentRoot` tashqarisidagi fayllarga yo‘lni ko‘rsatish orqali ularga kirishi mumkin. Agar bu fayllar “require all denied” bilan himoyalanmagan bo‘lsa, ular ko‘rinadi. Shuningdek, bu xatolik CGI skriptlar kabi interpretatsiya qilinadigan fayllarning manbasini ham ochib qo‘yishi mumkin. Ushbu xatolik “yovvoyi” holatda ekspluatatsiya qilinmoqda va faqat Apache 2.4.49 versiyasiga taalluqli.
|
|     Oshkor qilingan sana: 2021-10-05
|     Tekshiruv natijalari:
|
|         Fayl o‘qilishini tasdiqlovchi link: <https://192.168.50.124:443/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd>
...
Nmap done: 1 IP address (1 host up) scanned in 6.86 seconds

7-listing – CVE-2021-41773 uchun NSE skript natijasi

Natijalardan ko‘rinib turibdiki, nishon Apache server CVE-2021-41773 zaifligiga chalingan va bu haqda batafsil ma'lumotlar taqdim etilgan.


Garchi Nmap an’anaviy zaiflik skaneri bo‘lmasa-da, NSE moduli yordamida engil zaiflik tekshiruvlarini amalga oshirish mumkin. Pentest davomida to‘liq zaiflik skaneri mavjud bo‘lmagan holatlarda yoki boshqa vositalarning topilmalarini tasdiqlashda Nmap’dan foydalanish mumkin.

Ammo, har qanday zaiflik skanerida bo‘lgani kabi, xavfsizlikni hisobga olish kerak. Har bir NSE skript ma'lumotli (safe), shovqinli (intrusive), xavfsiz yoki xavfli ekanini bildiruvchi kategoriyalarga ega. Ammo shunga qaramay, skriptni ishlab chiqargan manbaning ishonchliligini ham tekshirish lozim. Ba'zi holatlarda zararli kod bo‘lishi mumkin va bu sizning tizimingizga tahdid soladi. Shuning uchun skript zarur funksiyani bajarayaptimi va ishonchlilik darajasi qanday — degan jihatlarni har doim tekshiring.