Nmap ile Ağ Keşfi ve Zafiyet Analiz



Siber güvenlik dünyasının temel taşlarından biri olan Nmap, ağ tarama ve zafiyet tespiti denilince akla gelen ilk araçtır. Ağdaki cihazları keşfetmemize, açık portları analiz etmemize ve bu portlar üzerindeki servislerin detaylarını öğrenmemize olanak sağlayan Nmap, bir sızma testinin en kritik aşaması olan ‘keşif’ sürecinin vazgeçilmezidir.
Nmap genellikle Kali Linux ve Parrot OS gibi siber güvenlik odaklı işletim sistemlerinde halihazırda kurulu olarak gelir. Ancak kullanım alanı bununla sınırlı değildir; Nmap’i Windows ve macOS işletim sistemlerine de kolayca kurup çalıştırabilirsiniz.
ZENMAP
Terminal üzerinden kullanılan Nmap aracını dilerseniz görsel arayüzle de kullanabilirsiniz. bunun için geliştirilen Zenmap aracı grafik arayüzü sayesinde hazır tarama profillerini seçerek daha görsel ve pratik bir kolaylık sağlar
Özellikle ağ haritasını (topology) çıkarmak ve sonuçları kaydedip daha sonra analiz etmek isteyenler için zenmap daha uygun bir araç olabilir.
Press enter or click to view image in full size

linux sistemlerde genelde kurulu gelir ve terminale “zenmap” yazarak aracı çalıştırabilirsiniz.
Nmap Kullanmadan Önce Bilmeniz Gereken Temel Kavramlar :
→ Nmap kullanmaya başlamadan önce, aracın arka planda neler yaptığını anlamak gerekir. İşte bu sebepten ötürü sizlere bilmeniz gerkeken temellerden bahsedeceğim :
1 — Port Nedir?
Bir bilgisayar ağ üzerinden bir hizmet sunduğunda, bu hizmeti dinlemek için belirli bir port açar. Portlar, aynı IP adresi üzerinde birden fazla servisin ve bağlantının eş zamanlı olarak çalışabilmesini sağlar.
Bir ağ bağlantısı her zaman iki port arasında kurulur: sunucu tarafında hizmetin dinlediği port ve istemci tarafında işletim sistemi tarafından geçici olarak atanan bir port. Örneğin bir kullanıcı bir web sitesine bağlandığında, istemci işletim sistemi bağlantı için geçici bir kaynak portu otomatik olarak atar ve hedef sunucunun 443 numaralı portuna bağlantı kurulur.
Siber güvenlik açısından açık portlar, hedef sistem üzerinde hangi servislerin çalıştığını doğrudan gösterir. Nmap gibi ağ tarama araçları da bu portları tespit ederek sistemin dış dünyaya açık olan yüzeyini ortaya çıkarmayı amaçlar.
Bir örnek üzerinden anlatmak gerekirse
Bir bilgisayarı büyük bir otel olarak düşünürsek , bu otelin dış dünyaya açılan tek bir giriş noktası vardır ve bu da IP adresidir. Ancak otelin içinde farklı hizmetlere karşılık gelen binlerce oda bulunur. Bu odaların her biri ağ iletişiminde port olarak adlandırılır.
- Toplamda 65.535 tane port vardır.
- Nmap varsayılan olarak en popüler 1000 tanesini tarar çünkü saldırganların veya servislerin en çok kullandığı “kapılar” bunlardır.
Press enter or click to view image in full size

