Nmap scripting engine | Complexity is the enemy of Security http://blog.lifeoverip.net Life (Over) IP, Mon, 12 Jan 2009 21:14:35 +0000 en-US hourly 1 Nmap NSE kullanarak DNS Cache Poisoning Zafiyeti Testleri http://blog.lifeoverip.net/2009/01/13/nmap-nse-kullanaran-dns-cache-poisoning-zaafiyeti-testleri/ http://blog.lifeoverip.net/2009/01/13/nmap-nse-kullanaran-dns-cache-poisoning-zaafiyeti-testleri/#comments Mon, 12 Jan 2009 21:14:35 +0000 http://blog.lifeoverip.net/?p=907 Bir önceki blog girdisinde NSE’in faydalarından ve basit kullanımından bahsetmiştim. Şimdi de çeşitli NSE scriptlerini kullanarak manuel ya da scriptlerle yaptığımız işleri Nmap’e nasıl havale edeceğimize bakalım. Ilk test sistemlerin DNS cache poisoning’e açık olup olmadığını test etmek. Bugün yaptığım … Continue reading

The post Nmap NSE kullanarak DNS Cache Poisoning Zafiyeti Testleri first appeared on Complexity is the enemy of Security.

]]>
Bir önceki blog girdisinde NSE’in faydalarından ve basit kullanımından bahsetmiştim. Şimdi de çeşitli NSE scriptlerini kullanarak manuel ya da scriptlerle yaptığımız işleri Nmap’e nasıl havale edeceğimize bakalım. Ilk test sistemlerin DNS cache poisoning’e açık olup olmadığını test etmek. Bugün yaptığım bazı testler sonrası bu konunun oldukça önemli olduğunu anladım. Hatta derdimi anlatacak birileri bulsam tüm Türkiye’nin ip aralığını alıp bu testten gerçirmek isterdim ama arada bir arıza çıkar da sen bizim networkümüzü hangi hakla tararsın(Taramak? DNS sunucusuna çeşitli istekler göndermek illegal mıdır?) diye söylenir diye bu fikrimden şimdilik vazgeçtim.

İçinde birden fazla DNS sunucu barındıranların kendi sistemlerini test etmeleri için buraya Nmap ile testlerin nasıl yapılacağını yazayım belki birilerine faydası dokunur.
Dns cache poisoning açıklığını test etmek için hedef sistemde iki değer kontrol edilir. Birincisi dns sorgulamalarında kaynak portun değiştirilmesi, diğeri de dns sorgularındaki TXID değerinin yeteri kadar random/rastgele olması. Nmap ile bu iki değeri de kontrol edebiliriz. Hatta tek bir taramada her ikisi de kontrol edilebilir.

Önce kaynak port rastgeleliğini test edelim.

# nmap -P0 -sU -p 53 –script dns-random-srcport 100.100.100.2 -vv

Starting Nmap 4.76 ( http://nmap.org ) at 2009-01-12 11:14 GMT
Initiating Parallel DNS resolution of 1 host. at 11:14
Completed Parallel DNS resolution of 1 host. at 11:14, 0.00s elapsed
Initiating UDP Scan at 11:14
Scanning (100.100.100.2) [1 port]
Completed UDP Scan at 11:14, 2.02s elapsed (1 total ports)
SCRIPT ENGINE: Initiating script scanning.
Initiating SCRIPT ENGINE at 11:14
Discovered open port 53/udp on 100.100.100.2
Completed SCRIPT ENGINE at 11:14, 5.83s elapsed
Host host- (100.100.100.2) appears to be up … good.
Scanned at 2009-01-12 11:14:39 GMT for 8s
Interesting ports on (100.100.100.2):
PORT STATE SERVICE
53/udp open domain
|_ dns-random-srcport: 100.100.100.2 is POOR: 52 queries in 108.6 seconds from 1 ports with std dev 0

Read data files from: /usr/local/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 8.04 seconds
Raw packets sent: 2 (56B) | Rcvd: 0 (0B)

Benzer şekilde txid üretecinin tahmin edilebilirligini test etmek için

# nmap -P0 -sU -p 53 –script dns-random-txid 100.100.100.2 -vv
komutu kullanılabilir.

bt scripts # nmap -P0 -sU -p 53 –script dns-random-txid 100.100.100.5 -vv

Starting Nmap 4.76 ( http://nmap.org ) at 2009-01-12 11:50 GMT
Initiating Parallel DNS resolution of 1 host. at 11:50
Completed Parallel DNS resolution of 1 host. at 11:50, 0.10s elapsed
Initiating UDP Scan at 11:50
Scanning 100.100.100.5 [1 port]
Completed UDP Scan at 11:50, 2.02s elapsed (1 total ports)
SCRIPT ENGINE: Initiating script scanning.
Initiating SCRIPT ENGINE at 11:50
Discovered open port 53/udp on 100.100.100.5
Completed SCRIPT ENGINE at 11:50, 5.80s elapsed
Host 100.100.100.5 appears to be up … good.
Scanned at 2009-01-12 11:50:48 GMT for 8s
Interesting ports on 100.100.100.5:
PORT STATE SERVICE
53/udp open domain
|_ dns-random-txid: x.y.z.t is GREAT: 26 queries in 5.3 seconds from 26 txids with std dev 17822

Read data files from: /usr/local/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 8.09 seconds
Raw packets sent: 2 (56B) | Rcvd: 0 (0B)

Her iki testi de tek bir Nmap taraması ile gerçekleştirmek için scriptler arasına “, ” koyulması yeterli olacaktır.

Nmap tarafından dns ile ilgili yapılabilecek diğer taramalar.

bt scripts # ls dns*
dns-random-srcport.nse dns-random-txid.nse dns-recursion.nse dns-test-open-recursion.nse dns-zone-transfer.nse

The post Nmap NSE kullanarak DNS Cache Poisoning Zafiyeti Testleri first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2009/01/13/nmap-nse-kullanaran-dns-cache-poisoning-zaafiyeti-testleri/feed/ 10
Nmap’i zayıflık tarama aracı olarak kullanma-NSE http://blog.lifeoverip.net/2009/01/13/nmapi-zayiflik-tarama-araci-olarak-kullanma-nse/ http://blog.lifeoverip.net/2009/01/13/nmapi-zayiflik-tarama-araci-olarak-kullanma-nse/#comments Mon, 12 Jan 2009 21:01:56 +0000 http://blog.lifeoverip.net/?p=905 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 … Continue reading

The post Nmap’i zayıflık tarama aracı olarak kullanma-NSE first appeared on Complexity is the enemy of Security.

]]>
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.

http://nmap.org/book/nse.html
http://nmap.org/nsedoc/

The post Nmap’i zayıflık tarama aracı olarak kullanma-NSE first appeared on Complexity is the enemy of Security.

]]>
http://blog.lifeoverip.net/2009/01/13/nmapi-zayiflik-tarama-araci-olarak-kullanma-nse/feed/ 1