fbpx
Anasayfa » Linux üzerinde NMAP kullanımı

Makaleyi Paylaş

Linux Unix

Linux üzerinde NMAP kullanımı

NMAP için genel anlamda ağ tarama aracı denilebilir. 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.

 

Sponsor

** Girilen host ile ilgili açık olan portları getirir (Port scanning)(PORT, STATE, SERVICE), OS tahmini yapar (Aggressive OS guesses),

 

 

Örnek : nmap -sS -O -v 10.0.6.44

 

** Port taraması yapar

 

nmap -sT 10.0.0.1

 

** Tarama parametreleri

 

-sT : Hedef sistemin portlarına SYN paketi yollar. SYN/ACK paketi döndüğünde ACK paketi yollar ve porta bağlanır. Hedef sisteme bağlantı kurulduğu için firewall tarafından kayıt edilme ihtimali fazladır.

 

-sS : Hedef sistemin portlarına SYN paketi yollar. SYN/ACK paketi döndüğünde port açık demektir. ACK paketi göndermez. Hedef sisteme bağlantı kurulmadığı için kayıt edilme ihtimali düşüktür.   

 

-sA : ACK paketleri kullanılarak fşrewall’ a takılmadan hedef sisteme ulaşabilmeyi sağlar. Rastgele üretilmiş ACK/Sequence paketleri hedef sisteme yollanır. ICMP Port Unreachabler mesajı gelirse yada cevap gelmezse port kapalı demektir.

-sX , -sF , -sN : Bu seçenekler SYN taramalarının kayıt edilebileceği yada işe yaramadığı durumlarda kullanılır.

-sX    : Üzerinde tüm bayraklar olan bir paket hedef sisteme gönderilir. Ve kapalı olan portlar için RST cevabı beklenir. Yani açık olan portlar değil kapalı olan portlar belirlenerek diğerleri açık kabul edilir.

-sF    : Hedef sisteme sanki açık bir TCP oturumu varmışda onu kapatıyormuşsunuz gibi sonlandır bayrağı olan FIN paketi gönderilir ve RST beklenir.

-sN    : Üzerinde hiçbir bayrak bulunmayan bir paket yollanıp kapalı olan portlardan RST beklenerek açık portlar tespit edilir.

 

** UDP Scan

 

-sU    : Açık olan UDP portlarını tespit için kullanılır. Porta 0 byte’ lık bir UDP paketi yollanır, ICMP Port Unreachable mesajı beklenir. Cevap gelmezse port açık demektir.
<!–[if !supportLineBreakNewLine]–>
<!–[endif]–>

** Protocol Scan

 


-sO    : Hedef sisteme hangi protokollerle erişilebildiğini sınar. (TCP, UDP, ICMP, IGMP vs.)

 

** OS Scan

 

-O    : TCP/IP davranışlarından yola çıkarak işletim sistemini belirleyecek seçenektir.

 

** Genel Parametreler

 

-f    : Firewall yada IDS sisteminin parçalanmış paketleri göz ardı ettiği durumlarda parçalanmış paketlerle tarama yapmak için kullanılır. 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ği) Tarama hakkında daha fazla bilgi verir.

 

-p    : Port yada port aralığı belirtmek için kullanılır.

 

-D    : Spoof edilmiş paketlerle hedef sistemin firewall ve IDS sistemi yanıltılabilir. Taramalar birden fazla yerden geliyormuş gibi gösterilebilir. Rasgele bir DOS atağına neden olabilir. 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     : Paketlerin kaynak adresini değiştirmek için yada nmap’ in kaynak adresi belirleyemediği zamanlarda kullanılır. 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    : 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    : Gönderilen paketlerde kaynak port belirtmek için kullanılır. 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 53/UDP, TCP taramalarınızda ise 53/TCP’den önce 20/TCP yani FTP-DATA portu kullanılabilir. Nmap -g seceneği ile kaynak portu belirleme şansını sunmaktadır.

 

