Nmap

Nmap, “Network Mapper” kelimelerinin kısaltmasıdır ve ağ keşfi ve güvenlik analizi için kullanılan ücretsiz ve açık kaynaklı bir araçtır. Nmap, bir ağdaki cihazları ve hizmetleri taramak, ağ topolojisini haritalamak, güvenlik açıklarını tespit etmek ve ağ performansını analiz etmek için kullanılır. Hem Linux hem de Windows gibi birçok işletim sisteminde kullanılabilir.

Sadece eğitim amaçlı yapılmıştır, sadece sahip olduğunuz veya test etme izniniz olan cihazları ve sistemleri test etmelisiniz, sahip olmadığınız veya test etme izniniz olmayan cihazların güvenliğini test etmemelisiniz. Yasal sonuçlardan kullanıcının kendisi sorumludur.


Port Durumları (Port States)

  • OPEN (Açık): O portun dinleme modunda olduğu anlamına gelir. Yani port üzerinden bir servis çalışıyor ve dışarıdan gelen bağlantıları kabul edebilir.
  • FILTERED (Filtreli): O portun erişilebilirlik durumunun belirsiz olduğu anlamına gelir. Bir güvenlik duvarı ya da ağ cihazları tarafından engellenen portlar için kullanılır.
  • UNFILTERED (Filtresiz): O portun tarama yapılırken erişilebildiği ancak açık olmadığı anlamına gelir. Yani o portta açık bir servis yok ve ağ cihazları tarafından engellenmiyor.
  • OPEN/FILTERED (Açık/Filtreli): O portun erişilebilir fakat güvenlik duvarı tarafından da engellendiği anlamına gelir.
  • CLOSED/FILTERED (Kapalı/Filtreli): O portun kapalı olduğu ve ağ cihazları tarafından erişilemez olduğu anlamına gelir.

Tarama Türleri

TCP SYN Scan

Portların durumunu belirlemek için TCP/IP üçlü el sıkışma (three-way handshake) işlemini kullanır. Bu işlem, bağlantı kurmak için istemci ve sunucunun birbirleriyle üç adımda SYN, SYN-ACK, ACK iletişimi kurar. Ancak, nmap SYN taramasında el sıkışma işlemini tamamlamaz ve yalnızca ilk iki adımı gerçekleştirir.

  • Nmap, hedef porta TCP paketi gönderir ve SYN bayrağını ayarlar.
  • Eğer hedef port açıksa, bu isteğe SYN-ACK paketi ile cevap verir.
  • Nmap, alınan SYN-ACK paketine bir ACK paketi ile cevap vermez ve bu bağlantıyı tamamlamaz.
nmap -sS 10.10.10.10

TCP Connect Scan

TCP/IP üçlü el sıkışma (three-way handshake) işlemini kullanır. “TCP SYN Scan” ile aynı çalışır fakat son adımda nmap ACK paketini göndererek bağlantıyı tamamlar.

nmap -sT 10.10.10.10

UDP Scan

UDP portlarının durumunu belirlemek için kullanılır. UDP taraması, hedef sistemdeki UDP portlarının durumunu tespit etmek için UDP paketleri gönderir ve cevaplarına bakar. Ancak, UDP protokolüne özgü olarak, cevap vermeyen portlar açık olabilir veya gönderilen UDP paketleri güvenlik duvarı tarafından engellenebilir.

  • Nmap, hedef porta UDP paketi gönderir.
  • Eğer port açıksa ve UDP paketine cevap veriyorsa, nmap bu portu “OPEN” olarak işaretler.
  • Eğer port kapalıysa veya UDP paketlerinin iletimi engelleniyorsa ve cevap alınamıyorsa, nmap bu portu “CLOSED” olarak işaretler.
  • Eğer hedef sistem UDP portuna cevap vermiyor ve nmap bu portun durumunu kesin olarak belirleyemiyorsa portu “OPEN/FILTERED” olarak işaretler.
nmap -sU 10.10.10.10

FIN Scan

Portların durumunu belirlemek için TCP FIN bayrağı kullanır. Nmap, hedef TCP portuna FIN paketi gönderir. Eğer port kapalıysa FIN paketine cevap verilmez. Eğer port açıksa ve bağlantıya cevap veriyorsa, FIN-ACK paketi ile cevap verir.

namp -sF 10.10.10.10

NULL Scan

TCP Null taramasında, nmap hiçbir bayrak ayarlamadan bir TCP paketi gönderir. Eğer hedef sistemdeki port kapalıysa, hedef sistem tarafından bir RST (reset) paketi ile cevap alacaktır. Eğer hedef sistemdeki port açıksa, hedef sistem tarafından hiçbir cevap almayacaktır.

nmap -sN 10.10.10.10

XMAS Scan

