Server Message Block (SMB) protokolining xavfsizlik tarixi ko‘p yillar davomida uning murakkab amalga oshirilishi va ochiq tabiati tufayli juda yomon bo‘lib kelgan. Masalan, Windows 2000 va XP da autentifikatsiyasiz SMB null sessiyalari mavjud edi, shuningdek, yillar davomida SMB da ko‘plab buglar va zaifliklar aniqlangan. Shu sababli, SMB o‘ziga xos sinovlardan o‘tgan protokol sifatida tanilgan.
Biroq, SMB protokoli Windows versiyalari bilan birgalikda doimiy ravishda yangilanib va takomillashib kelmoqda.
NetBIOS xizmati TCP 139-portda va bir nechta UDP portlarda tinglaydi. Shuni bilish kerakki, SMB (TCP 445-port) va NetBIOS bir-biridan farq qiluvchi ikki xil protokoldir. NetBIOS mustaqil sessiya qatlami protokoli va xizmati bo‘lib, mahalliy tarmoqdagi kompyuterlarning bir-biri bilan aloqa qilishini ta'minlaydi. Zamonaviy SMB versiyalari NetBIOSsiz ishlay oladi, lekin eski tizimlar bilan moslik uchun NetBIOS over TCP (NBT) talab qilinadi va ko‘pincha bu ikkalasi birga yoqiladi. Shu sababli, SMB va NetBIOS xizmatlarini sanab o‘tish odatda bir-biri bilan bog‘liq jarayon hisoblanadi.
Bu xizmatlarni skan qilish uchun nmap kabi vositalardan foydalanish mumkin. Quyida namunaviy sintaksis keltirilgan:
kali@kali:~$ nmap -v -p 139,445 -oG smb.txt 192.168.50.1-254
kali@kali:~$ cat smb.txt
# Nmap 7.92 skani 2022-yil 17-mart, payshanba, soat 06:03:12 da boshlandi: nmap -v -p 139,445 -oG smb.txt 192.168.50.1-254
# Skan qilingan portlar: TCP(2;139,445) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 192.168.50.1 () Holati: O‘chiq
...
Host: 192.168.50.21 () Holati: Ishlayapti
Host: 192.168.50.21 () Portlar: 139/yopiq/tcp//netbios-ssn///, 445/yopiq/tcp//microsoft-ds///
...
Host: 192.168.50.217 () Holati: Ishlayapti
Host: 192.168.50.217 () Portlar: 139/yopiq/tcp//netbios-ssn///, 445/yopiq/tcp//microsoft-ds///
# Nmap 2022-yil 17-mart, payshanba, soat 06:03:18 da tugadi -- 254 IP manzil (15 ta host ishlayapti) 6.17 soniyada skan qilindi
41-ro‘yxat: NetBIOS xizmatini skan qilish uchun nmapdan foydalanish
Natijalarni matnli faylga saqladik va bu 139 va 445-portlari ochiq bo‘lgan hostlarni aniqlashga yordam berdi.
NetBIOS ma’lumotlarini aniqroq aniqlash uchun nbtscan kabi maxsus vositalardan foydalanish mumkin. Quyida UDP 137-portni ishlatib NetBIOS nomlarini so‘rash misoli keltirilgan:
kali@kali:~$ sudo nbtscan -r 192.168.50.0/24
192.168.50.0/24 dan manzillar uchun NBT nom skani amalga oshirilmoqda
IP manzil NetBIOS Nomi Server Foydalanuvchi MAC manzil
------------------------------------------------------------------------------
192.168.50.124 SAMBA <server> SAMBA 00:00:00:00:00:00
192.168.50.134 SAMBAWEB <server> SAMBAWEB 00:00:00:00:00:00
...
42-ro‘yxat: Qo‘shimcha NetBIOS ma’lumotlarini yig‘ish uchun nbtscan dan foydalanish
Skan ikkita hostga tegishli ikkita NetBIOS nomini aniqladi. Bu ma’lumotlar hostlarning tashkilot ichidagi rolini tushunishda foydali bo‘lib, keyingi ma’lumot yig‘ish jarayonlariga asos bo‘ladi.
Nmap SMB xizmatlarini aniqlash va sanab o‘tish uchun foydali NSE skriptlarini taklif qiladi. Bu skriptlar /usr/share/nmap/scripts katalogida joylashgan:
kali@kali:~$ ls -1 /usr/share/nmap/scripts/smb*
/usr/share/nmap/scripts/smb2-capabilities.nse
/usr/share/nmap/scripts/smb2-security-mode.nse
/usr/share/nmap/scripts/smb2-time.nse
/usr/share/nmap/scripts/smb2-vuln-uptime.nse
/usr/share/nmap/scripts/smb-brute.nse
/usr/share/nmap/scripts/smb-double-pulsar-backdoor.nse
/usr/share/nmap/scripts/smb-enum-domains.nse
/usr/share/nmap/scripts/smb-enum-groups.nse
/usr/share/nmap/scripts/smb-enum-processes.nse
/usr/share/nmap/scripts/smb-enum-sessions.nse
/usr/share/nmap/scripts/smb-enum-shares.nse
/usr/share/nmap/scripts/smb-enum-users.nse
/usr/share/nmap/scripts/smb-os-discovery.nse
...
43-ro‘yxat: Turli nmap SMB NSE skriptlarini topish
Bu skriptlar SMB orqali OS aniqlash, sanab o‘tish va boshqa vazifalarni bajaradi.
Eslatma: SMB aniqlash skripti faqat SMBv1 yoqilgan bo‘lsa ishlaydi. Bu zamonaviy Windows versiyalarida odatiy emas, lekin ko‘plab eski tizimlar hali ham SMBv1 dan foydalanadi.