Forum

NMAP nedir? Tarama ...
 
Bildirimler
Hepsini Temizle

NMAP nedir? Tarama türleri

1 Yazılar
1 Üyeler
0 Likes
11.6 K Görüntüleme
(@onurserhatuygur)
Gönderiler: 129
Estimable Member
Konu başlatıcı
 

NMAP nedir? Nmap, sistem
yöneticilerinin geniş ağlarını taramasında ve hangi istemci/sunucusunda
hangi servislerin çalıştığını saptamasında kullanabileceği bir araç
olarak tasarlandı.

Nmap geniş bir tarama yelpazesini destekler ; UDP, TCP Connect,
TCP
SYN (Yarı Açık), FTP Proxy Bounce Atağı, TCP FIN, TCP Xmass Tree, ICMP
(Ping Sweep), ACK Sweep, SYN Sweep ve Null Scan bunlara birkaç
örnektir. Nmap ayrıca gelişmiş özelliklere sahip bir araçtır, TCP/IP
parmak izleri ile hedefin işletim sistemini saptayabilir, Stealth
(Gizli) tarama yapabilir, taramalarında dinamik zamanlamalar
kullanılabilir, paralel taramalar yapabilir, ping atarak aktif hostları
bulabilir, RPC taraması yapabilir, esnek port ve hedef özelliklerine
sahiptir.

Unutulmaması gereken en önemli nokta hedef sistemde açık olan portların nmap’in
standart olarak nitelendirilen ve /etc/services dosyasından aldığı port numarası ve sunucu servis karşılaştırılmaları tablosu
aracılığıyla tespit edilmiş olmasıdır.

Örnek
olarak standart kullanımda 21/TCP ftp protokolü için kullanılan bir
port olması dolayısıyla bu portu açık bulan nmap servisin ftp olduğunu
bildirecektir, ancak o portu dinleyen servis farklı bir servis (örnegin
vnc sunucusu) olabilir.

Şimdi neler yapabileceği anlatıldığına göre sıra bunların nasıl yapıldığını anlatmaya geldi.

Tarama Türleri

-sT TCP Connect Scan : En basit anlamda çalışan tarama tekniğidir, hedef porta bağlanmak için SYN paket gönderir,
karşılığında
SYN/ACK paketi gelirse ACK paketi göndererek porta bağlanır ve portun
açık olduğunu rapor eder, eğer SYN paketine RST cevabı gelirse portun
kapalı olduğunu rapor eder. Bu tarama türünde extra paket özelliklerine
sahip olmak gerekmediği için root olmayan kullanıcılarda kullanabilir.
En kötü özelliği açılan tüm oturumların hedef sistem, Firewall yada IDS
tarafından loglanıyor olmasıdır.

-sS TCP SYN Scan : Yarı açık olarakta tanınan SYN tarama oturumu tamamen açmaz, SYN paketinin karşılığında
SYN/ACK
paketi geldiğinde portun açık olduğunu rapor eder ve RST paketi
göndererek oturumu kapatır, port kapalı ise hedef zaten direk RST
cevabı gönderir. Bu yöntemi uygulayabilmek için root olmak
gerekmektedir. IDS ve Firewall’lara yakalanma ihtimali ve loglanma
ihtimali azdır.

-sF, -sX, -sN
: Bu tarama yöntemleri ise sırayla gizli FIN , Xmass Tree ve Null
Scan’dir. IDS ve Firewall’ların SYN taramaları loglayabileceğini
düşünerek kullanılan yöntemlerdir. FIN, Xmass Tree ve Null scan
paketlerinin gönderilmesi durumunda hedefin RFC 793’te açıklandığı gibi
kapalı olan tüm portlar için RST cevabı göndermesi mantığına dayanır. Bu
yöntem
IPeye ve NmapNT ile windows platformunda da uygulanabilmektedir. Ayrıca
bu tarama yöntemleri açık port buluyorsa (FIN taramada Windows
sistemlerindeki tüm portlar açık olarak görünmektedir, çünkü Windows
tabanlı sistemler bir oturuma ait olmayan FIN paketleri ile
karşılaşıyorsa tümünü göz ardı ederler ve göz ardı edilen paketler
standart olarak portun açık olduğu anl***** gelir.) hedefin sistemi
Windows tabanlı değildir. Eğer SYN scan açık port
buluyor ve bu
tarama yöntemleri bulamıyor ise hedef Windows tabanlı bir sisteme sahip
demektir. Nmap’in İşletim sistemi saptama özelliklerine bu durum
dahildir. Windows’la aynı tepkiyi veren bazı sistemler ise Cisco, BSDI,
HP/UX, MVS ve IRIX’ tir.

