Bu yazı, Nmap aracını detaylı bir şekilde ele alacağımız üç bölümlük bir serinin ilk kısmıdır. Nmap, ağ güvenliği ve tarama işlemlerinde sıkça kullanılan güçlü bir araçtır. Serinin bu bölümünde, Nmap’in temel işlevlerini, protokollerini ve ağ taramalarında neden önemli bir yer tuttuğunu inceleyeceğiz.
İçindekiler Tablosu
Nmap Nedir?
Nmap (Network Mapper), bir ağdaki bilgisayar sistemlerini ve ağ cihazlarını keşfetmek, analiz etmek ve güvenlik taraması yapmak için kullanılan ücretsiz ve açık kaynaklı bir ağ tarayıcıdır. Birçok farklı işlevi gerçekleştirebilen güçlü bir araçtır.
Nmap’in Temel Özellikleri
- Ağ Keşfi: Nmap, bir ağdaki aktif cihazları tespit etmek için kullanılabilir. Bu, ağda bulunan IP adresleri, açık portlar ve çalışan servisler gibi bilgileri içerir.
- Port Taraması: Nmap, belirli bir cihazdaki açık portları belirleyebilir. Açık portlar, saldırganlar için potansiyel hedefler oluşturur ve bu nedenle ağ güvenliği açısından büyük önem taşır.
- Servis Sürüm Tespiti: Nmap, çalışan servislerin sürümlerini tespit edebilir. Bu bilgi, güvenlik açıkları veya zayıflıklar hakkında daha fazla bilgi sağlar.
- OS Algılama: Nmap, hedef sistemde çalışan işletim sistemini tespit etme yeteneğine sahiptir. Bu bilgi, güvenlik analizi için önemlidir.
- Script Desteği: Nmap’in bir dizi önceden yazılmış scripti bulunmaktadır. Bu scriptler, özel tarama ve analiz görevleri için kullanılabilir.
- Güvenlik Taraması: Nmap, açık portları, servis sürümlerini ve diğer ağ bilgilerini analiz ederek potansiyel güvenlik açıklarını tespit eder.
Port Nedir?
Bilgisayar ağında, iletişim kurmak için ayrılmış bir kapı veya giriş noktası olan ‘port’, bilgisayarların birbirleriyle ve ağdaki diğer cihazlarla bağlantı kurmasını sağlar. Port, bir bilgisayarın dış dünya ile iletişim kurarak belirli görevleri gerçekleştirmesine olanak tanır.
Bilgisayar ağları, belirli görevleri yerine getirmek üzere farklı portlara ihtiyaç duyar. Her port, belirli bir hizmet veya uygulama tarafından kullanılır. Genellikle, belirli bir port numarası ile tanımlanan bir servis veya uygulama vardır. Örneğin, web trafiği genellikle 80. portu kullanır.
Portlar, iletişim kurulan uygulama veya servisi belirlemeye yardımcı olur, bu nedenle ağ trafiğini yönlendirmek ve organize etmek önemlidir. Port numaraları, TCP (Transmission Control Protocol) ve UDP (User Datagram Protocol) gibi iletişim protokollerinde yer alır. Bu protokoller, bilgisayarların birbirleriyle güvenli ve düzenli bir şekilde iletişim kurmalarını sağlar.
Örneğin, bir web tarayıcısı bir web sitesine bağlandığında, bilgisayar tarayıcının kullandığı port genellikle 80 veya 443’dür. Eğer bir e-posta istemcisi e-posta sunucusuna bağlanıyorsa, genellikle TCP port 25 veya 587 kullanır.
Port taraması, bir bilgisayarın veya ağın güvenlik açıklarını bulmak amacıyla kullanılır. Bu tarama, bir bilgisayarın hangi portlarının açık olduğunu belirler ve bu bilgi, potansiyel güvenlik risklerini değerlendirmek için kullanılır.
TCP ve UDP Nedir?
TCP (Transmission Control Protocol)
Bağlantı temelli olan TCP’de, kullanıcı verisini taşımadan önce bağlantı kurulmalıdır. Bu protokol, OSI’nin transport katmanında güvenilir bir iletim hedeflemektedir. İletimin güvenliği, kaybolan paketlerin geri gönderilmesidir.
OSI ve katmanları hakkında daha fazla bilgi almak isterseniz, OSI Referans Modeli hakkındaki yazımı okuyabilirsiniz.
TCP Bayrakları (Paketleri)
- SYN ㅤ> ㅤSynchronzation ㅤ ㅤ> ㅤSenkranizasyon
- ACK ㅤ> ㅤAcknowledgement >ㅤBilgilendirme
- FIN ㅤ > ㅤFinish ㅤ ㅤ ㅤㅤㅤㅤ>ㅤBağlantıyı sonlandırma
- RSTㅤ > ㅤ Reset ㅤㅤㅤㅤㅤㅤ >ㅤKopma, İptal etme
- URGㅤ> ㅤUrgent ㅤㅤㅤㅤㅤ >ㅤAcilㅤㅤ
Three Way Handshake
TCP üçlü el sıkışma adından da anlaşılacağı üzere üç adımdan oluşur. Hem son adımı hem de ilk adımı, hizmet almak isteyen istemci gerçekleştirir. Bu üç adım gerçekleştikten sonra, sunucu taraf, hizmet vermeye başlar. TCP üçlü el sıkışmayı betimleyen bir şekil aşağıdaki gibidir.
Bu şekilde client tarafı server’e SYN paketi göndererek server’e bağlanmak istediğini söylemektedir.
Ardından sunucu SYN/ACK paketlerini client tarafına gönderir ve sunucunun bağlantı kurabileceğini bildirir. Client tarafı da ACK paketini göndererek sunucuya bağlanmasını sağlar.
Son işlemde ise client, server’a ACK paketini gönderir ve iletişim sağlar.
(Three way handshake’in anlatılma sebebi ileride sunucuların açık portlarını tararken anlatacağımız SYN scan’in paket iletiminin nasıl sağlandığını ve Nmap’in bu paketleri nasıl manipüle ettiğini daha iyi anlamaktır.)
UDP (User Datagram Protocol)
UDP uygulamaların veri aktarımında kullandığı protokollerden biridir. Yaratılan UDP paketleri IP tarafından kapsüllenip IP ortamında taşınır. UDP paketlerinin taşınması için önceden bir bağlantı kurmaya gerek yoktur.
Port Durumları (Port State)
Nmap portalar üzerinde ayrıntılı tarama yapabilmektedir. Nmap’te 6 çeşit port durumu vardır. Port durumları bizlere hedef sistem hakkında bilgi verir. Bazen farklı tarama yöntemi kullanmamız konusunda bazen de sistemde kullanılan versiyonlar hakkında bilgiler verir.
6 port durumu şu şekildedir:
- OPEN (AÇIK)
- CLOSED (KAPALI)
- FILTERED (FİLTRELİ)
- UNFİLTERED (FİLTRESİZ)
- OPEN-FILTERED (AÇIK-FİLTRELİ)
- CLOSED-FILTERED (KAPALI-FİLTRELİ)
1- Açık Port Durumu (Open Port)
Açık portlar, bir bilgisayarın veya ağ cihazının dış dünya ile iletişim kurmaya hazır olduğu, belirli bir servis veya uygulamanın dinlemeye hazır olduğu ağ bağlantı noktalarını temsil eder. Bu portlar, belirli bir servisin veya uygulamanın aktif olduğunu ve veri trafiğinin bu noktadan geçebileceğini gösterir. Açık portlar, bir sistemde çalışan servislerin veya uygulamaların tespit edilmesi, ağ güvenliği taramaları ve ağ yönetimi gibi birçok durumda önemlidir.
2- Kapalı Port Durumu (Closed Port)
Kapalı portlar, bir bilgisayarın ağ üzerinde belirli bir servisi dinlemediği veya bağlantıya izin vermediği portlardır. Her bir port, bir bilgisayar üzerinde belirli bir hizmeti veya uygulamayı temsil eder. Kapalı portlar, genellikle güvenlik amacıyla, belirli bir servisin veya uygulamanın kullanılmadığı durumları ifade eder.
3- Filtreli Port Durumu (Filtered Port)
Güvenlik araçları Nmap’in porta ulaşmasını engellediği için portun açık yada kapalı olduğunu tespit edemez. Saldırganlar için olumlu olmayan bir sonuçtur çünkü istedikleri bilgileri elde edemezler. Bazen “destination unreachable” (ICMP error type 3) şeklinde bir ICMP mesajı verebilmektedir. Hatta çoğu zaman mesaj gönderilemez. Nmap bu durumda yeniden tarama yapar ve tarama süresi uzar.
4- Filtresiz Port Durumu (Unfiltered Port)
Port erişilebilir ancak Nmap portun açık veya kapalı olduğunu tespit edemez. Genellikle ACK taramasında “unfiltered” sonucu dönmektedir. Bu durum tarama yönteminin değiştirilmesiyle aşılabilmektedir. Bu durumu aşmak için Window Scan, SYN Scan, FIN Scan gibi taramaları yaparak port durumunu tespit edebilirsiniz.
5- Açık-Filtreli Port Durumu (Open-Filtered Port)
Nmap bu durumda portun açık mı yoksa filtreli mi olduğuna karar veremediği durumlarda döndürür. Bu durum açık bağlantı noktalarının yanıt vermediği tarama türleri için oluşur. UDP, IP Protocol, FIN, NULL ve XMAS taramaları bu sonucu döndürebilmektedir.
6- Kapalı-Filtreli Port Durumu (Closed-Filtered Port)
Nmap bu durumda portun kapalı mı yoksa filtreli mi olduğuna karar veremez. Tarama türünü değiştirmek durumu çözecektir. Yaygın gözüken bir port durumu değildir.
Bu yazıda Nmap’in temel işlevleri ve protokollerini ele aldık. Bir sonraki yazımızda, Nmap’in sunduğu çeşitli tarama türlerini derinlemesine inceleyecek ve her bir tarama türünün nasıl kullanıldığını ayrıntılı bir şekilde açıklayacağız.
Eren Gezen
HacktorX YazarıMerhaba, ben Eren. Adli Bilişim Mühendisiliği Öğrencisi 2. sınıfım. Kendimi siber güvenlik alanında geliştiriyorum.