Nmap Nedir ve Nasıl Kullanılır?

Nmap Nedir ve Nasıl Kullanılır?

Total
0
Shares

Nmap (“Ağ Eşleştiricisi”) ağ keşfi ve güvenlik denetimi için ücretsiz ve açık kaynak yardımcı bir program. Birçok sistem ve ağ yöneticisi, ağ envanteri, hizmet yükseltme programlarını yönetme ve ana bilgisayar veya hizmet çalışma süresini izleme gibi görevler için de bunu yararlı bulmaktadır. Nmap, ağda hangi ana bilgisayarların mevcut olduğunu, bu ana bilgisayarların hangi hizmetleri (uygulama adı ve sürümü) sunduğunu, hangi işletim sistemlerini (ve işletim sistemi sürümlerini) çalıştırdıklarını, ne tür paket filtreleri/güvenlik duvarlarını belirlemek için ham IP paketlerini yeni yöntemlerle kullanır.

Büyük ağları hızlı bir şekilde taramak için tasarlanmıştır, ancak tek ana bilgisayarlara karşı iyi çalışır. Nmap tüm önemli bilgisayar işletim sistemlerinde çalışır ve Linux, Windows ve Mac OS X için resmi ikili paketler mevcuttur. Klasik komut satırı Nmap yürütülebilir dosyasına ek olarak (Zenmap ), esnek bir veri aktarımı, yeniden yönlendirme ve hata ayıklama aracı ( Ncat ), tarama sonuçlarını karşılaştırmaya yönelik bir yardımcı program ( Ndiff ) ve bir paket oluşturma ve yanıt analiz aracı ( Nping ).

Nmap Yılın Güvenlik Ürünü

Nmap, Linux Journal, Info World, LinuxQuestions.Org ve Codetalker Digest tarafından “Yılın Güvenlik Ürünü” seçildi. Hatta aralarında The Matrix Reloaded, Die Hard 4, Girl With the Dragon Tattoo ve The Bourne Ultimatum’un da bulunduğu on iki filmde de yer aldı.

Nmap Başlıca Özellikleri:

  • Esnek:

    IP filtreleri, güvenlik duvarları, yönlendiriciler ve diğer engellerle dolu ağların haritasını çıkarmak için düzinelerce gelişmiş tekniği destekler. Bu, birçok bağlantı noktası tarama mekanizmasını (hem TCP hem de UDP), işletim sistemi algılamayı , sürüm algılamayı , ping taramalarını ve daha fazlasını içerir. Dokümantasyon sayfasına bakın.

  • Güçlü:

    Nmap, kelimenin tam anlamıyla yüzbinlerce makineden oluşan devasa ağları taramak için kullanıldı.

  • Taşınabilir :

    Linux , Microsoft Windows , FreeBSD , OpenBSD , Solaris , IRIX , Mac OS X , HP-UX , NetBSD , Sun OS , Amiga ve daha fazlası dahil olmak üzere çoğu işletim sistemi desteklenir .

  • Kolay :

    Nmap, uzman kullanıcılar için zengin bir dizi gelişmiş özellik sunarken, “nmap -v -A targethost ” kadar basit bir şekilde başlayabilirsiniz  . Tercihinize uyacak şekilde hem geleneksel komut satırı hem de grafik (GUI) versiyonları mevcuttur. Nmap’i kaynaktan derlemek istemeyenler için ikili dosyalar mevcuttur.

  • Ücretsiz :

    Nmap Projesinin temel hedefleri İnternet’i biraz daha güvenli hale getirmeye yardımcı olmak ve yöneticilere/denetleyicilere/bilgisayar korsanlarına ağlarını keşfetmeleri için gelişmiş bir araç sağlamaktır. Nmap ücretsiz olarak indirilebilir ve ayrıca lisans koşulları altında değiştirebileceğiniz ve yeniden dağıtabileceğiniz tam kaynak koduyla birlikte gelir .

  • İyi Belgelenmiş:

    Kapsamlı ve güncel kılavuz sayfalarına, teknik incelemelere, öğreticilere ve hatta bütün bir kitaba önemli çaba sarf edilmiştir! Bunları birden çok dilde burada bulabilirsiniz.

  • Desteklenen :

    Nmap herhangi bir garanti içermese de, canlı bir geliştirici ve kullanıcı topluluğu tarafından iyi bir şekilde desteklenmektedir. Bu etkileşimin çoğu Nmap posta listelerinde gerçekleşir . Çoğu hata raporu ve soru , yalnızca yönergeleri okuduktan sonra nmap -dev listesine gönderilmelidir . Tüm kullanıcıların düşük trafikli nmap korsanları duyuru listesine abone olmalarını öneririz . Nmap’i Facebook ve Twitter’da da bulabilirsiniz . Gerçek zamanlı sohbet için Freenode veya EFNet’teki #nmap kanalına katılın .

  • Beğenilenler :

    Nmap , Linux Journal, Info World ve Codetalker Digest tarafından verilen “Yılın Bilgi Güvenliği Ürünü” de dahil olmak üzere çok sayıda ödül kazandı . Yüzlerce dergi makalesinde, birkaç filmde, onlarca kitapta ve bir çizgi roman dizisinde yer aldı. Daha detaylı bilgi için basın sayfasını ziyaret edin .

  • Popüler :

    Her gün binlerce kişi Nmap’i indiriyor ve birçok işletim sisteminde (Redhat Linux, Debian Linux, Gentoo, FreeBSD, OpenBSD, vb.) bulunmaktadır. Freshmeat.Net deposundaki ilk on (30.000 program arasında) arasındadır. Bu önemlidir çünkü Nmap’e canlı geliştirme ve kullanıcı destek topluluklarını sağlar.

