safe، default، discovery، vuln، auth، brute، broadcast، intrusive و... قرار میگیرن.ساختار کلی NSE
nmap --script <script> <target>
مثلاً:
nmap --script=banner 192.168.1.10
اجرای چند اسکریپت:
nmap --script=banner,http-title 192.168.1.10
اجرای یک Category:
nmap --script=default 192.168.1.10
یا:
nmap --script=safe 192.168.1.10
اجرای اسکریپتهای آسیبپذیری:
nmap --script=vuln 192.168.1.10
خود Nmap هم توصیه میکنه با
--script=all احتیاط کنی، چون مجموعه اسکریپتها میتونه شامل موارد خطرناک، brute-force و DoS باشه.1. Default Scripts
سادهترین روش استفاده از NSE:
nmap -sC 192.168.1.10
این دستور معادل:
nmap --script=default 192.168.1.10
هست.
معمولاً برای شروع Enumeration خیلی کاربردیه:
nmap -sC -sV 192.168.1.10
اینجا:
-sC → اسکریپتهای Default-sV → تشخیص Version سرویسهامثلاً ممکنه متوجه بشی روی پورت 80 یک Apache مشخص در حال اجراست و عنوان Web Server هم استخراج بشه.
2. Banner
برای گرفتن Banner سرویس:
nmap --script=banner 192.168.1.10
یا روی پورت مشخص:
nmap -p 22 --script=banner 192.168.1.10
برای Enumeration سرویسها خیلی مفیده.
3. HTTP
یکی از مهمترین بخشهای NSE مربوط به Web هست.
مثلاً گرفتن عنوان سایت:
nmap -p 80,443 --script=http-title 192.168.1.10
Headerهای HTTP:
nmap -p 80,443 --script=http-headers 192.168.1.10
اطلاعات بیشتر درباره HTTP:
nmap -p 80,443 --script=http-enum 192.168.1.10
این مورد میتونه مسیرها و منابع شناختهشده روی Web Server رو بررسی کنه.
برای SSL/TLS:
nmap -p 443 --script=ssl-cert 192.168.1.10
یا:
nmap -p 443 --script=ssl-enum-ciphers 192.168.1.10
دومی برای بررسی Cipher Suiteهای TLS بسیار کاربردیه.
4. SSH
دیدن Host Key:
nmap -p 22 --script=ssh-hostkey 192.168.1.10
بررسی الگوریتمهای SSH:
nmap -p 22 --script=ssh2-enum-algos 192.168.1.10
بررسی روشهای Authentication:
nmap -p 22 --script=ssh-auth-methods 192.168.1.10
اینها برای Security Assessment یک SSH Server خیلی مفیدن. مستندات رسمی NSE هم
ssh-hostkey و ssh2-enum-algos رو برای همین نوع Enumeration معرفی میکنه.5. SMB و Windows
برای محیطهای Windows/Active Directory، NSE اسکریپتهای بسیار خوبی داره.
مثلاً:
nmap -p 445 --script=smb-os-discovery 192.168.1.10
بررسی SMB Protocol:
nmap -p 445 --script=smb-protocols 192.168.1.10
بررسی Security Mode:
nmap -p 445 --script=smb-security-mode 192.168.1.10
بررسی SMB2:
nmap -p 445 --script=smb2-security-mode 192.168.1.10
برای یک Windows Lab میتونی مثلاً:
nmap -sV -p 445 --script="smb-os-discovery,smb-protocols,smb-security-mode" 192.168.1.10
اجرا کنی.
6. DNS
اطلاعات DNS:
nmap -p 53 --script=dns-recursion 192.168.1.10
بررسی DNS Zone Transfer:
nmap -p 53 --script=dns-zone-transfer 192.168.1.10
Enumeration نامهای DNS:
nmap --script=dns-brute example.com
dns-brute برای پیدا کردن Subdomainهای رایج استفاده میشه و حتی امکان بررسی SRV Recordها رو هم داره. این اسکریپت در دسته intrusive و discovery قرار گرفته، بنابراین روی دامنه دیگران بدون مجوز نباید استفاده بشه.7. SNMP
برای تجهیزات شبکه و سرویس SNMP:
nmap -sU -p 161 --script=snmp-info 192.168.1.1
SNMP معمولاً روی UDP/161 قرار داره.
برای Network Engineering، این بخش مخصوصاً روی Router، Switch، Printer و تجهیزات Monitoring کاربرد داره.
8. FTP
بررسی Anonymous FTP:
nmap -p 21 --script=ftp-anon 192.168.1.10
اطلاعات FTP:
nmap -p 21 --script=ftp-syst 192.168.1.10
بررسی قابلیتهای FTP:
nmap -p 21 --script=ftp-syst,ftp-anon 192.168.1.10
9. SMTP
برای Mail Server:
nmap -p 25 --script=smtp-commands 192.168.1.10
بررسی کاربران SMTP:
nmap -p 25 --script=smtp-enum-users 192.168.1.10
اطلاعات SMTP:
nmap -p 25 --script=smtp-commands,smtp-enum-users 192.168.1.10
10. RDP
برای Windows Remote Desktop:
nmap -p 3389 --script=rdp-ntlm-info 192.168.1.10
این اسکریپت میتونه اطلاعاتی از سرویس RDP و NTLM جمعآوری کنه.
@Netwo0rk