-sP Ping Sweep : Taranılan ağda hangi hostların aktif olduğuna ihtiyaç olduğunda kullanılan genel yöntem ICMP Echo
paketleri
gönderip cevap beklemektir, son zamanlarda bu ping isteklerinin
Firewall’lar tarafından bloke edildiği düşünüldüğünde alternatif
çözümler geliştirilmelidir. Bu durumda nmap TCP ACK paketi gönderiyor
(standart olarak 80.porttan - değiştirilebilir), eğer porttan RST
cevabı geliyorsa sistemin aktif olduğu rapor ediliyor. Diğer alternatif
teknikte bir SYN paket gönderip hedeften SYN/ACK yada RST cevabı
beklemektir, her iki cevapta sistemin aktif oldugunu gösterir. Root
olmayan kulanıcılar için ise standart TCP Connect yöntemi kullanılır.
Standart olarak ICMP ve ACK teknikleri paralel olarak uygulanır. Eğer
bunun değiştirilmesi istenirse -P* parametreleri kullanılarak bu
yöntemler değiştirilebilir. Ayrıca bu pingleme işlemi tamamlandığında
sadece aktif sistemler taranır, bu seçenek ping taraması kullanmadan
port taramaya geçmek isteniyorsa kullanılabilir.

-sU UDP Scan : Bu teknik hedef bilgisayarın UDP portlarından hangilerinin açık olduğunu saptamak için kullanılır.
(RFC
768) Hedef makinede açık olduğu düşünülen porta 0 byte’lik bir UDP
paket göndermek ve "ICMP Port Unreachable" paketini beklemek temeline
dayanır. Paket gelirse port kapalı gelmezse açık olduğuna karar
verilir. Bazı insanlar UDP
taramayı önemsemezler. Önemsemelerini
gerektiren sebepler arasında Tftp, NFS, Snmp gibi protokollerin UDP
üzerinden çalışması ve Solaris’in RPCBind açığı sayılabilir.

-sA ACK Scan
: ACK tarama yöntemi Firewall`ların ACL`lerini bypass ederek tarama
yapılmasını sağlar. Bazı Firewall`lar stateful yada basit paket
filtreleme Firewall`ları olabilir, dışarıdan gelen SYN paketlerini
bloke edebilir ancak ACK flag’lı paketin geçişine izin veriyor
olabilir. Rastgele üretilmiş ack/sequence numaralarıyla yapılır. Cevap
gelmezse yada ICMP port unreachable mesajı geliyorsa port filtrelenen
bir porttur. Nmap genellikle portlar için unfiltered nitelemesi yapmaz.
Bu taramada bulunan portları asla açıkca `open` olarak nitelendirmez.

-sW Window Scan
: Bu gelişmis tarama türü ACK tarama türüne çok benzer, portların açık
olup olmadığını taraması dışında bu portları filtered/unfiltered olarak
nitelendirir ve çerçeve boyutundaki farklılıklardan hedefin işletim
sistemini saptar. Aralarında AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX,
DG/UX, OpenVMS, Digital UNIX, FreeBSD, HP-UX, OS/2, IRIX, MacOS,
NetBSD, OpenBSD, OpenStep, QNX, Rhapsody, SunOS 4.X, Ultrix, VAX ve
VxWorks gibi işletim sistemlerininde bulunduğu işletim sistemlerinin
bazı versiyonları bu durumdan etkilenir. Tam listeye ulaşabilmek için
Nmap-Hackers posta listesinin arşivlerine bakılabilir.

-sR RPC Scan
: RPC taramaları için diğer tarama türleriyle beraber kullanılır. Bütün
TCP/UDP portları tarayarak açık bulduğu portlarda SunRPC`nin "NULL"
komutlarını kullanarak rpc portlarını saptamaya çalışır, eğer rpc portu
bulursa çalışan program ve sürümlerini saptamaya çalışır. Böylece
Firewall yada diğer paket filtreleme cihazları hakkında bazı işe yarar
bilgiler saptamaya çalışır. Decoy özelliği şu an için RPC taramalarda
kullanılamıyor ancak bazı UDP RPC taramalarında bu özellik nmap`e
eklenmiştir.