görsel tryhackme.com dan alınmıştır
Bu Süreç Nasıl Çalışır?
Bir kullanıcı bilgisayarında bir web sitesine (örneğin Google’a) erişmek için tarayıcısını açtığında, arka planda belirli bir ağ iletişim süreci gerçekleşir.
İstemci (Kullanıcının Bilgisayarı):
Kullanıcının bilgisayarı, dışarıya veri gönderebilmek için o an müsait olan ve genellikle 1024–65535 aralığında bulunan geçici bir portu otomatik olarak seçer. Bu port, bağlantı süresince istemci için bir çıkış noktası görevi görür. Görselde yer alan 62534 veya 42967 gibi değerler, istemci sistem tarafından o an için atanmış geçici portları temsil eder.
Sunucu (Hedef Web Sitesi):
Hedef sunucu (örneğin Google veya TryHackMe), istemcilerden gelen bağlantıları her zaman bilinen ve sabit olan 443 numaralı port (HTTPS) üzerinden kabul eder. Bu port, sunucu tarafında ilgili hizmetin sürekli olarak dinlendiği noktadır.
Geri Dönüş Mekanizması:
Sunucu, istemciye yanıt gönderirken ağ paketine kaynak ve hedef port bilgilerini ekler. Örneğin, sunucu paketin 443 numaralı porttan çıktığını ve istemcinin 62534 numaralı portuna gönderileceğini belirtir. Bu sayede istemci işletim sistemi, gelen verinin hangi uygulamaya veya hangi tarayıcı sekmesine ait olduğunu doğru şekilde ayırt edebilir.
2- TCP ve UDP: İletişim Protokolleri
Verilerimizin ağ üzerinde güvenli ve düzenli bir şekilde iletilebilmesi için belirli iletişim kurallarına ihtiyaç vardır. Bu kurallar, ağ iletişimini yöneten protokoller aracılığıyla sağlanır. TCP (Transmission Control Protocol) ve UDP (User Datagram Protocol), bu alandaki en temel iki iletişim protokolüdür ve verinin nasıl gönderileceğini , iletim sırasında nasıl kontrol edileceğini belirler.
- TCP (Transmission Control Protocol)
TCP, bağlantı tabanlı bir iletişim protokolüdür. Veri iletimi başlamadan önce gönderici ve alıcı arasında bir bağlantı kurulur. Bu sayede gönderilen paketlerin eksiksiz ve doğru sırayla alıcıya ulaştığından emin olunur. TCP, kaybolan veya bozulmuş paketleri yeniden göndererek veri bütünlüğünü garanti altına alır.
Kullanım Senaryoları :
→Web siteleri (HTTP/HTTPS)
→E-posta servisleri (SMTP, POP3, IMAP)
→Dosya transferleri (FTP, SFTP)
daha çok veri bütünlüğünü ve güvenliği ön planda tutar.
- UDP (User Datagram Protocol)
UDP, bağlantısız bir iletişim protokolüdür. Veri gönderimi öncesinde herhangi bir bağlantı kurulmaz ve paketlerin alıcıya ulaşıp ulaşmadığı kontrol edilmez. Bu durum UDP’yi daha hızlı hale getirirken, veri kaybı riskini de beraberinde getirir.
Kullanım Senaryoları :
→Canlı video ve ses yayınları
→Online oyunlar
daha çok Hızın ön plana çıktığı bağlantılarda kullanılır.
Popüler Portlar ve Servisler :
Press enter or click to view image in full size

Nmap ile bir tarama yaptığınızda karşınıza çıkacak olan en yaygın portlar ve bu portların konuştuğu protokoller yukarıdaki tabloda yer alıyor. Örneğin; bir web sitesine girmek istediğinizde arka planda 80 (HTTP) veya 443 (HTTPS) portları üzerinden TCP protokolü ile iletişim kurulur. Nmap, işte bu kapıların açık olup olmadığını kontrol eder.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
TCP Connect Scan :
Nmap Arka Planda Nasıl Çalışır? Portlar, SYN ve ACK Bayrakları

Nmap bir portun durumunu belirlemek için görselde gördüğünüz TCP Üçlü El Sıkışma (Three-way Handshake) mekanizmasını kullanır. Bir portun “Açık”, “Kapalı” veya “Filtreli” olması, bu el sıkışma sinyallerinin nasıl sonuçlandığına bağlıdır:
- Open (Açık) Durumu: Bilgisayarınız hedefe bir SYN (Bağlantı isteği) paketi gönderir. Eğer karşı taraf size SYN-ACK (İsteği aldım ve onaylıyorum) cevabı dönerse, Nmap o portun açık olduğunu anlar. Bu, kapının arkasında sizi bekleyen aktif bir servis olduğu anlamına gelir.
Press enter or click to view image in full size

