Table of Contents
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
Komut | Açıklama |
nmap 192.168.2.1 | Tek IP tarama |
nmap 192.168.2.1 192.168.2.2 | Birden fazla IP tarama |
nmap 192.168.2.1-10 | Belirli bir adres aralığındaki IP’leri tarama |
nmap -iL targets.txt | Dosyadan okuyarak tarama |
nmap 192.168.2.0/24 | Bir IP aralığını tarama |
nmap 192.168.2.0/24 –exclude 192.168.2.0-15 | Belirli bir aralığı dışlayarak tarama |
nmap 192.168.2.0/24 –excludefile exclude_targets.txt | Dışlanacak hedefleri dosyadan okuyarak tarama |
PORT SPECIFICATION
Komut | Açıklama |
nmap -p 22 192.168.1.2 | Tek port tarama |
nmap -p 80, 8080 192.168.1.2 | Birden fazla portu tarama |
nmap -p 30-50 192.168.1.2 | Port aralığını tarama |
nmap -p -sS -sU U:53,T:80-100,8080 192.168.1.2 | Belirtilen TCP ve UDP portlarını tarama |
nmap -p- 192.168.1.2 | Tüm portları tarama |
nmap -p http 192.168.1.2 | HTTP portlarını tarama |
nmap -p http? 192.168.1.2 | Başı HTTP ile başlayan portları tarama |
nmap -p- http* 192.168.1.2 | HTTP ile başlayan portları tarama |
nmap -F 192.168.1.2 | Hızlı tarama, en bilinen 100 port |
nmap -r -F 192.168.1.2 | Rastgele tarama |
nmap –top-ports 150 192.168.1.2 | En bilinen 150 portu tarama |
nmap –exclude-ports 50-100 192.168.1.2 | Belirtilen port aralığı haricini tarama |
nmap -sn -PS21 192.168.1.2 | TCP SYN Taraması |
nmap -sn -PA22 192.168.1.2 | TCP ACK Taraması |
nmap -sn -PU23 192.168.1.2 | UDP Taraması |
nmap -sn -PU24 192.168.1.2 | SCTP Taraması |
HOST DISCOVERY
Komut | Açıklama |
nmap -sL 192.168.1.2 | Yerel ağ tarama |
nmap -sn 192.168.1.2 | Ping taraması |
nmap -sn -PR 192.168.1.2 | ARP Taraması |
nmap –traceroute -p 25 192.168.1.2 | Traceroute |
SERVICE DETECTION
Komut | Açıklama |
nmap -sV 192.168.1.2 | Servis taraması |
nmap -sV –version-intensity 0-9 192.168.1.2 | Servis tahmin derecesi |
nmap -sV –version-light 192.168.1.2 | Düşük dereceli servis tahmini |
nmap -sV –version-all 192.168.1.2 | Servis 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.2 | Agresif tarama |
TIMING
Komut | Açıklama |
nmap -T1 192.168.1.2 | Sneaky |
nmap -T2 192.168.1.2 | Polite |
nmap -T3 192.168.1.2 | Normal |
nmap -T4 192.168.1.2 | Aggressive |
nmap -T5 192.168.1.2 | Insane |
nmap –min-rate 50 192.168.1.2 | Saniyede en az gönderilecek paket sayısı |
nmap –max-rate 100 192.168.1.2 | Saniyede en fazla gönderilecek paket sayısı |
nmap –min-retries X 192.168.1.2 | Saniyede en az deneme sayısı |
nmap –max-retries X 192.168.1.2 | Saniyede en fazla deneme sayısı |
nmap –host-timeout 10s IP_ADDR | Zaman aşımı süresi |
nmap –min-hostgroup X -iL targets.txt | Eşzamanlı olarak taranacak en az grup sayısı |
nmap –max-hostgroup X -iL targets.txt | Eş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.
Komut | Açıklama |
nmap -sC 192.168.1.2 | Varsayılan betikleri kullanarak tarama |
nmap –script=default 192.168.1.2 | Varsayılan betikleri kullanarak tarama |
nmap –script vuln 192.168.1.2 | Bir kategorideki betikleri kullanarak tarama |
nmap –script “vuln, exploit” 192.168.1.2 | Birden fazla kategorideki betikleri kullanarak tarama |
nmap –script “http-*” 192.168.1.2 | http ile başlayan betiklerle tarama |
nmap –script “not https*” 192.168.1.2 | https içermeyen betiklerle tarama |
nmap –script-help 192.168.1.2 | Betik hakkında bilgi alma |
nmap –script-updatedb | Betik veri tabanını güncelleme |
FIREWALL
Komut | Açıklama |
nmap -sS -f 192.168.1.2 | MTU 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.2 | Sahte adreslerle tarama |
nmap -sS -D RND:5 192.168.1.2 | Random 5 adresle tarama |
nmap -sS –spoof-mac “mac_prefix_name” 192.168.1.2 | MAC belirterek tarama |
nmap -sS –spoof-mac 11:22:33:aa:bb:cc 192.168.1.2 | MAC belirterek tarama |
nmap -sS –spoof-mac 0 192.168.1.2 | Random MAC ile tarama |
OUTPUT
Komut | Açıklama |
nmap -sS -sV 192.168.1.2 -oN file.txt | Normal çıktı |
nmap -sS -sV 192.168.1.2 -oX file.txt | XML formatında çıktı |
nmap -sS -sV 192.168.1.2 -oS file.txt | Script kiddie formatında çıktı |
nmap -sS -sV 192.168.1.2 -oG file.txt | Grepable çıktı |
nmap -sS -sV 192.168.1.2 -oA file.txt | Tü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 5s | Tarama durumunu gösterme süresi |
nmap -sS -SV 192.168.1.2 –packet-trace | Nmap’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 |