Posts tagged: Nmap

BGA CEH Eğitimi Notları #Gün 1 – Ders 2

By | May 10, 2011

ÜstNot:Bilgi Güvenliği AKADEMİSİ’nde verdiğim Beyaz Şapkalı Hacker eğitimi katılımcılarından bir arkadaşın ders boyunca aldığı kısa notlar. http://wug.blogspot.com
Eğitime katılmayan arkadaşlar için eğitim içeriği ve kalitesi hakkında ipucu verecektir.

Bilgi Toplama (Devam)


Nmap Kullanım Kitapçığı(Türkçe)

By | August 4, 2010

Gökay BEKŞEN tarafından hazırlanan Nmap Kullanım Kitapçığı Bilgi Güvenliği AKADEMİSİ kütüphanesine eklenmiştir.

Kitapçık http://www.bga.com.tr/calismalar/nmap_guide.pdf adresinden indirilebilir.

Az bilinen yonleri ile Nmap

By | January 17, 2009

10 yılı aşkın süredir açık kaynak kodlu geliştirilen Nmap’e özellikle son birkaç yıldır güvenlik uzmanlarının işlerini kolaylaştıran özellikler ekleniyor. Yine yoğun olarak eğitim notlarını güncellerken aslında Nmap’in birçok özelliğini eksik bıraktığımı farkettim. Nmap notlarım iki senedir felan güncellenmediği için gözüme bayat geliyordu.

Bu aralar işimin de tamamen güvenlik testlerine kayması ile birlikte bol zaman bulabiliyorum. Eğitim notları hazırlarken buraya da ufak tefek eklemeler yapıyorum.

İşte nmap’in az bilinen fakat çok işe yarayan özelliklerinden birkaçı.

En sık kullanılan portlar üzerinde tarama

Port taramalarında en büyük sorunlardan biri hangi portların taramaya dahil edileceğidir. Bilindiği üzere TCP ve UDP protokollerinin her biri 65535 port olasılığı var.  Taramalarda tüm bu portları taramaya dahil edecek olursak tarama zamanı oldukça uzayacaktır. Dahil edilmezse de arada açık olup fakat bizim taramadığımız portlar olabilir. Bu sıkıntıyı aşmak için Nmap yazarı Fyodor geçen sene internet üzerinde yaptığı uzun araştırmalar sonucu internete açık portların belli oranını çıkartmış. Bu araştırma ile top 10, top 100, top 1000 gibi portları taratmak mümkün hale gelmiştir.

Taramanın sonuçlarına göre internette en fazla bulunan açık portlar şu şekildedir. Read more »

Nmap NSE kullanarak DNS Cache Poisoning Zafiyeti Testleri

By | January 13, 2009

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

Nmap’i zayıflık tarama aracı olarak kullanma-NSE

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/