Nmap Nasıl Kullanılır?

Nmap Kali Linux işletim sistemiyle birlikte kurulu olarak gelmektedir. Farklı bir işletim sistemine kurmak isterseniz bu adresi ziyaret edebilirsiniz.

Nmap’i kullanabilmek için komut satırı arabirimlerine aşina olmanız gerekir. Otomatikleşmiş kurallar sadece temel düzeyde tarama yapmanıza yardım eder. Temel nmap komutu oluştururken “nmap {tarama türü} {opsiyonlar} {hedef}” dizilimi temel alınır.

Nmap’i başlatmak için komut satırına “nmap” komutunu yazmanız yeterlidir.

Nmap komut satırında başlatmak
Nmap komut satırında başlatmak

Nmap kullanımında tüm komutları ve işlevlerini öğrenmek için komut satırına “nmap -help” ve “nmap -h” komutunu yazabilirsiniz.

nmap help komutu
nmap help komutu

Nmap Hedef Belirleme:

Nmap taramasında hedefler farklı aralıklarda belirlenebilir. Örneğin:

Nmap Hedef Belirleme
Nmap Hedef Belirleme

Nmap Keşif Çalışması:

Ağ üzerinde bulunan ve o esnada ayakta olan cihazların analizi yapılabilir.

Nmap Keşif Çalışması
Nmap Keşif Çalışması

Port Tarama Teknikleri:

TCP Connect Scan: 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 açılan tüm oturumların hedef sistemde logolanmaktadır.

SYN Scan: 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 RST cevabı gönderir.

UDP Scan: UDP portlarının açık veya kapalı olduğunu analiz eder. UDP paketine gelen cevap “ICMP Port Unreacable” ise portun kapalı olduğu; UDP paketi ise portun açık olduğu anlaşılır.

Port Belirleme ve Keşif Taramaları:

Hangi portların açık olduğu, bu açık portların üzerinde çalışan servisler ve bunlarla ilgili detaylı bilgiler öğrenebilir.

Port Belirleme ve Keşif Taramaları
Port Belirleme ve Keşif Taramaları
Port Belirleme ve Keşif Taramaları
Port Belirleme ve Keşif Taramaları

Nmap Script Motoru:

Nmap içerisinde bulunan scriptler ile testleri de gerçekleştirebiliriz. Nmap içinde yer alan tüm scriptlerle ilgili detaylı bilgiye buradan ulaşabilirsiniz.

Nmap Script Motoru Çalıştırma
Nmap Script Motoru Çalıştırma

Nmap Çıktı Ayarlamaları:

Yapılan analizler farklı fortmalarda dışarıya aktarılabilir.

 

Nmap Çıktı Ayarlamaları
Nmap Çıktı Ayarlamaları

 