-b (ftp relay host)
: Ftp protokolunun ilginç bir özelliği proxy için destek vermesidir
(RFC 959). Bunun için öncelikle hedefin ftp sunucusuna bağlanmak
gereklidir, daha sonra internette herhangi bir yerden o sunucuya bir
dosya gönderilebilir. RFC nin yazıldığı 1985 yılından günümüze kadar
ftp bu özelliğe sahip olabilir. Böylece bir ftp sunucu
üzerinden TCP port tarama yapabilme imkanıda kazanılmış olur. Bu seçenek ile bu denemeler uygulanabilir.

Genel Seçenekler

-P0 :
Ping atmayı denemeden tüm hostları nmap`e taratmak için kullanılır.
Bazı ağlar ICMP Echo ve ICMP Echo Reply paketlerini bloke etmektedir,
böyle durumlarda -P0 yada -PT80 kullanılmalıdır. Böylece Firewall`un
arkasındaki sistemleri saptama imkanı kazanılmaktadır.

-PT : TCP ping atılarak aktif sistemlerin saptanması için kullanılmaktadır. ICMP Echo paketlerinin engellendiği ağlarda
TCP
ACK flag’lı paketler göndererek etkili olmaktadır. Eğer hedef sistemler
aktif ise RST flag’lı paketler gönderir ve böylece aktif olduğu
anlaşılır. Bu seçeneğin kullanılması için root olunması gereklidir.
-PT[port] şeklinde kullanılır ,
varsayılan portu 80`dir. Eğer hedef
ağda kullanılan filtreleme cihazı statik paket filtreleme cihazı ise bu
paketin erişim kontrol listelerine rağmen içeri girmesi mümkündür.

-PS :
SYN flag’lı paketler ile TCP ping taraması için kullanılır. Hedefe SYN
flag’lı bir paket gönderilir ve hedeften RST yada SYN/ACK flag’lı
paketler beklenir. Eğer bu paketlerden biri gelirse hedefin aktif
olduğuna karar verir.

-PI : Standart ICMP ping taramaları için kullanılır. Hedefe ICMP Echo (type 0) paketi göndererek karşılığında ICMP
(type Karizmatik
paketi bekler, eğer bu paket gelirse hedefin aktif olduğuna karar
verir. Ayrıca bu tarama türüyle broadcast ping’de atılmaktadır ve
böylece broadcast ping isteklerine cevap veren bilgisayarlarda
saptanmaktadır. Bu durum hedefe denial of
service (servis durdurma) saldırılarından bazılarını test etmek içinde kullanılır. (Smurf , TFN gibi)

-PB : Varsayılan ping taramalarında kullanılacak ping türüdür. 2 yönlü olarak yapılmaktadır. İlki ACK (-PT) flag’lı TCP
paketiyle
ikincisi ise ICMP Echo paketleriyle yapılan ping türüdür.
Firewall`ların arkasındaki sistemleri belirlemek için ikisinden sadece
biri kullanılır.

-O : Bu
seçenek aktif durumdaki hedef sistemin TCP/IP parmakizleriyle işletim
sistemini saptamak için kullanılır. Taranılan hedefin işletim sistemini
tüm taramalardaki farklılıkları birleştirerek saptamaktadır. Bu
taramalara işletim sistemlerinin verdikleri cevaplar nmap tarafından
bir veritabanında tutulmaktadır ve karşılaştırmalar bu veritabanı
üzerinden yapılmaktadır. Bu veritabanında düzenlemeler yaparak bilinen
işletim sistemlerinin listeye eklenmesi mümkündür. Eğer nmap tanımadığı
bir işletim sistemi olduğunu söylüyorsa ve siz bu işletim sisteminin
hangi işletim sistemi olduğu ve versiyonu hakkında bilgiye sahipseniz
nmap`in yazarı Fyodor`un [email protected]
adresine mail yolu ile çıktıları gönderebilirsiniz. Daha ayrıntılı
bilgi almak için Nmap’in Anasayfasında bulunan "Remote OS detection via
TCP/IP Stack FingerPrinting" isimli dökumana başvurabilirsiniz. Bu
dökumanın Egemen Taş tarafından çevrilmiş türkçe sürümüde mevcuttur.