görselde Three-way Handshake in başarıyla tamamlandığı ağ paketini görüyorsunuz
- Closed (Kapalı) Durumu: Eğer gönderdiğiniz SYN paketine karşılık sunucudan bir RST (Reset — Bağlantıyı reddet) paketi gelirse, Nmap o portun kapalı olduğuna karar verir. Kapı oradadır ama içeride kimse yoktur.

portun kapalı durumu
- Filtered (Filtrelenmiş) Durumu:
Nmap tarama sonuçlarında bir portun filtered olarak işaretlenmesi, o portun açık ya da kapalı olduğunun kesin olarak belirlenemediği bir durumu ifade eder. Bu durum genellikle hedef sistemin önünde konumlandırılmış bir güvenlik duvarı (firewall) nedeniyle ortaya çıkar. Aşağıdaki görsel, bu sürecin nasıl işlediğini oldukça net bir şekilde göstermektedir.
Press enter or click to view image in full size

İstemci tarafından gönderilen SYN bayrağı Firewall a takılıyor
Yukarıda bahsetmis oldugum TCP Connect Scan, hedef cihaz ile TCP iletişimini tamamen kurduğu için bu bağlantılar hedef sistem tarafından log kayıtlarına alınır ve kalıcı bir iz bırakır. Bu durum, yapılan taramanın daha sonra delil niteliği taşımasına yol açabilir. Aynı zamanda modern Saldırı Tespit Sistemleri (IDS) ve Saldırı Önleme Sistemleri (IPS), bu tam el sıkışma sürecini kolaylıkla algılayarak tarama yapan sistemi tespit edebilir ve engelleyebilir.
Bu tür tespit mekanizmalarından kaçınmak ve ağ keşfi sırasında mümkün olduğunca gizli kalabilmek, siber güvenlik açısından büyük önem taşır. İşte bu noktada, bağlantıyı tamamlamadan portun durumunu anlamaya olanak tanıyan -sS (SYN Scan) tekniği devreye girer. Şimdi Nmap’in en sık kullanılan ve gizliliği ön planda tutan bu tarama yöntemini ele alacağız.
SYN Scan (Half-Open Scan)
Yarı el sıkışma mantığı olarak bilinen bu mekanizmada tarama türünde istemci, hedef porta yalnızca bir SYN paketi gönderir. Eğer hedef port açıksa, sunucu bu isteğe SYN/ACK paketiyle yanıt verir. Ancak bu noktada istemci, bağlantıyı tamamlamak için gerekli olan ACK paketini GÖNDERMEZ Bunun yerine bağlantıyı sonlandırır ve el sıkışma süreci yarım bırakılır.

Syan Scan , Yarım el sıkışma mekanizması
Üçlü el sıkışma tamamlanmadığı için, hedef sistem bu isteği çoğu zaman tam bir bağlantı olarak değerlendirmez. Bu da servis seviyesinde log tutulma ihtimalini azaltır ve taramanın daha az iz bırakmasını sağlar. Aynı zamanda IDS/IPS gibi güvenlik sistemleri açısından da bu tür taramalar, tam bağlantı kuran taramalara kıyasla daha zor tespit edilir.
Wireshark ile bu paketleri inceleyebiliriz.

Press enter or click to view image in full size

