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 server
Nmap 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 allowed
Nmap 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_MD5
Nmap 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.
Saygılar..
|