-r    : Nmap`e taramalarda portları rastgele değilde sırayla taramasını belirtmek için kullanılır.

 

–randomize_host    : Nmap`in verilen aralıktaki taranacak sistemleri rastgele sırayla taramasını sağlamak için kullanılır. Bazı IDS`lere yakalanmamak için bu teknik ile beraber işlemleri zamanlama seçeneklerini kullanarak yavaşlatmakta etkili olabilir.

 

-M    : Aynı anda açılabilecek en fazla soket sayısını belirtmek için kullanılır. Taramaları daha yavaş yaparak yakalanmamak ve hedef sistemin çökmesini engellemek için kullanılabilir.

 

-T    : Tarama hızı ayarlanabilir. 0-5 arası değer verilebilir. Paranoid, Sncakly, Polite, Normal, Aggressive ve Insane olmak üzere 6 seviye vardır. Bunlardan Paranoid seçeneğinde gönderilen paket aralıklar oldukça uzun tutulur ve tarama yavaşça yapılır. Böylece hedef sistemin firewall veya IDS’ şnde iz bırakma ihtimali çok daha düşük olur. Insane ise en hızlı seçenektir, ancak hızlı ağlarda kullanılabilir. Yavaş ağlarda veri kaybına neden olabilir veya hedef sistemin kilitlenmesine neden olabilir. -T0 paranoid, -T5 insane seçeneğini belirtir.

 

–host_timeout    : (milisaniye) Bir sistemin taranması durumunda özel bekleme süresinin belirlenmesi için kullanılır. Standart olarak nmap süre sınırı belirtmez.

 

–max_rtt_timaout    : (milisaniye) Nmap`in bir porta gönderdiği paketin cevabını bekleyeceği sürenin en fazla ne kadar olacağının belirlenmesi için kullanılır, standart değerin 9000 oldugu varsayılır.

 

–min_rtt_timaout    : (milisaniye) Nmap sistemin cevaplarının çabuk gelmesi durumunda bekleme süresinin değerini düşürmektedir. Böyle durumlarla karşılaşmamak ve belirli bir bekleme süresini garantiye almak amacıyla verilebilecek en az bekleme süresidir. Böylece zaman farkından kaynaklanacak paket kayıpları minimuma indirilmiş olur.

 

–initial_rtt_timeout    : (milisaniye) İlk araştırma için süre sınırı belirtmeyi sağlar. Genellikle sadece Firewall ile korunan sistemlerin -P0 seçeneği ile taranması durumunda kullanışlıdır. Normalde nmap ilk ping isteği ve ilk birkaç denemeden sonra iyi bir rtt zamanlaması yapar. Varsayılan değeri 6000`dir.

 

–max_parallelism    : (sayı) Aynı anda en fazla kaç işlemin beraber yapılabileceğinin belirlenmesi için kullanılır. Bu seçenek ayrıca RPC taraması , Ping taraması gibi taramalarıda etkiler.

 

–scan_delay    : (milisaniye) Taranan portlar arasındaki bekleme zamanının belirlenmesini sağlar. Aği fazla yüklememek, hedef sistemi kilitlememek ve sessizce tarayarak IDS`lere yakalanmamak için kullanışlıdır.

 

-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 8) 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.

 

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

 

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

 

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

 

** Log Dosyaları

 

-oN    : Nmap`in ürettiği sonuçları ismi verilen dosyaya yazmasını sağlar.

 

-oM    : 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    : 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    : 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.

 

     
** Ping Sweep

 

-sP    : 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.

 

**Window Scan

 

-sW    : 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.

 

**RPC Scan

 

-sR    : 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.

 

**FTP Relay Host

 

-b    : 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.

     

**Basit örnekler:

 

    # nmap -sS -O -v 10.0.0.1

    # nmap -sX -P0 -O -v 10.0.0.1

    # nmap -sS -O -T0 -v www.cozumpark.com

 

   

Nmap oldukça esnek bir hedef seçme özelliğine sahiptir. İstenilirse IP adresi vererek /maske ile taranacak ağı belirtmek mümkündür. Örnegin /24 C sınıfı bir ağ için /16 B sınıfı bir ağ için kullanılabilir. Ayrıca B sınıfı bir ağı taramak için 128.210.*.* , `128.210.*.*` , 128.210.0-255.0-255 yada 128.210.0.0/16 gibi düzenler kullanılabilir. Bu tanımlamaların hepsi geçerlidir.

   
    nmap -v -sS –O www.mikailnazli.com

 

 

Bu örnekte -v seçeneği daha fazla bilgi almayı , -sS seçeneği SYN tarama uygulanmasını , -O seçeneği ise hedefin işletim sistemini saptamayı sağlar.

 

 
    nmap -sX -p 22,53,110,143,4564 128.210.*.1-127

 

Bu örnekte ise -sX seçeneği Xmass Tree taramasının uygulanmasını , 22,53,110,143,4564 nolu portların taranmasını ve 128.210.*.1-127, 128.210.0.0/16 ağında IP`si 1 ile 127 arasındaki tüm hostların taranmasını ifade eder.

 

Makalemin sonuna geldim , umarım faydalı bir makale olmuştur.

Makaleyi Paylaş

Cevap bırakın