Nmap Kullanım Alanları

  • Ağ Keşfi: Taranan ağ üzerindeki sistemler hakkında bilgi sahibi olunması (port, üzerinde koşan uygulama vb. bilgileri öğrenmek gibi).
  • Ağ topolojisinin çıkarılması.
  • Port Tarama: Hedef sistemlerdeki açık portları tespit. Hangi servislerin çalıştığını ve hangi portların açık olduğunu belirlemek amacıyla yapılır.
  • Servis Tespiti: Tespit edilen açık portların ardındaki servislerin belirlenmesi ve bu servislerin sürümlerinin tespiti.
  • İşletim Sistemi Tanıma: Hedef sistemlerin işletim sistemini belirlemek için IP paketlerinin yanıtlarının analizi.
  • Sızma testlerinin gerçekleştirilmesi.
  • Scripting: Özelleştirilmiş taramalar ve testler yapmak için kullanıcıların yazdığı ya da indirdiği betikleri çalıştırma.

Nmap Grafiksel Kullanıcı Arabirimi

Zenmap windows’ tan ekran görüntüsü
  • Zenmap22 Kasım 2008 tarihinde Wayback Machine sitesinde arşivlendi. Adriano Monteiro Marques tarafından UMIT grafiksel kullanıcı arabiriminden faydalanılarak geliştirilmiş şu anki resmi kullanıcı arabirimdir. NMap paketinin içinde gelmektedir.
  • Son olarak MacOS için geliştirilmiş XNmap ise proje olarak artık ölü durumdadır.

Nmap ile Tarama

Nmap herhangi bir istemci veya sunucuyu birçok farklı şekilde tarama yeteneğine sahiptir. Nmap’i güçlü kılan farklı tarama tekniklerine sahip olmasıdır. Protokol temelli (TCP, UDP, vb.) tarama yapılabileceği gibi, belirli aralıklardaki IP adresleri, alt ağlar (subnet) ve üzerlerinde çalışan port ve servisleri de taranabilir.

Tarama sonuçlarında ortaya çıkabilecek port durumları aşağıdaki gibidir :

Open (Açık): Portun erişilebilir durumda olduğunu ve port üzerinde bir uygulamanın TCP bağlantılarını ya da UDP datagramlarını kabul ettiği anlamına gelmektedir.

Closed (Kapalı): Portun erişilebilir olduğunu (Paketleri almakta ve geri paket göndermekte) fakat üzerinde herhangi bir uygulamanın olmadığı anlamını taşımaktadır.

Filtered (Filtreli): Dönen tepkiler bir paket filtreleme mekanizması tarafından engellenir. Nmap portun açık olduğuna karar veremez.

Unfiltered (Filtresiz): Portlar erişilebilir ancak Nmap portların açık veya kapalı olduğuna karar veremez. (Sadece ACK scan için )

Open|filtered (Açık|Filtreli): Nmap portların açık veya filtrelenmiş olduğuna karar veremez. (UDP, IP Protocol, FIN, Null, Xmas Scan için )

Closed|filtered (Kapalı|Filtreli): Nmap portların kapalı ya da filtreli olduğuna karar veremez. (Sadece Idle Scan için )

Nmap Tarama Türleri

TCP Syn (half open) Scan

Kaynak makinanın hedef makinaya TCP SYN bayraklı segment göndererek başlattığı bir tarama türüdür. Portların kapalı olduğu durumlarda hedef makina cevap olarak RST + ACK bayraklı segmenti döndürür. Portların açık olduğu durumlarda ise hedef makina SYN + ACK bayraklı segment döndürür. Daha sonra kaynak makina RST bayraklı segment göndererek bağlantıyı koparır ve böylelikle TCP üçlü el sıkışma (TCP three-way handshaking) tamamlanmaz. Bu tarama türünde TCP üçlü el sıkışma gerçekleşmediği için bu tarama türü hedef sistemlerinde herhangi bir şekilde iz bırakmaz.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sS -v [Hedef_IP]

TCP Connect Scan

Kaynak makinanın gerçekleştireceği TCP Connect Scan, kapalı portlara yapıldığı zaman RST + ACK bayraklı segment dönecektir. Ancak açık portlara yapıldığı durumlarda hedef makinanın göndereceği SYN + ACK bayraklı segmenti, kaynak makina ACK bayraklı segment göndererek cevaplar ve üçlü el sıkışmayı tamamlar.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sT -v [Hedef_IP]