No TCP Flags adı verilen tarama yöntemi, nmap aracı ile kullanılan bir TCP tarama yöntemidir. . Xmas taramasında, nmap hedef sistemdeki bir TCP portuna bir dizi bayrak içermeyen (no flags set) TCP paketi gönderir. “Xmas” ismi, bu paketin bayraklarının birer Noel ağacını andırması nedeniyle verilmiştir.

nmap -sX 10.10.10.10

WINDOW Scan

Window taramasında, nmap hedef sistemdeki belirli bir TCP portuna SYN paketi gönderir ve ardından hedef sistemden gelen SYN-ACK paketindeki “Window” değerini kontrol eder. “Window” alanı, TCP bağlantısında alıcının verileri ne kadar kabul edebileceğini belirten bir değerdir. Eğer hedef sistemdeki port açıksa, SYN-ACK paketindeki “Window” değeri genellikle sıfırdan farklı bir değere sahip olacaktır, çünkü hedef sistem veri alımı için bir pencere açacaktır. Eğer hedef sistemdeki port kapalıysa, SYN-ACK paketindeki “Window” değeri muhtemelen 0 olarak ayarlanmış olacaktır, çünkü hedef sistem veri alımı için herhangi bir pencere açmayacaktır.

nmap -sW 10.10.10.10

MAIMON Scan

nmap -sM 10.10.10.10

TCP ACK Scan

ACK taramasında, nmap hedef sistemdeki belirli TCP portlarına ACK bayrağı içeren bir ACK paketi gönderir. Eğer hedef sistemdeki port açıksa, hedef sistem nmap’e bir RST (reset) paketi ile cevap verir. Eğer hedef sistemdeki port kapalıysa veya filtrelenmişse, ACK paketine hiçbir cevap alınmaz.

IPv6 Scan

nmap -6 ADDR

TARGET SPECIFICATION

KomutAçıklama
nmap 192.168.2.1Tek IP tarama
nmap 192.168.2.1 192.168.2.2Birden fazla IP tarama
nmap 192.168.2.1-10Belirli bir adres aralığındaki IP’leri tarama
nmap -iL targets.txtDosyadan okuyarak tarama
nmap 192.168.2.0/24Bir IP aralığını tarama
nmap 192.168.2.0/24 –exclude 192.168.2.0-15Belirli bir aralığı dışlayarak tarama
nmap 192.168.2.0/24 –excludefile exclude_targets.txtDışlanacak hedefleri dosyadan okuyarak tarama

PORT SPECIFICATION

KomutAçıklama
nmap -p 22 192.168.1.2Tek port tarama
nmap -p 80, 8080 192.168.1.2Birden fazla portu tarama
nmap -p 30-50 192.168.1.2Port aralığını tarama
nmap -p -sS -sU U:53,T:80-100,8080 192.168.1.2Belirtilen TCP ve UDP portlarını tarama
nmap -p- 192.168.1.2Tüm portları tarama
nmap -p http 192.168.1.2HTTP portlarını tarama
nmap -p http? 192.168.1.2Başı HTTP ile başlayan portları tarama
nmap -p- http* 192.168.1.2HTTP ile başlayan portları tarama
nmap -F 192.168.1.2Hızlı tarama, en bilinen 100 port
nmap -r -F 192.168.1.2Rastgele tarama
nmap –top-ports 150 192.168.1.2En bilinen 150 portu tarama
nmap –exclude-ports 50-100 192.168.1.2Belirtilen port aralığı haricini tarama
nmap -sn -PS21 192.168.1.2TCP SYN Taraması
nmap -sn -PA22 192.168.1.2TCP ACK Taraması
nmap -sn -PU23 192.168.1.2UDP Taraması
nmap -sn -PU24 192.168.1.2SCTP Taraması

HOST DISCOVERY

KomutAçıklama
nmap -sL 192.168.1.2Yerel ağ tarama
nmap -sn 192.168.1.2Ping taraması
nmap -sn -PR 192.168.1.2ARP Taraması
nmap –traceroute -p 25 192.168.1.2Traceroute

SERVICE DETECTION

KomutAçıklama
nmap -sV 192.168.1.2Servis taraması
nmap -sV –version-intensity 0-9 192.168.1.2Servis tahmin derecesi
nmap -sV –version-light 192.168.1.2Düşük dereceli servis tahmini
nmap -sV –version-all 192.168.1.2Servis tahmini
nmap -O 192.168.1.2İşletim sistemi taraması
nmap -O –osscan-limit 192.168.1.2İşletim sistemi tahmin limiti
nmap -O –osscan-guess 192.168.1.2İşletim sistemi tahmini
nmap -A 192.168.1.2Agresif tarama

TIMING