Burada -sS parametresi kullanarak SyanScan yani yarım el sıkışma metodunu kullandık ve -p parametresi ile de özellikle taramak istediğimiz portları belirttik. -p 22 , 23 , 25 ile de sırasıyla SSH, TELNET VE SMTP portlarını taradık.
Wirshark ekran görüntümüze de bakarsak scanme.nmap.org sitesinin ip adresini (45.33.32.156) görebiliriz.
Cihazımıza gelen SYN + ACK bayraklarına karşılık verdiği RST paket cevabı SynScan in başarılı bir şekilde yapıldığını gösterir. bu durum sadece “açık portlar için ” geçerlidir. lütfen bu detaya da dikkat edin.
Wireshark üzerinden bu tarz paketleri incelemek için “TCP” filtrelemesi yaparak daha hızlı sonuca varabilirsiniz
NMAP KULLANIMI :
1 - Nmap’te Port Bulma , Hedefleme ve Kapsam Belirleme :
Nmap ile bir tarama yaparken sadece “neyi” tarayacağınız değil, “nasıl bir aralıkta” tarama yapacağınız da hayati önem taşır. Gereksiz portları taramak vakit kaybıdır, çok az port taramak ise sızma testi sırasında kritik bir kapıyı gözden kaçırmanıza neden olabilir
Spesifik Portları Belirlemek (-p Parametresi)
- Tek bir port:
nmap -p 80 <hedef> - Belirli port listesi:
nmap -p 22,80,443 <hedef> - Port aralığı:
nmap -p 1-1000 <hedef>
En Popüler” Portlara Odaklanmak (--top-ports)
Nmap, dünya genelinde en çok kullanılan portların istatistiğini tutar.
İşte bu portları taramak için kullanılması gereken komutlar :
- Komut:
nmap --top-ports 100 <hedef>
bu komut nmap in istatistiğini tuttugu en populer 100 portu tarar
Press enter or click to view image in full size

burada 100 port tarandı ve 91 portun kapalı oldugunu 2 portun açık oldugunu ve kalan 7 portun ise filtreli oldugunu nmap bize söylüyor.
Tüm Portları Zorlamak (-p-)
Eğer bir sistemin güvenliğini tam olarak test ediyorsanız, standart dışı portlara gizlenmiş servisleri bulmanız gerekir.
- Komut:
nmap -p- <hedef>
1'den 65.535'e kadar olan tüm portları tara demektir. Biraz uzun sürer ama hiçbir kapıyı atlamazsınız.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
2 - Servis ve Versiyon Tespiti (-sV)
Portların tanımını yaparken Bir otelin odaları oldugundan bahsetmiştim.
bu noktada ise kapıları açık olan odaların (açık portlar) içeriğini öğreneceğiz.
Servis bilgisi ve versiyon bilgisini -sV (Service Version) parametresi ile öğreniriz.
Port numaraları bazen yanıltıcı olabilir . örneğin bir sistem yöneticisi güvenlik amacıyla HTTP servisini Port 80 yerine Port 8080'de çalıştırıyor olabilir.
bundan dolayı -sV parametresi kullanırız çünkü gerçek veriye dayalı sonuç üretir.
Neden Servis ve Versiyon tespiti yapıyoruz ?
Siber güvenlik dünyasında her yazılımın ve her sürümün kendine has zayıflıkları olabilir. Eğer biz o odada sadece “bir web sunucusu” değil, “Apache 2.4.41” çalıştığını bilirsek, bu sürümün geçmişte hangi açıklarla (CVE) anıldığını hemen bulabiliriz.
Press enter or click to view image in full size