FIN (stealth) Scan

Hedef makinaya TCP bağlantı isteği olmadan gönderilen segmentle tarama yapılır. Kaynak makinanın göndereceği FIN bayraklı segment, hedef makinanın kapalı bir portuna gelirse hedef makina RST + ACK bayraklı segment döndürecektir. Eğer açık portuna gelirse hedef makinadan herhangi bir tepki dönmeyecektir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sF -v [Hedef_IP]

Xmas Scan

Bu tarama türünde kaynak bilgisayarın TCP segmentine URG,PSH ve FIN bayraklarını set edeceği (“1” yapılacağı) segment hedef makinaya gönderilir. Eğer Kaynak makinanın göndereceği URG,PSH ve FIN bayraklı segment, hedef makinanın kapalı bir portuna gelirse hedef makina RST + ACK bayraklı segment döndürecektir. Eğer port açık olursa hedef makinadan herhangi bir tepki dönmeyecektir.

Bu tarama türünde TCP başlığı içerisinde yer alan toplam altı adet bayraktan üç tanesi set edildiği (“1” yapıldığı) için, gönderilen segment yılbaşı ağacının yanan lambalarına benzetilmiştir. Bundan dolayı da bu tarama türüne Xmas (Christmas) Scan denmiştir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sX -v [Hedef_IP]

Null Scan

Hiçbir bayrağın bulunmayacağı bu tarama türü, gerçek hayatta karşımıza çıkmayan bir durumdur. Kaynak makinanın göndereceği bayraksız segmentler karşısında hedef makinanın vereceği tepkiler FIN Scan ile aynıdır. Kaynak makinanın göndereceği bayraksız segment, hedef makinanın kapalı bir portuna gelirse hedef makina RST + ACK bayraklı segment döndürecektir. Eğer port açık olursa hedef makinadan herhangi bir tepki dönmeyecektir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sN -v [Hedef_IP]

Ping Scan

Bu tarama türünde kaynak makina hedef makinaya tek bir ICMP Echo istek paketi gönderir. IP adresi erişilebilir ve ICMP filtreleme bulunmadığı sürece, hedef makina ICMP Echo cevabı döndürecektir. Eğer hedef makina erişilebilir değilse veya paket filtreleyici ICMP paketlerini filtreliyorsa, hedef makinadan herhangi bir cevap dönmeyecektir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sP -v [Hedef_IP]

UDP Scan

Kaynak makinanın hedef makinaya göndereceği UDP datagramına, ICMP Port Unreachable cevabı döndürülüyorsa hedef makina kapalı kabul edilecektir. Herhangi bir tepki döndürmeyen hedef makina open|filtered kabul edilecektir. UDP datagramıyla cevap döndüren hedef makinaya ait port ise açık kabul edilecektir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sU -v [Hedef_IP]

IP Protocol Scan

Bu tarama türü standart NMAP tarama türlerinden biraz farklıdır. Bu tarama türünde hedef makinaların üzerlerinde çalışan IP tabanlı protokoller tespit edilmektedir. Bu yüzden bu tarama türüne tam anlamıyla bir port taraması demek mümkün değildir. Hedef makina üzerinde, taramasını yaptığımız IP protokolü aktif haldeyse hedef makinadan bu taramaya herhangi bir cevap gelmeyecektir. Hedef makina üzerinde, taramasını yaptığımız IP protokolü aktif halde değilse hedef makinadan bu taramaya, tarama yapılan protokolün türüne göre değişebilen RST bayraklı (RST bayrağı “1” yapılmış) bir segment cevap olarak gelecektir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sO -v [Hedef_IP]

ACK Scan

Bu tarama türünde kaynak makina hedef makinaya TCP ACK bayraklı segment gönderir. Eğer hedef makina ICMP Destination Unreachable mesajını dönerse ya da hedef makinada bu taramaya karşılık herhangi bir tepki oluşmazsa port “filtered” olarak kabul edilir. Eğer hedef makina RST bayraklı segment döndürürse port “unfiltered” kabul edilir.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sA -v [Hedef_IP]

Window Scan