-I : Bu seçenek Ident protokolü ile tarama yapma imkanı sunmaktadır. Dave Goldsmith tarafından 1996 yılında Bugtraq
posta
listesine atılan postada Ident protokolunun (RFC 1413) herhangi bir
servisi başlatan kullanıcının saptanmasına izin verdiği belirtilmiştir.
Örnegin eğer http portu açık ise ve dinleyen servisi başlatan
kullanıcının root olduğu saptanıyorsa bu
programdan
kaynaklanabilecek olası güvenlik zayıflıkları işletim sistemine root
haklarıyla erişimi sağlayabilir. Diğer tarama yöntemleri ile beraber
kullanılır ancak hedef bilgisayarda Identd aktif durumda değil ise
kullanılabilir durumda
değildir.

-f : Bu seçenek SYN, FIN , XMAS veya Null taramalarda kullanılabilir durumdadır. Teori hedef sistemdeki Firewall ,
diğer
paket filtreleme cihazlarının yada saldırı tespit sistemlerinin
parçalanmış paketlerden taramayı farkedemeyecekleri temeline
dayanmaktadır. Kullanılması tavsiye edilmektedir. Ancak bu teknik hedef
sistemlerde gelen parçalar bekletilip bütün parçalar geldikten sonra
hedefe gönderiyorsa işe yaramamaktadır. Bu özellik henüz tüm işletim
sistemleri üzerinde
çalışmamaktadır ; ancak Linux , FreeBSD ve
OpenBSD üzerinde çalışmaktadır. Diğer *nix sistemlerde başarı ile
çalıştırılması durumunda yazara bildirilmesi rica edilmektedir.

-v : Verbose seçeneğinin kullanımı tavsiye edilmektedir çünkü taramalar hakkında daha fazla bilgi gösterilmesini
sağlamaktadır.
Çıktıları iki kez alma imkanına böylece kavuşulmuş olur, eğer bu
çıktılar yetmiyorsa -d seçeneği ile ekrana tamamen sığamayacak kadar
bilgi alınabilir.

-h : Nmap`in sıkça kullanılan bazı parametrelerinin kullanımı konusunda yardımcı bilgiler içerir. Bir nevi hızlı başvuru
klavuzu denilebilir.

-on (Log Dosyası) : Nmap`in ürettiği sonuçları ismi verilen dosyaya yazmasını sağlar.

-oM (Log Dosyası) :
Nmap`in ürettigi sonuçlari ismi verilen dosyaya makine okuyabilir
şekilde yazmasını sağlar. / | , gibi noktalama işaretleriyle sonuçları
ayırır. -v parametresi kullanılarak daha fazla ayrıntı yazdırılması da
sağlanabilir.

--resume (Log Dosyası) :
CTRL+C ile yarıda kesilen taramaların devam etmesi için kullanılır.
Ancak yarıda kesilen tarama -on yada -oM kullanılarak bir log dosyasına
kayıt edilmiş olmalı ve bu log dosyası parametre ile verilmelidir. Nmap
bu log dosyasındaki başarılı son taramadan itibaren taramaya devam eder.

-iL (Log Dosyası) :
Nmap`e taranacak hedeflerin bir dosya aracılığıyla verilmesini sağlar.
Bu dosyada hedefler boşluk , sekme yada yeni satırlarla sıralanmış
olabilir.

-p (port aralığı) : Bu seçenek ile nmap`in özel port aralıklarını taraması sağlanabilir. Örneğin `-p 23` hedefin 23. portunu
tarayacaktır.
`-p 20-30, 139, 60000-` ise 20 ile 30 arasındaki tüm portların 139.
portun ve 60000`den büyük tüm portların taranmasını sağlayacaktır.
Varsayılan değeri 1 ile 1024 arasındaki tüm portlar ve /etc/services
dosyasında listelenmiş portların taranmasıdır.

-F Hızlı tarama : Özel bir portun taranması istenmiyorsa , sadece /etc/services dosyasındaki portların taranması
isteniyorsa kullanılabilecek bir seçenektir.