görselde versiyon bilgilerini görebiliyoruz . (OpenSSH6.6.1p1 gibi)
içeriye bu kadar yakından bakmak biraz gürültü çıkarabilir. Önceki bölümlerde bahsettiğimiz “Gizli SYN Scan” gibi sessizce bir işlem yapmıyoruz . Eğer hedefte sıkı bir güvenlik duvarı veya saldırı tespit sistemi (IDS) varsa, hedefe yaptıgımız sorgular log kayıtlarına yansıyabilir.
IDS Nasıl Fark Eder ve Loglar?
Get Ömer Faruk TOPTAŞ’s stories in your inbox
Join Medium for free to get updates from this writer.
Subscribe
Remember me for faster sign in
IDS, bir IP adresinden çok kısa sürede onlarca farklı porta tam bağlantı kurulduğunu gördüğü an bunu “Servis Taraması” olarak etiketler.
İnsani bir kullanımın ötesinde bir hızla, milisaniyeler içinde birçok kapıya “dokunulması”, istatistiksel analiz yapan modern IDS’ler için en büyük yakalanma sebebidir.
3. Binanın Mimarisi: İşletim Sistemi Tespiti (-O)
Otel odalarının içine bakıp servisleri öğrendik, ama hâlâ eksik bir parçamız var: Bu odalar hangi binanın içinde? Yani karşımızdaki hedef Linux mu, Windows mu, yoksa bir IoT cihazı mı? Bu sorunun cevabı, sızma testinin (pentest) geri kalanında izleyeceğimiz yolu tamamen değiştirir. İşte bu noktada devreye -O (Operating System Detection) parametresini sokuyoruz.
Nmap, hedefe bir dizi özel TCP ve UDP paketi gönderir. Her işletim sisteminin (Windows 10, Ubuntu, iOS vb.) bu paketlere verdiği cevaplar, TCP yığındaki (stack) ince farklar nedeniyle birbirinden farklıdır. Nmap, gelen bu tepkileri kendi içindeki binlerce kayıtlık devasa veritabanıyla karşılaştırır ve “Bu tepkiler %95 ihtimalle bir Linux kernel 5.x sürümüne ait” gibi bir sonuç çıkarır.
Press enter or click to view image in full size

yukarıdaki görselde de görüldüğü gibi işletim sisteminin %100 doğru bir çıktısı görünmemektedir. Hedef cihazın verdiği cevaplara göre işletim sistemi tahmin edilir. örnekte %92 Linux4.19–5.15 oldugu görünüyor.
Bu kısımda Bazı gelişmiş güvenlik duvarları, gelen sorgulara sahte yanıtlar vererek Nmap’i yanıltabilir veya yanıtları sessizce çöpe atarak (drop) paket trafiğini kesebilir.
4- UDP Scan (-sU)
Şimdiye kadar incelediğimiz tarama türlerinde TCP paketleri üzerinden ilerledik; yani ortada SYN, ACK gibi bayraklarla yönetilen, bağlantı temelli bir iletişim vardı. Ancak UDP, bağlantı temelli bir protokol değildir. Bu nedenle UDP taramalarında herhangi bir el sıkışma (handshake) süreci gerçekleşmez.
UDP Scan sırasında hedef porta bir UDP paketi göndeririz ve gelecek yanıta göre portun durumunu anlamaya çalışırız. Eğer hedef sistemden ICMP Port Unreachable mesajı gelirse, ilgili portun kapalı olduğu anlaşılır. Ancak çoğu zaman güvenlik duvarları bu ICMP mesajlarını engellediği için Nmap net bir yanıt alamaz ve portu open|filtered olarak raporlar.
Bu durum UDP taramalarını, TCP taramalarına kıyasla daha yavaş, daha belirsiz ve daha zor yorumlanır hale getirir. Buna rağmen DNS, SNMP, NTP ve DHCP gibi kritik servislerin UDP üzerinden çalışması nedeniyle, UDP Scan gerçekçi bir ağ keşfi için vazgeçilmezdir.
Peki, bu kadar zor ve yavaşsa neden uğraşıyoruz? Çünkü siber dünyadaki en kritik servislerden bazıları sadece UDP üzerinden konuşur:
- DNS (53): İnternetin rehberi.
- SNMP (161/162): Ağ cihazlarının yönetimi ve izlenmesi.
- NTP (123): Zaman senkronizasyonu.
- DHCP: Ağdaki IP dağıtımı.
Bu servislerden birindeki zafiyet, tüm ağın kontrolünü ele geçirmemizi sağlayabilir.
UDP taramaları çok uzun sürdüğü için genellikle tüm portları taramak yerine, sadece en kritik servislerin olduğu portları hedef almak (nmap -sU -p 53,161,123 <hedef_ip>) çok daha mantıklı olacaktır bizler için.
Press enter or click to view image in full size