Window Scan, ACK Scan türüne benzer ancak bir önemli farkı vardır. Window Scan portların açık olma durumlarını yani “open” durumlarını gösterebilir. Bu taramanın ismi TCP Windowing işleminden gelmektedir. Bazı TCP yığınları, RST bayraklı segmentlere cevap döndüreceği zaman, kendilerine özel window boyutları sağlarlar. Hedef makinaya ait kapalı bir porttan dönen RST segmentine ait window boyutu sıfırdır. Hedef makinaya ait açık bir porttan dönen RST segmentine ait window boyutu sıfırdan farklı olur.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sW -v [Hedef_IP]

IdleScan

Bu tarama türü, kaynak makinanın hedef makineyi tarama esnasında aktif olarak rol almadığı bir türdür. Kaynak makina “zombi” olarak nitelendirilen makinalar üzerinden hedef makineyi tarayarak bilgi toplar.

Bu taramayı gerçekleştirmek için aşağıdaki komut kullanılmalıdır :

nmap -sI -v [Zombie_IP] [Hedef_IP]

Nmap Betik Motoru (Nmap scripting engine – NSE)

NSE (Nmap scripting engine), Nmap’in en güçlü ve kullanışlı özelliklerinden birisidir. NSE’yi; normal Nmap komutlarıyla yapılamayan ya da yapılması çok zor olan işlemlerin daha kolay bir şekilde yapılmasının sağlandığı bir betikler bütünü olarak tarif edebiliriz. Nmap ile birlikte birçok betik kütüphanesi hazır olarak gelmektedir. Fakat NSE aynı zamanda kullanıcıların ihtiyaç duydukları betikleri kendilerinin de yazabilmelerini ve bunları paylaşabilmelerini de sağlar. NSE’de yer alan betikler aynı anda paralel olarak da çalıştırılabilirler.

NSE kullanarak temel olarak yapılabilecekler aşağıda listelenmiştir:

  1. Ağ keşifleri: Hedef etki alanlarının (domain) whois veri tabanı sorguları yapılabilir. Hedef sistemlerin SNMP sorguları yapılabilir ve mevcut NFS/SMB/RPC paylaşım ve servisleri listelenebilir.
  2. Karmaşık versiyon tespiti: Normal Nmap komutlarıyla hedef sistemlerin versiyonları belirlenebilmektedir. NSE ile hedef sistemlerin versiyonları çok daha ayrıntılı bir şekilde tespit edilebilmektedir.
  3. Zafiyet (vulnerability) tespiti: Normal Nmap komutlarıyla hedef sistemlerin zafiyetleri tam anlamıyla tespit edilememektedir. NSE ile bu zafiyetler daha kolayca belirlenebilmektedir. Nmap ile hazır gelen birçok zafiyet tespit betiği bulunmaktadır. Fakat Nmap’in temel işlevinin bir zafiyet tarayıcısı olmadığının bilinmesi gerekir.
  4. Arka kapı (backdoor) tespiti: NSE bazı arka kapı programlarını da tespit edebilmektedir.
  5. Zafiyet sömürmesi (Vulnerability exploitation): NSE ile sadece hedef sistemlerin zafiyetleri tespit edilmekle kalmayıp bu zafiyetlerin bazıları kullanılarak hedef sistemlere sızılması da mümkün olmaktadır. Fakat Nmap’in temel amacı Metasploit gibi bir zafiyet sömürü programına dönüşmek değildir. Buna rağmen NSE ile hedef sistemlerdeki bazı zafiyetlerin sömürülmesi de mümkündür.

NSE ile temel olarak bu işlemlerin yapılması hedeflenmekle beraber NSE’nin geliştirilmesine devam edilmektedir.

NSE Örnekleri

NSE kullanmak için nmap komutunun sonuna “–script=example.nse” parametresi eklenir.

Aşağıdaki nmap komutuyla hedef sistemin başlık (banner) bilgisi alınabilmektedir: nmap -sS 192.168.61.61 –script=banner.nse

Aşağıdaki nmap komutuyla hedef sistemin http başlık (http header) bilgi alınabilmektedir: nmap -sS 192.168.61.61 –script=http-header.nse

nmap -sC” komutu kullanılarak NSE kütüphanesinde bulunan temel bazı betiklerin çalıştırılması sağlanır. Bu komut nmap—script=default” komutuyla aynı görevi yapmaktadır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Haber bültenimize abone olun

Hack dünyasında olup bitenden haberdar olmak için aramıza katılın.

Hoşunuza Gidebilir