Nmap, bilgisayar ağları uzmanı Gordon Lyon (Fyodor) tarafından C/C++ ve Python dilleri kullanılarak geliştirilmiş bir güvenlik tarayıcı yazılımıdır. Taranan ağın haritasını çıkarabilir, ağdaki makinalarda çalışan servislerin durumlarını, işletim sistemlerini ve portların durumlarını gözlemleyebilir.
Nmap ile ağa bağlı herhangi bir bilgisayarın işletim sistemi, çalışan fiziksel aygıt tipleri, çalışma süreleri, yazılımların hangi servisleri kullandığı, yazılımların sürüm bilgileri, bilgisayarın firewalla sahip olup olmadığı gibi bilgileri öğrenilebilmektedir.
Tamamen özgür lisanslı yazılımdır (GPL). Matrix isimli filmde de kullanılmıştır.
Kullanım alanları:
- Herhangi bir ağ hazırlanırken ayarların test edilmesinde.
- Ağ haritalaması, bakımı ve yönetiminde.
- Bilinmeyen yeni sunucuları tanımlayarak güvenlik denetimlerinin yapılmasında.
Çalışma Prensibi
Taranılacak olan makinanın ismi girilirse nmap öncelikli olarak dns lookup işlemi yapar, bu aslında nmap fonksiyonu değil, ağı taramak için makinanın ip adresinin bilinmesi gerek ip bilgisini öğrenmek için dns lookup yapar ancak dns sorguları network trafiğinde gözüktüğünden isim ile tarama yapmadan önce ipyi daha farklı yöntemlerle öğrenebilirsek daha iyi olur.
İlk önce hedef makinayı pingler. Eğer ping işlemini iptal etmek istiyorsak -P0 seçeneği kullanılmalıdır.
Varsayılan olarak tam bağlantılı (full connect) TCP bağlantısı kurarak açık port taraması yapar. Full connect bağlantı TCP üzerinde üçlü el sıkışma olarak adlandırlan yöntemdir. Kontrol edilen porta SYN paketi gönderilir, port açıksa sunucu SYN/ACK paketini cevap olarak gönderir. Daha sonra nmap tarafından ACK paketi gönderilir ve bağlantı sağlanır.
nmap 192.168.1.1
Port tespiti yapılan yöntemi değiştirebiliriz. "-sT" parametresi ile son olarak gönderilen ACK paketini iptal edip tam bir TCP bağlantısı sağlamadan tarama yapabiliriz. Bu yöntem ile TCP bağlantısı yarım kaldığı için hedef sistemin loglarında gözükmeyebilir. Bu tür taramaya yarım bağlantılı (half connect) port taraması denir.
nmap -sT 192.168.1.1 = Half Connect Scan
nmap -sS 192.168.1.1 = Full Connect Scan
Nmap ile port taramanın haricinde hedef sistemin işletim sistemi bilgielri de öğrenilebilir. "-O" parametresi işletim sistemine özgü TCP/IP stack yapıları ve çeşitli ayırt edici özellikleri kullanarak hedef bilgisayarın işletim sistemini test edebilir.
nmap -O 192.168.1.1
Ayrıca hedef sistemi kandırmak için "-S" parametresi ile sahte bir IP gösterilebilir.
nmap 192.168.1.1 -S 192.168.1.20
Burada 192.168.1.1 IP adresine sahip bilgisayar taranırken sistem loglarında gelen bağlantı siz 192.168.1.2 veya herhangi bir yerden yapıyor olsanız dahi hedef sistemde bağlantı 192.168.1.20 den geliyor şeklinde gösterir.
Eğer hedef sistemde güvenlik duvarı var ise, nmap ile tarama yöntemi işe yaramayabilir. Bu durumda paketleri parçalayarak göndermek (fragmentation) işe yarayabilir. "-f" parametresi kullanılır
nmap -sT 192.168.1.1 -f
Hedef sistemde çalışan servislerin versiyonlarını öğrenmek için ise "-sV" parametresini kullanırız.
nmap -sV 192.168.1.1
#############################
nmap -sS -sV -O 192.168.1.1
Bu komut, hedef sistemde full connect tarama yapar, çalışan servislerin versiyon bilgilerini ve işletim sistemi bilgilerini verir.
English: https://niyazi.net/en/what-is-nmap-using-nmap-in-general
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
Hiç yorum yok