5- Agresif Tarama (-A)
Agresif Mod Neleri Kapsar?
-A parametresi, şu ana kadar öğrendiğimiz ve ileride öğreneceğimiz birkaç kritik özelliği tek bir çatıda birleştirir:
- İşletim Sistemi Tespiti (-O): Hedefin Windows mu, Linux mu olduğunu anlar.
- Servis ve Versiyon Tespiti (-sV): Kapının ardındaki yazılımı ve sürümünü bulur.
- Script Taraması (-sC): Nmap’in içindeki varsayılan güvenlik betiklerini (scripts) çalıştırarak hedefte bilinen temel açıkları arar.
- Traceroute: Paketlerimizin hedefe gidene kadar hangi duraklardan (router’lardan) geçtiğini haritalandırır.
Neden “Agresif” Diyoruz?
Çünkü gizlilik bu modda neredeyse imkansızdır. Hedef sistemdeki IDS/IPS cihazları, bu kadar yoğun ve kapsamlı bir sorgulamayı anında fark eder ve alarm verir. Birçok farklı testi aynı anda yaptığı için basit bir port taramasına göre çok daha uzun sürebilir.
6--Pn Parametresi :
Bazen Nmap bize “Cihaz kapalı” (Host seems down) diyebilir. Bunun sebebi hedefteki Firewall’un bizim gönderdiğimiz Ping (ICMP) paketlerini engellemesidir. -Pn parametresini kullanarak "Ping kontrolünü atla, cihazın açık olduğunu varsay ve doğrudan taramaya başla" talimatı veriyoruz
7- Daha Hızlı ve Sessiz Taramalar İçin “-n"
Taramalarımızı yaparken bazen her saniye değerlidir. Nmap, varsayılan olarak taradığı her IP adresi için “Acaba bu IP’nin bir alan adı (DNS ismi) var mı?” diye kontrol eder. Ancak çoğu zaman bu bilgiye ihtiyacımız olmaz ve bu sorgulama süreci taramayı yavaşlatır. İşte burada -n parametresi devreye girer:
Eğer hedefimizin ismini (domain) zaten biliyorsak veya isim bilgisi bizim için kritik değilse, taramalarımıza her zaman -n parametresini ekleyerek hızımızı artırırız.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
Şimdiye kadar Nmap kullanarak ağ keşfi, port taraması ve servis tespiti gibi temel tarama tekniklerini inceledik. Ancak bu taramaların ideal ve savunmasız ağlar üzerinde yapıldığını varsaydık.
Gerçek dünyada ise durum oldukça farklıdır. Kurumsal ağlar, sunucular ve hatta bireysel sistemler; yetkisiz erişimleri engellemek ve şüpheli aktiviteleri tespit etmek amacıyla çeşitli güvenlik mekanizmaları ile korunur.
Bu noktada şu soru ortaya çıkar :
Bir sistem aktif olarak korunuyorsa, Nmap taramaları hâlâ işe yarar mı ?
Bu sorumuza cevap almak için firewall ids ve ips güvelik cihazlarını nasıl bypass edebiliriz ona değineceğim
Firewall / IDS / IPS Bypass Nedir?
Firewall, IDS (Intrusion Detection System) ve IPS (Intrusion Prevention System) sistemleri; ağ trafiğini izleyerek şüpheli taramaları, özellikle Nmap taramalarını tespit edip engellemek için kullanılır.
Nmap ise bu savunmaları atlatabilmek için bazı özel parametreler sunar. Bu parametrelerin amacı:
- Taramayı daha az fark edilir hale getirmek
- Paketleri parçalamak
- Trafiği normal kullanıcı trafiğine benzetmek
- Kaynağı gizlemek veya dağıtmak
— — — — — — — — — — — — — — — --- — — — — — — — — — —
Bu kısımda size bazı yöntemlerden bahsetmek istedim
1️⃣ Paket Parçalama (Fragmentation) (-f)
Güvenlik duvarları genellikle paketlerin içeriğini tarayarak bir saldırı olup olmadığını anlamaya çalışır. Biz paketlerimizi küçük parçalara (fragment) böldüğümüzde, Firewall bu parçaları birleştirip analiz edene kadar paketler hedefe çoktan ulaşmış olur.
2️⃣ Decoy (Sahte Kaynak IP’ler)(-D)
Eğer tek başımıza tarama yaparsak tüm oklar bizi gösterir. Ancak -D parametresiyle ağa onlarca "sahte tarayıcı" IP'si salabiliriz. Güvenlik yöneticisi loglara baktığında 20 farklı IP'den tarama geldiğini görür ve hangisinin gerçek saldırgan olduğunu anlaması imkansız hale gelir.
Komut: $ nmap -D RND:10 <hedef_ip> (10 tane rastgele sahte IP oluşturur)
3️⃣ Kaynak Portu Aldatmacası (--source-port)
Bazı eski veya yanlış yapılandırılmış firewall’lar, sadece belirli portlardan gelen trafiğe güvenir. Örneğin DNS (53) veya FTP (20) portundan gelen paketlerin “güvenli” olduğunu varsayabilirler. Biz de paketlerimizi bu portlardan geliyormuş gibi süsleyebiliriz.
Komut: $ nmap --source-port 53 <hedef_ip>
4️⃣ Tarama Hızını Yavaşlatma (Timing)
-T0Paranoid (çok yavaş)
-T1Sneaky
-T2Polite
-T3Normal
-T4Aggressive
-T5Insane
Bypass için genelde: -T1 veya -T2-T3 .
5️⃣ TCP Bayraklarıyla Oynamak (--scanflags)
TCP iletişimi normalde belirli bir sırayla (SYN, ACK, FIN…) ilerler. IDS sistemleri de bu sırayı takip eder. Ancak biz Nmap ile bu bayrakları karıştırarak standart dışı paketler oluşturabiliriz.
- Mantık: Örneğin aynı anda hem SYN hem de FIN (hem “başla” hem “bitir”) bayraklarını göndererek IDS’in kafasını karıştırırız. Birçok güvenlik sistemi bu anlamsız kombinasyonu nasıl raporlayacağını bilemez ve paketlerin geçmesine izin verebilir.
- Komut:
$ nmap --scanflagsSYNFIN<hedef_ip>
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
Ağdaki engelleri aştıktan sonraki kritik adım, bulunan açık portlardaki servislerin ne kadar güvenli olduğunu anlamaktır. Nmap, sadece ‘kapı açık’ demekle kalmaz; NSE (Nmap Scripting Engine) sayesinde o kapının arkasındaki yazılımın zafiyet barındırıp barındırmadığını, hatta brute-force saldırılarına karşı ne kadar dayanıklı olduğunu da test etmemize olanak sağlar.
En Çok Kullanılan Script Kategorileri:
- vuln: Hedef sistemdeki bilinen zafiyetleri kontrol eder.
- auth: Giriş panellerinde zayıf parola veya yetki kontrolleri yapar.
- brute: FTP, SSH, SQL gibi servisler için brute-force saldırısı gerçekleştirir.
- discovery: Ağ hakkında daha derinlemesine bilgi (WHOIS, SNMP vb.) toplar.
- safe: Hedef sistemi çökertmeyecek, güvenli taramalar yapar.
Press enter or click to view image in full size

