NSE- Nmap Scripting Engine
Nmap’in en begendigim ozelliklerinden biri cok yaygin kullanilmayan NSE’dir. NSE(Nmap Script Engine) basit scriptlerle Nmap’in gucunu kat kat arttıran bir bileşen. NSE ile Nessus benzeri zayıflık tarama sistemlerinin yaptığı bazı taramaları yapabilirsiniz. Mesela Turkiye’deki Zone transfere acık DNS sunucularını bulmak isterseniz NSE scriptleri arasından zone-transfer scriptini kullanabilirsiniz. Böylece hem ek bir program kullanmadan hem de Nmap’in hızını arkanıza alarak istediğiniz sonuçlara kısa sürede ulaşmış olursunuz.
Her ne kadar Nmap yazarı Fyodor yazılımının Nessus ya da Metasploit benzeri bir arac olmayacağını söylese de kullanıcılar tarafından hazırlanan lua scriptleri gidişatın o yönde olduğunu gösteriyor. Scriptler arasında basit sql-injection’dan tutun güncel Windows exploit denemelerine kadar bir sürü çeşit var. Kısaca Nmap NSE özelliği ile Network tarayıcı kategorisine sığmaz olmuştur.
Uzun zamandır NSE konusunu detaylı incelemek için fırsat kolluyordum. Pentest eğitimi için notlarımı zenginleştireyim derken biraz daha detaylı inceleme fırsatı buldum ve çok hoşuma gitti. Buraya da basit basit aktarmaya çalışacağım…
NSE ile ilgili Nmap parametreleri
SCRIPT SCAN:
-sC: equivalent to –script=safe,intrusive
–script=<Lua scripts>: <Lua scripts> is a comma separated list of
directories, script-files or script-categories
–script-args=<n1=v1,[n2=v2,…]>: provide arguments to scripts
–script-trace: Show all data sent and received
–script-updatedb: Update the script database.
NSE’i test etmek için en basitinden -sC parametresi kullanılabilir.
# nmap -P0 -sC -p 21,22,23,25,80,3306 mail.lifeoverip.net
Starting Nmap 4.60 ( http://nmap.org ) at 2009-01-12 20:47 GMT
Interesting ports on mail.lifeoverip.net (80.93.212.86):
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp closed telnet
25/tcp open smtp
| SMTP: Responded to EHLO command
| mail.sistembil.com
| AUTH LOGIN CRAM-MD5 PLAIN
| AUTH=LOGIN CRAM-MD5 PLAIN
| PIPELINING
| 250 8BITMIME
| Responded to HELP command
|_ qmail home page: http://pobox.com/~djb/qmail.html
80/tcp open http
|_ HTML title: 302 Found
3306/tcp open mysql
| MySQL Server Information: MySQL Error detected!
| Error Code was: 1130
|_ Host ‘85.96.187.185’ is not allowed to connect to this MySQL serverNmap done: 1 IP address (1 host up) scanned in 6.237 seconds
NSE scriptleri /usr/local/share/nmap/scripts dizini altında bulunur. Ara ara svn update yaparak yeni eklenen imzalar indirilebilir. Her imza ekleme sonrası nmap –script-updatedb komutunun çalıştırılması gerekir.
Örnek Kullanımlar:
Anonim ftp destekleyen sistemlerin bulunması
# nmap -P0 -p 21 –script anonFTP.nse ftp.linux.org.tr
Starting Nmap 4.60 ( http://nmap.org ) at 2009-01-12 20:55 GMT
Interesting ports on ftp.linux.org.tr (193.140.100.100):
PORT STATE SERVICE
21/tcp open ftp
|_ Anonymous FTP: FTP: Anonymous login allowedNmap done: 1 IP address (1 host up) scanned in 0.152 seconds
Hedef sistemin SSLV2 desteklediğinin öğrenmek için
# nmap -P0 -p 443 –script SSLv2-support blog.lifeoverip.net
Starting Nmap 4.60 ( http://nmap.org ) at 2009-01-12 20:57 GMT
Interesting ports on mail.lifeoverip.net (80.93.212.86):
PORT STATE SERVICE
443/tcp open https
| SSLv2: server still supports SSLv2
| SSL2_DES_192_EDE3_CBC_WITH_MD5
| SSL2_RC2_CBC_128_CBC_WITH_MD5
| SSL2_RC4_128_WITH_MD5
| SSL2_RC4_64_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC2_CBC_128_CBC_WITH_MD5
|_ SSL2_RC4_128_EXPORT40_WITH_MD5Nmap done: 1 IP address (1 host up) scanned in 0.114 seconds
Yukarıda basit scriptleri kullanarak Nmap’e port tarama haricinde bazı işler yaptırdık. Scriptler incelenirse daha ileri seviye işlemlerin yaptırılabileceği görülecektir.
NSE ve yazılan scriptler hakkında detay bilgi için aşağıdaki adresler kullanılabilir.
http://nmap.org/book/nse.html
http://nmap.org/nsedoc/
-sC taramasını yapabiliyorum çıktı aynı yazıdaki gibi oluyor ama -script …. kullanarak yaptığımda sadece portlar hakkında bilgi veriyor.Eğer sürümünden şüpheleniyorsanız sürümüde nmap 5.21 yani son sürüm.Cevaplarsanız sevinirim