KomutAçıklama
nmap -T1 192.168.1.2Sneaky
nmap -T2 192.168.1.2Polite
nmap -T3 192.168.1.2Normal
nmap -T4 192.168.1.2Aggressive
nmap -T5 192.168.1.2Insane
nmap –min-rate 50 192.168.1.2Saniyede en az gönderilecek paket sayısı
nmap –max-rate 100 192.168.1.2Saniyede en fazla gönderilecek paket sayısı
nmap –min-retries X 192.168.1.2Saniyede en az deneme sayısı
nmap –max-retries X 192.168.1.2Saniyede en fazla deneme sayısı
nmap –host-timeout 10s IP_ADDRZaman aşımı süresi
nmap –min-hostgroup X -iL targets.txtEşzamanlı olarak taranacak en az grup sayısı
nmap –max-hostgroup X -iL targets.txtEşzamanlı olarak taranacak en fazla grup sayısı

NMAP SCRIPTING ENGINE (NSE)

Kali Linux içerisinde nmap betikleri “/usr/share/nmap/scripts” dizininde bulunur. Betik veri tabanı ise “/usr/share/nmap/scripts/script.db” dizininde bulunur. Script kategorileri;

  • Safe (Güvenli): Hedef sistemlerin durumu hakkında bilgi toplamaya yöneliktir ve güvenlik duvarları gibi güvenlik önlemlerinden etkilenmeden çalışabilirler. Bu betiklerin hedef sistem üzerinde herhangi bir istismara neden olması beklenmez.
  • Intrusive (Müdahaleci): Hedef sistemleri daha etkili bir şekilde taramaya ve bilgi toplamaya yöneliktir. Ancak bu betikler hedef sistemlerde iz bırakabilir ve savunma mekanizmaları tarafından algılanabilirler.
  • Vuln (Zafiyet): Hedef sistemlerdeki potansiyel güvenlik açıklarını tespit etmeye yöneliktir.
  • Exploit (İstismar): Hedef sistemlerdeki güvenlik açıklarını aktif olarak kullanmaya çalışan betiklerdir. Gerçek saldırılar gibi davranabilir ve güvenlik açıklarını istismar ederek hedef sisteme zarar verebilir.
  • Auth (Kimlik Doğrulama): Hedef sistemlere kimlik doğrulama girişimlerini bulmaya yöneliktir. Kullanıcı adları ve parolalar gibi kimlik doğrulama bilgilerini test ederler.
  • Brute (Kaba Kuvvet): Kaba kuvvet saldırıları gerçekleştirmek için kullanılır.
  • Discovery (Keşif): Hedef sistemdeki ağ kaynaklarını keşfetmeye yöneliktir. Açık portları, servisleri ve diğer bilgileri belirlemeye çalışır
  • Default (Varsayılan): Nmap, varsayılan betiklerin bir kısmını hedef sistemlerde çalıştırır, diğer betikleri ise kullanıcı tarafından belirlenen seçeneklerle çalıştırır.
KomutAçıklama
nmap -sC 192.168.1.2Varsayılan betikleri kullanarak tarama
nmap –script=default 192.168.1.2Varsayılan betikleri kullanarak tarama
nmap –script vuln 192.168.1.2Bir kategorideki betikleri kullanarak tarama
nmap –script “vuln, exploit” 192.168.1.2Birden fazla kategorideki betikleri kullanarak tarama
nmap –script “http-*” 192.168.1.2http ile başlayan betiklerle tarama
nmap –script “not https*” 192.168.1.2https içermeyen betiklerle tarama
nmap –script-help 192.168.1.2Betik hakkında bilgi alma
nmap –script-updatedbBetik veri tabanını güncelleme

FIREWALL

KomutAçıklama
nmap -sS -f 192.168.1.2MTU belirterek tarama
nmap -sS –mtu 8,16,24,.. 192.168.1.2 (x8)MTU belirterek tarama
nmap -sS -D F_IP,F_IP 192.168.1.2Sahte adreslerle tarama
nmap -sS -D RND:5 192.168.1.2Random 5 adresle tarama
nmap -sS –spoof-mac “mac_prefix_name” 192.168.1.2MAC belirterek tarama
nmap -sS –spoof-mac 11:22:33:aa:bb:cc 192.168.1.2MAC belirterek tarama
nmap -sS –spoof-mac 0 192.168.1.2Random MAC ile tarama

OUTPUT

KomutAçıklama
nmap -sS -sV 192.168.1.2 -oN file.txtNormal çıktı
nmap -sS -sV 192.168.1.2 -oX file.txtXML formatında çıktı
nmap -sS -sV 192.168.1.2 -oS file.txtScript kiddie formatında çıktı
nmap -sS -sV 192.168.1.2 -oG file.txtGrepable çıktı
nmap -sS -sV 192.168.1.2 -oA file.txtTüm formatlarda çıktı
nmap -sS -sV 192.168.1.2 –reasonİlginç portlar tablosuna Nmap’in bir portu neden bu şekilde sınıflandırdığını açıklayan bir sütun ekler.
nmap -sS -sV 192.168.1.2 –stats-every 5sTarama durumunu gösterme süresi
nmap -sS -SV 192.168.1.2 –packet-traceNmap’in gönderdiği ve aldığı her paketin bir özetini yazdırmasına neden olur.
nmap -sS -sV 192.168.1.2 -vÇıktı göster