Örnek NSE taraması
Yukarıdaki terminal çıktısında, Nmap’in en güçlü özelliklerinden biri olan --script vuln komutunun gerçek bir hedef üzerindeki etkisini görüyoruz. Nmap burada sadece portları taramakla kalmamış, bulduğu servisler üzerinde otomatik güvenlik testleri gerçekleştirmiştir:
- Zafiyet Tespiti: 80 numaralı HTTP portu üzerinde çalışan web servisi otomatik olarak taranmış ve
http-csrfscript'i sayesinde sistemde potansiyel CSRF zafiyetleri tespit edilmiştir. - Bilgi Toplama (Enumeration):
http-enumscript'i, web sunucusu üzerinde gizli veya ilginç olabilecek/images/dizinini bulmuş ve sunucununApache/2.4.7 (Ubuntu)sürümünü kullandığını ortaya çıkarmıştır. - Analiz Süreci: Dikkat ederseniz Nmap, her bir açık port için özel scriptler çalıştırmış; örneğin DOM tabanlı XSS veya Stored XSS gibi spesifik açıkları da kontrol ederek sonuçlarını bize raporlamıştır.
Bu tür bir tarama, manuel olarak saatlerce sürecek olan “zafiyet araştırma” sürecini saniyeler içinde (görselde 351 saniye sürmüş) tamamlayarak sızma testi yapan kişiye kritik öncelikli veriler sağlar.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
Bu rehberde, bir sızma testinin en kritik aşaması olan keşif sürecini Nmap üzerinden adım adım inceledik. Gördüğümüz üzere Nmap, sadece portları tarayan basit bir yazılım değil; ağdaki görünmez duvarları analiz eden, servislerin kimliklerini ortaya çıkaran ve NSE motoruyla zafiyetleri raporlayan devasa bir ekosistemdir.
Ancak unutulmamalıdır ki; siber güvenlikte araçlar sadece yeteneklerinizi hızlandırır. Asıl farkı yaratan, Nmap’in size sunduğu “Filtered” veya “Open” çıktılarını bir pentester gözüyle analiz edebilme becerinizdir.
Yazı Boyunca Öğrendiğimiz Kritik Komutlar (Cheat Sheet)
Yazımızı bitirirken, günlük çalışmalarınızda yanınızda bulundurabileceğiniz kısa bir özet tablosu oluşturalım:
🔍 KEŞİF (DISCOVERY)
nmap -sn [hedef] -> Host Discovery: Sadece ayaktaki cihazları bulur.
nmap -n [hedef] -> DNS çözümlemesi yapmaz (Taramayı hızlandırır).
⚡ PORT TARAMA (PORT SCANNING)
nmap -sS [hedef] -> SYN Scan: En hızlı ve sinsi tarama türü.
nmap -p- [hedef] -> 65.535 portun tamamını tarar.
nmap — top-ports 100 -> En popüler 100 portu hızlıca kontrol eder.
🛠 SERVİS VE SİSTEM ANALİZİ
nmap -sV [hedef] -> Servis Versiyon Tespiti: Yazılım sürümlerini bulur.
nmap -O [hedef] -> OS Detection: İşletim sistemi tahmini yapar.
nmap -A [hedef] -> Agresif Mod: Versiyon, OS ve Script taramasını birleştirir.
🛡 FIREWALL BYPASS (ENGEL AŞMA)
nmap -Pn [hedef] -> Ping kontrolünü atla (Cihazı açık varsay).
nmap -f [hedef] -> Paketleri parçalar (Fragmentation).
nmap — source-port 53 -> Trafiği DNS portu (53) üzerinden gönderir.
🚀 ZAFİYET ANALİZİ (NSE)
nmap — script vuln -> Bilinen zafiyetleri (CVE) otomatik tarar.
Siber güvenlik operasyonlarında hedefler her zaman erişilebilir değildir; bazen paketleri fragmente etmek (parçalamak), bazen tespit sistemlerine yakalanmamak için tarama hızını optimize etmek, bazen de UDP protokolünün doğasından kaynaklanan farklı teknikleri kullanmak gerekir. Nmap, sunduğu geniş parametre seçenekleriyle bu senaryoların her biri için kapsamlı çözümler sunar.
Bir sonraki yazımızda, Nmap ile tespit ettiğimiz bu zafiyetlerin Metasploit framework’ü kullanılarak nasıl sömürüleceğini (exploitation) ele alacağız. Güvenli ağlarda kalın!”