loader image

NMAP’i Tanıyalım

Bu yazıda Kali Linux üzerinden Nmap ile temel taramaları nasıl yapabiliriz onu göreceğiz ama öncesinde kısaca Nmap’i tanıyalım.

Network Mapper’ın kısaltılmış hali olan “Nmap” Gordon Lyon tarafından geliştirilen, ağ taraması ve zafiyet tespiti yapmak için kullanılan ücretsiz açık kaynaklı bir araçtır.

Nmap’in Desteklediği İşletim Sistemleri

  • Windows
  • MacOS
  • Solaris
  • BSD
  • AmigaOS’un yanı sıra Linux’un Kali sürümleriyle birlikte kurulu olarak karşımıza çıkar. Kali Linux harici yukarıda gördüğünüz işletim sistemlerinden birine Nmap kurmak isterseniz bu adresi ziyaret edebilirsiniz. Ayrıca Linux’un farklı bir sürümünü kullanıyorsanız aşağıdaki komutları kullanarak Linux işletim sisteminize Nmap’i kurabilirisiniz.

Apt-get:

				
					apt-get install nmap
				
			

Packman:

				
					packman -S nmap
				
			

Yum:

				
					yum install nmap
				
			

Nmap ile Neler Yapabiliriz

  • Port taramaları,
  • Servis keşifleri,
  • Bilinmeyen yeni sunucuları tanımlamak ve güvenlik denetimi,
  • İşletim sistemleri ve versiyon tespiti,
  • Açık bağlantı noktaları bulmak,
  • Sistemlerde ne tür cihazların çalıştığını ortaya çıkarmak gibi oldukça geniş kullanım alanları sunmaktadır.

Nmap’in varsayılan kuralları var diyebiliriz. Bunlar;

  • Eğer herhangi bir tarama türü belirtmezseniz TCP taraması yapar.
  • Eğer tarama portları arasında bir aralık belirtmezseniz ilk 1000 portu tarar.
  • Nmap önce bir IP adresine ping sinyali gönderir ve cevap alamazsa o IP adresini kapalı olarak kabul eder. Fakat IP adresinde çalışan bir Firewall varsa ping sinyaline cevap vermemeye ayarlanmış olabilir. Ping taraması yapmadan her IP adresini açık kabul etmek için -Pn parametresini kullanmamız gerekmektedir.

Nmap Komutları

Nmap’de birçok parametre mevcuttur. Bunları -help ya da -h komutuyla öğrenebiliriz.

Yukarıda gördüğünüz gibi bir çok komut karşımıza çıkıyor.

				
					-sn : Port taraması yapma anlamına gelir.
-F : Daha hızlı tarama yapar. Daha az sonuç bulur.
-n : DNS çözümlemesi yapma anlamına gelir.
-v , -vv , -vvv : Ekrana gösterilecek detayları arttırır.
-sS : Syn taraması yapar.
-sU : UDP taraması yapar.
-sT : TCP taraması yapar.
--reason : Bulduğu bir sonucun sebebini gösterir. (komut önünde iki yatay çizgi var fakat Medium tek bir çizgi olarak gösteriyor)
-p : Sadece bu parametreden sonra belirtilen portları tarar.
--open : Sadece açık portları gösterir. (komut önünde iki yatay çizgi var fakat Medium tek bir çizgi olarak gösteriyor)
-p- : Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar.
-sV : Açık portta çalışan servisin ne olduğunu bulmaya çalışır ve -sC ile birlikte kullanılırsa işe yarar.
-sC : -sV ile versiyon tespiti yapılırken nmap scriptlerini kullanır.
--top-ports : En çok kullanılan portları tarar.
-O : Tarama sırasında işletim sistemi bilgisini verir. (Sıfır değil O harfi)
-oA : Nmap sonuçlarını 3 formatta kaydetmeyi sağlar.
-oG : Nmap sonuçlarını normal kaydetmeyi sağlar.
-oN : Nmap sonuçlarını "greplenebilir" formatta kaydetmeyi sağlar.
				
			

Komut Kullanım Şekli

				
					nmap [tarama türü] [tarama opsiyonları] [hedef/hedefler tanımlama]
				
			

Port Tarama Teknikleri

Port taramalarının hepsini scanme.nmap.org sitesi üzerinden yapacağım. Nmap’ de temel olarak diyebileceğimiz 3 tane port tarama teknikleri mevcuttur. Bunlar;

1) TCP Connect Scan: -sT

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 loglanmaktadır.

Kısaca bu sistem three-way handshake yöntemine benzer.

2) SYN Scan: -sS

TCP taramasıyla neredeyse aynı çalışır diyebiliriz. Farkları ise açık portları nasıl işledikleridir.

Altını çizmiş olduğum -sS komutunda küçük ‘’s’ taramayı, büyük ‘’S’’ ise taramanın çeşidini belirtir.

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.

Eğer SYN taramalarını sudo izinleriyle çalıştırmazsak, Nmap varsayılan olarak TCP taramasına geçer.

Bu taramalar ‘’Half-open’’ veya ‘’Stealth’’ olarak da bilinir.

3) UDP Scan: -sU

Nmap TCP yerine UDP kullanarak bir bilgi elde etmeye çalışır.

UDP portlarının açık veya kapalı olduğunu analiz eder. UDP paketine gelen cevap ‘’ICMP Port Unreachable’’ ise portun kapalı olduğunu; UDP paketi ise portun açık olduğu anlaşılır.

UDP paketleri güvenli olmadığı için istediğimiz sonuçları elde edemeyebiliriz.

Tarama Sonrası Port Durumları

Yukarıda gördüğünüz gibi Kali’de tek bir IP adresi taraması yaptım ve karşıma portlar, portların durumu ve kullandıkları servisleri geldi. Bunların anlamı;

  • Open : Port açıktır ve açık bulanan portu dinleyen bir uygulama mevcuttur.

Port erişilebilir.

  • Closed : Port kapalıdır fakat erişilebilirdir. Portu dinleyen herhangi bir uygulama yoktur.

Porta erişilebilir fakat üzerinde servis yoktur.

  • Filtered : Filtreleme işlemi dolayasıyla Nmap portun açık olduğunu tespit edememiştir.

Portun açık veya kapalı olduğunu bilemeyiz. Bir firewall olabilir.

  • Unfiltered : ACK Scan için dönen bu durumda portlar erişilebilir fakat açık olduğu tespit edilememiştir.

Port erişilebilir fakat portun açık veya kapalı olduğunu bilemeyiz.

  • Open | Filtered : UDP, IP Protocol, FIN, NULL ve XMAS Scan için dönen bu durumda portların açık veya filtrelenmiş olduğu tespit edilememiştir.

Port açık mı filtrelenmiş mi bilemeyiz.

  • Closed | Filtered : IDLE Scan için dönen bu durumda portların kapalı yada filtreleniş olduğu tespit edilememiştir.

Port kapalımı filtrelenmiş mi bilemeyiz.

 

Komutları, portları ve port durumlarından kısaca bahsettik şimdi Kali üzerinden komutları deneme vakti geldi.

Hedef Belirleme

İlk olarak tüm ağı taramasını istedim. Böylece ağımda bulunan cihazların portlarının durumunu öğrenebilirim.

Ağımızda bulunan 256 adet IP’nin taramasını yaptık

Farklı taramalar da mevcuttur;

  • nmap 192.168.1.1 : Sadece tek bir IP adresini tarar.
  • nmap 192.168.1.1–20 : 1 ve 20 dahil olmak üzere aralarında ki IP’leri tarar.
  • nmap host_adı : Host taraması için kullanılır. nmap ‘in yanının taramak istediğiniz host adını yazmanız yeterli olacaktır. nmap.org ’u taramak istedim.

Alınan ve Gönderilen Tüm Paketleri Görüntüleme

				
					nmap --packet-trace 192.168.1.1
				
			

En çok kullanılan Portları Tarama:

				
					nmap — top-ports 10 192.168.1.1
				
			

Spesifik Port Taraması

80. Portu Tarama : nmap -p 80 192.168.1.1

TCP 80 Portunu Tarama: nmap -p T:80 192.168.1.1

İki Portu Tarama: nmap -p 80,443 192.168.1.1

Port Aralığı Tarama: nmap -p 80–200 192.168.1.1

Hedef Kuruluşun IP Adresinin Bulunması

1. DNS Bilgilerinin Elde Edilmesi

DNS’in ilk amacı, domain adlarını IP adreslerine çözümlemektir. Bu neenle DNS bilgilerinin araştırılması gerekmektedir.

DNS kayıt türlerinin öğreneilmesi için host yardımcı uygulaması kullanılarak nameserver’lar hakkında bilgi elde edilebilir.

Zone Transfer

Zone transferi; Belirli bir işlem sonucunda DNS veritabanının bir sunucudan başka bir sunucuya aktarılmasına denir.

Birden fazla domain name server var ise name serverların zone içeriklerini güncel tutabilmesi için “Primary DNS” serverdan o zone’yi çekip kullanmalarını sağlayan bir özelliktir. Yani DNS serverlar arasında ki database replikasyonunun karşılaştırılmasını sağlarız. Zone dosyası, o zone için yapılandırılmış DNS isimlerini içerir. Buradaki konfigürasyon hatasından dolayı biz bütün subdomainleri öğrenip, bu subdomainler hakkında bilgi toplayabiliriz.

Yukarıda zone tranfer işleminin başarılı veya hatalı olduğunu görebiliyoruz.

Nmap le Traceroute Kullanımı

Hedef domaine yönelik tarama gerçekleştriğinde –traceroute parametresi kullanılarak hedef IP adresine kadarki ara IP adresleri karşımıza çıkmış oluyor. Ayrıca bir IP adresini whois kullanarak bilgi toplama işlemi yapılabilir.

whois ile hedef IP adresi hakkında bilgiler getirmektedir.

Elbetteki bu aracın yetenekleri bu kadarı ile sınırlı değil. Nmap’de kullanılabilecek bir çok farklı ve faydalı taramalar var. İncelemek ve uygulamak için http://scanme.nmap.org/ adresini kullanabilirsiniz . Ayrıca port taramalarımın belli noktaların www.siberdinc.com adresi kullandım. Oradan da faydalı bilgiler edinebilirsiniz.

Unutmadan Nmap her zaman %100 doğru bilgi de vermemektedir.

Şapkan beyazsa kırmızıdan daha önde olmalısın…