-D [yanıltma1], [yanıltma2], [ME] :
Hedefi tararken ait olduğu sistemin IP`sini saklamaya yardımcı olur.
Normalde taramalar bir IDS , Firewall yada diğer paket filtreleme
cihazlarına kaydedilebilir ve gelen paketler bu sistemden geldiği için
IP bilgisi log dosyalarına kaydedilmektedir. Ancak decoy yani yanıltma
yada tuzak kullanıldığı durumda bu sistemin IP si ile beraber parametre
olarak verilen diğer IP`lerde taramalarda görünecektir ve onlardan da
hedefe paket geliyormuş gibi olacaktır. Bu durum bazı paket filtreleme
cihazlarının ve port tarama saptayıcılarının yanılmasına veya birden
fazla hata vermesine sebep olabilmektedir, böylece söz konusu tarama
çok daha az dikkat çekecektir. Yanıltmalar aralarında `,` işareti ile
ayrılarak girilmelidir, istenirse parametlere `ME` seçenegi eklenerek
bu sistemin IP`sinin de decoylar arasında istenilen bir sırada
bulunması sağlanabilir. Bazı port tarama saptayıcılar (Örneğin
scanlogd) 6. pozisyon yada sonrasında bu sistemin IP`sini
farkedemeyebilir. Eğer `ME` seçeneği yanıltmalar arasında kullanılmazsa
nmap sistem IP`sini rastgele bir pozisyona koyacaktır. Dikkat edilmesi
gereken bir durumda seçilen yanıltmaların aktif durumda olması yada
kazayla hedefe SYN Flood denilen DOS atağının yapılma olasılığıdır.
Ayrıca kullanılan yanıltmaların tamamının aktif olmaması durumunda
kolayca port taramayı yapan sistem anlaşılacaktır. Yanıltma özelliği
ping taramalarında da (ICMP, SYN , ACK yada hangisi olursa)
kullanılabilir durumdadır. Yanıltma ayrıca -O seçeneği yani işletim
sistemi saptama seçeneği ile beraberde kullanılabilmektedir. Kullanılan
yanıltmaların sayısı kadar taramalarda yavaşlayacaktır. Ayrıca bazı
ISP`ler spoof yapılmış yani yanıltılmış IP`lerin barındığı paketleri
hedefe ulaşmadan önce kendi ağ bölümünden olmadığı için
engelleyebilir.

-S (IP Adresi) : Bazı durumlarda nmap sistemin kaynak IP`sini belirleyemeyecektir, ki bunuda söyleyecektir. Böyle
durumlarda -S seçeneğini kullanılarak kaynak IP`si nmap`e belirtilebilir. Ayrıca bu seçenek ile IP spoofing denilen adres
yanıltmasıda kullanılabilir. Örneğin taramalarda hedefin rakip şirketinin IP`leri kullanılabilir, bu epey yanıltıcı olacaktır.
Ancak bu seçeneğin böyle kullanılması desteklenmemektedir. Çünkü bu durum taramalardan başkalarının sorumlu tutulma
ihtimalini yükseltmektedir. -e seçeneği genellikle bu seçenek kullanılırken gerekli olmaktadır.

-e (arayüz) : Nmap`e taramaları yaparken paketleri hangi ağ arayüzünü kullanarak gönderebileceğinin belirtilmesini
sağlar. Nmap bunu bazı durumlarda belirleyememekte ve bunu söylemektedir.

-g (port numarası) :
Taramalarda paketlerin kaynak portlarını isteklere göre belirlemeyi
sağlar. Bazı paket filtreleme cihazları ve Firewall`lar oturumun ilk
olarak hangi taraftan başlatıldığını saptayamayabilirler. Genelde
statik paket filtreleme cihazlarında karşılaşılan bir durum olmasına
rağmen dinamik paket filtreleme cihazlarında da benzer durumlar
geçerlidir.
Böylece 20/TCP ftp data ve 53/TCP-UDP gibi portların kaynak port olarak
ayarlanması durumunda filtreleme cihazlarının erişim kontrol
listelerinin içinden geçerek hedefe ulaşma gibi bir şans sunulur.
Genelde saldırganlar
gönderdikleri paketlerde kaynak portları bu
şekilde ayarlayarak paketlerini ftp yada dns geri dönüşleriymiş gibi
maskeleyebilir ve filtreleme cihazlarını geçme şansı kazanırlar. UDP
taramalarında.

Kaynak:  C|EH işlenen konu

 
Gönderildi : 22/02/2008 14:32

Paylaş: