Nmap Nedir ? Tarama Nasıl Yapılır ?

Network Mapper kısaltılması olan nmap ağ tarama , zafiyet tespiti ve bilgi toplama amacı ile kullanılan açık kaynak bir araçtır. Siber güvenlik sektöründe kullanılan en popüler araçlardan birisi olan namp ile bir çok tarama işlemi gerçekleştirilmektedir. Bilgi toplamak için gönderilen paketler aracılığı ile servis keşfi, port taraması, işletim sistemi tespiti ve versiyon bilgileri elde edilmektedir. Tarama ve keşif işlemleri haricinde NSE (Nmap Scripting Engine) ile daha kapsamlı işlemler yapılmaktadır.

Kali linux içerisinde kurulu olarak geldiği gibi farklı işletim sistemlerinde kullanılmak üzere nmap.org proje sitesinden de indirilmektedir.

Kullandığınız linux dağılımında nmap kurulu değilse aşağıdaki komut ile kurulum yapabilirsiniz.

sudo apt-get install nmap

Nmap ile tarama nasıl yapılır ?

Kurulum işleminden sonra nmap -help veya nmap -h komutu yardımı ile araç hakkında bilgiler alabilirsiniz.

nmap -help

Bir nmap tarama işleminde bir veya birden fazla parametreyi bir arada kullanarak tarama başlatabilirsiniz. İlk bakışta kullanımı karmaşık ve zor gürünse de aslında basit ve sade bir kullanıma sahiptir kısaca mantık olarak taramaları nmap [tarama türü] [tarama opsiyonları] [hedef veya hedefler] şeklinde yapılmaktadır.

Tarama sonrası port durumlarını gösteren farklı bilgiler dönecektir.

  • Open = Portun erişilebilir olduğu ve portun bağlantı kabul ettiğini gösterir.
  • Closed = Portun erişilebilir olduğu ancak üzerine işlem yapılamadığı bilgisini gösterir.
  • Filtered = Bir paket filtreleme mekanizması tarafından engellendiğini gösterir.
  • Unfiltered = ACK taraması sonucunda portun erişilebilir fakat durumunun tespit edilmediğini gösterir.
  • Open | Filtered = Portun açık mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.
  • Closed | Filtered = Portun kapalımı mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.

 

Taramalarda kullanılan parametler ;

  • -sn: Port taraması yapma anlamına gelir.
  • -n: DNS Çözümlemesi yapma anlamına gelir.
  • -v, -vv, -vvv: Ekrana gösterilecek detayları arttırır.
  • -F: Daha hızlı tarama yapar. Daha az sonuç bulur.
  • -sS: Syn Taraması Yapar.
  • –reason: Bulduğu bir sonucun sebebini gösterir.
  • –open: Sadece açık Portları gösterir.
  • -p-: Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar.
  • -sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır. -sC ile birlikte kullanılırsa işe yarar.
  • -sC: -sV ile versiyon tespiti yapılırken nmap scriptlerini kullanır.
  • -p: Sadece bu parametreden sonra belirtilen portları tarar.
  • –top-ports: En çok kullanılan portları tarar.

 

Diğer  tarama parametreleri ;

  • –Pn : Ping atmak istenmediğinde kullanılır.
  • –h :  Yardım almak için kullanılır.
  • –V : Nmap versiyon kontrolü için kullanılır.
  • –6 : IPv6 aktif edilmek istendiğinde kullanılır.
  • –A : Agresif tarama opsiyonunu aktifleştirir.
  • –Pn : Ping atılmak istenmediğinde kullanılır.
  • –e [interface] : Network kartı tanımlamak amaçlı kullanılır.
  • –ttl : TTL değerinin ayarlanmasını sağlar.
  • –badsum : Hatalı checksuma sahip paketler gönderir.
  • –data-length : Paketlerin boyutunun ayarlanmasını sağlar.

 

Güvenlik uzmanlarının yanı sıra ağ ve sistem yöneticileride bu açık kaynak kodlu aracı sıkça kullanmaktadır. En çok kullanılan komutlardan bazıları aşağıdaki gibidir.

Tek bir IP adresini tarama
$ nmap 192.168.1.1

Tek bir Host veya Domain tarama
$ nmap hostname

Birden fazla IP adresini tarama
$ nmap 192.168.1.1,3,5,7,9

IP aralığı tarama
$ nmap 192.168.1.1-25

Tüm ağı tarama
$ nmap 192.168.1.0/24 | $ nmap 192.168.1.*

İşletim sistemi bilgilerini alma
$ nmap -A -v 192.168.1.1

Güvenlik duvarı hakkında bilgi alma
$ nmap -v -sA 192.168.1.1

Belirli portları tarama
$ nmap -p 21,22,80,443,53,52 192.168.1.1

TCP ve UDP portlarını tarama
$ nmap -p -T: 20-25,80,443 U: 53 192.168.1.1

Bağlantı hizmet ve sürüm bilgilerini tespit etme
$ nmap -sV 192.168.1.1/24

Seçilen IP adreslerini hariç tutarak tarama
$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Dosyadan liste alarak tarama
$ nmap -iL iplist.txt

Dosyadan hariç tutulan IP adreslerini alarak tarama
$ nmap 192.168.1.0/24 --excludefile exclude.txt

Belirli bir port aralığını tarama
$ nmap -p 80-443 192.168.1.1

Tüm portları tarama
$ nmap -p "*" 192.168.1.1

Tüm TCP portlarını tarama
$ nmap -sT 192.168.1.1

Tüm UDP portlarını tarama
$ nmap -sU 192.168.1.1

Sadece açık portları tarama
$ nmap --open 192.168.1.1

Tarama sırasında işletim sistemi bilgisi alma
$ nmap -O 192.168.1.1

Paket filter ve/veya firewall algılama
$ nmap -sA 192.168.1.1

Tarama günlüğünü belirli bir dosyaya kaydetme
$ nmap 192.168.1.1 > output.txt

Yukarıdaki komutlar haricinde birde NSE (Nmap Scripting Engine) kullanarak zaffiyet tarama ve exploit konularında da güçlü bir veritabanına sahiptir.Bu scriptler sayesinde ile zafiyet taraması, discovery ve exploit işlemlerini yapabilirsiniz. Script listesine /usr/share/nmap/scripts yolundan ulaşabilirsiniz.

Bu scriptler birden fazla kategoride saklanır ve gelişmiş işlem yeteneklerine sahiptir.

nse kategorileri

nse script çalıştırma

Örnek Script çalıştırma senaryoları

“Whois-domain.nse” script’i ile yaplan tarama örneği:
nmap — script whois-domain.nse google.com

Malware script’i ile yaplan tarama örneği:
nmap — script malware 192.168.1.10

nmap --script “smb-vuln-*” 192.168.1.10

nmap --script http-enum domain.com

nmap --script smb-brute –p 445 192.168.1.10

nmap --script all 192.168.1.10

nmap --script-help smb-brute

Ayrıca nmap ile web uygulama güvenliği taramaları ve waf atlatma tekniklerinide kullanabilirsiniz.Elbetteki bu aracın yetenekleri bu kadarı ile sınırlı değildir. Daha geniş dökümana geliştirici resmi sitesinden erişebilirsiniz.Hazırlamakta olduğumuz doküman tamamlandığında bu makale içerisinden indirebilirsiniz.

MENÜYÜ KAPAT