- 3 Haz 2017
- 212
- 126
Merhaba TürkHackTeam Ailesi bugün'ki konumuz Nmap. Umarım okurken keyif alacağınız bir makale olur, lafı çok uzatmadan konumuza geçelim.
Nmap (Network Mapper) Nedir?
Nmap (Network Mapper) 1997 yılında Gordon Lyon (Fyodor) bir güvenlik yazılımcısı tarafından geniş ağlarda ağ keşifi yapmak, ağ güvenliğini takip edip yorumda bulunmak amacı ile geliştirilmiş açık kaynak kodlu bir güvenlik aracıdır. Nmap'in genel amacı ağı taramaya ve ağda bulduğu bilgilerle çeşitli bilgiler edinmeye yaramaktadır. Nmap hedef adresin açık portlarını, aktif olup olmadığını görmeye, hedefin versiyon,işletim sistemi gibi bilgileri de tespit etmemize yarar. Böylelikle güvenlik zaafiyetinin önüne de geçmiş oluruz. Nmap işleyiş olarak, hedefe ham paketler göndermektedir. Bu gönderdiği ham paketlerden sonra hedefi dinlemeye başlar. Böylece hedefteki portları açık olup olmadığını, herhangi bir filtreye takılıp takılmadığını söyleyebilir. İşlem sonunda hedefle ilgili birçok bilgi edindiğimiz gibi güvenlik zaafiyetini de yüzeysel olsa da görebiliyoruz. Tabi ki de bu kadar işlemin gerçekleşmesini sağlayan Nmap içerisinde yer alan çeşitli modülleridir. Basit gözüksede yönetmiş olduğunuz mevcut yapınızdaki bir çok cihazınızı haritalamayı çeşitli analizlerler bulunabilmeyi, testler gerçekleştirirken kontroller sağlamayı, yaptığınız işlemler sonucunda hata yapıp yapmadığınızı, ağ üzerinde herhangi bir problem veya eksikliği görebilmenizi ve daha fazlasını sağlayabilmektedir.
Peki Nmap bize neleri sunar?
– İşletim Sistemi Tespiti
– Versiyon Tespiti
– Yazılımların Kullandıkları Servis (Port) Tespiti
– Yazılım Zafiyet Tespitleri
– Bilgisayarın Güvenlik Duvarı (Firewall) Tespiti
– Çalışan Aygıt Tespiti, çalışma Süreleri
– Yazılımların Versiyon Numaraları Tespiti
– Ağ Kartı Üreticisinin Adı
Bunlar tabii başlıca özellikleri, kısacası geniş ve kapsamlı bilgi toplama aracıdır diyebiliriz.
Bunu bu kadar güçlü kılan bir diğer özelliği de, içerisinde var olan scriptlerdir. Bunları çalıştıran bir motor, betik motoru bulunmaktadır. Bunun adı da NSE(Nmap Script Engine) dir. Nmap komutları yapılması gerçekten zor olan işlemlerin daha kısa sürede yapılmasını sağlayan betiklerin bütününe NSE denir.
– Versiyon Tespiti
– Yazılımların Kullandıkları Servis (Port) Tespiti
– Yazılım Zafiyet Tespitleri
– Bilgisayarın Güvenlik Duvarı (Firewall) Tespiti
– Çalışan Aygıt Tespiti, çalışma Süreleri
– Yazılımların Versiyon Numaraları Tespiti
– Ağ Kartı Üreticisinin Adı
Bunlar tabii başlıca özellikleri, kısacası geniş ve kapsamlı bilgi toplama aracıdır diyebiliriz.
Bunu bu kadar güçlü kılan bir diğer özelliği de, içerisinde var olan scriptlerdir. Bunları çalıştıran bir motor, betik motoru bulunmaktadır. Bunun adı da NSE(Nmap Script Engine) dir. Nmap komutları yapılması gerçekten zor olan işlemlerin daha kısa sürede yapılmasını sağlayan betiklerin bütününe NSE denir.
1) Ağ keşifleri
2) Karmaşık sürüm tespiti
3) Zafiyet (vulnerability) tespiti
4) Arka kapı (backdoor) tespiti
5) Zafiyet sömürmesi (Vulnerability exploitation)
Gibi işlemleri NSE sağlar. Hatta ve hatta Nmap temel amaç olarak zafiyet tespiti, sızma çabası gibi amaçlar edinmese de bu NSE olayı oldukça ileri taşır.
Şimdi gelelim Nmap nasıl kullanılır?
Nmap'i kullanabilmek için komut satırı arabirimlerine aşina olmanız gerekir.Otomatikleşmiş kurallar sadece temel düzeyde tarama yapmanıza yardım eder. Temel nmap komutu oluştururken “nmap {tarama türü} {opsiyonlar} {hedef}” dizilimi temel alınır.
Nmap kullanımı ve argümanlara ulaşmak için “nmap -help” veya “nmap -h “ kullanabiliriz.
Tarama sonrası port durumlarını gösteren farklı bilgiler dönecektir.
Open = Portun erişilebilir olduğu ve portun bağlantı kabul ettiğini gösterir.
Closed = Portun erişilebilir olduğu ancak üzerine işlem yapılamadığı bilgisini gösterir.
Filtered = Bir paket filtreleme mekanizması tarafından engellendiğini gösterir.
Unfiltered = ACK taraması sonucunda portun erişilebilir fakat durumunun tespit edilmediğini gösterir.
Open | Filtered = Portun açık mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.
Closed | Filtered = Portun kapalımı mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.
Taramalarda kullanılan parametler ;
-sn: Port taraması yapma anlamına gelir.
-n: DNS Çözümlemesi yapma anlamına gelir.
-v, -vv, -vvv: Ekrana gösterilecek detayları arttırır.
-F: Daha hızlı tarama yapar. Daha az sonuç bulur.
-sS: Syn Taraması Yapar.–reason: Bulduğu bir sonucun sebebini gösterir.
–open: Sadece açık Portları gösterir.
-p-: Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar.
-sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır. -sC ile birlikte kullanılırsa işe yarar.
-sC: -sV ile versiyon tespiti yapılırken nmap scriptlerini kullanır.
-p: Sadece bu parametreden sonra belirtilen portları tarar.
–top-ports: En çok kullanılan portları tarar.
Diğer tarama parametreleri ;
–Pn : Ping atmak istenmediğinde kullanılır.
–h : Yardım almak için kullanılır.
–V : Nmap versiyon kontrolü için kullanılır.
–6 : IPv6 aktif edilmek istendiğinde kullanılır.
–A : Agresif tarama opsiyonunu aktifleştirir.
–Pn : Ping atılmak istenmediğinde kullanılır.
–e [interface] : Network kartı tanımlamak amaçlı kullanılır.
–ttl : TTL değerinin ayarlanmasını sağlar.
–badsum : Hatalı checksuma sahip paketler gönderir.
–data-length : Paketlerin boyutunun ayarlanmasını sağlar.
En çok kullanılan komutlardan bazıları aşağıdaki gibidir.
2) Karmaşık sürüm tespiti
3) Zafiyet (vulnerability) tespiti
4) Arka kapı (backdoor) tespiti
5) Zafiyet sömürmesi (Vulnerability exploitation)
Gibi işlemleri NSE sağlar. Hatta ve hatta Nmap temel amaç olarak zafiyet tespiti, sızma çabası gibi amaçlar edinmese de bu NSE olayı oldukça ileri taşır.
Şimdi gelelim Nmap nasıl kullanılır?
Nmap'i kullanabilmek için komut satırı arabirimlerine aşina olmanız gerekir.Otomatikleşmiş kurallar sadece temel düzeyde tarama yapmanıza yardım eder. Temel nmap komutu oluştururken “nmap {tarama türü} {opsiyonlar} {hedef}” dizilimi temel alınır.
Nmap kullanımı ve argümanlara ulaşmak için “nmap -help” veya “nmap -h “ kullanabiliriz.
Tarama sonrası port durumlarını gösteren farklı bilgiler dönecektir.
Open = Portun erişilebilir olduğu ve portun bağlantı kabul ettiğini gösterir.
Closed = Portun erişilebilir olduğu ancak üzerine işlem yapılamadığı bilgisini gösterir.
Filtered = Bir paket filtreleme mekanizması tarafından engellendiğini gösterir.
Unfiltered = ACK taraması sonucunda portun erişilebilir fakat durumunun tespit edilmediğini gösterir.
Open | Filtered = Portun açık mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.
Closed | Filtered = Portun kapalımı mı veya filtrelenmiş mi olduğunu tespit edilemediğini gösterir.
Taramalarda kullanılan parametler ;
-sn: Port taraması yapma anlamına gelir.
-n: DNS Çözümlemesi yapma anlamına gelir.
-v, -vv, -vvv: Ekrana gösterilecek detayları arttırır.
-F: Daha hızlı tarama yapar. Daha az sonuç bulur.
-sS: Syn Taraması Yapar.–reason: Bulduğu bir sonucun sebebini gösterir.
–open: Sadece açık Portları gösterir.
-p-: Bir IP üzerinde bulunması muhtemel 65535 portun hepsini tarar.
-sV: Açık portta çalışan servisin ne olduğunu bulmaya çalışır. -sC ile birlikte kullanılırsa işe yarar.
-sC: -sV ile versiyon tespiti yapılırken nmap scriptlerini kullanır.
-p: Sadece bu parametreden sonra belirtilen portları tarar.
–top-ports: En çok kullanılan portları tarar.
Diğer tarama parametreleri ;
–Pn : Ping atmak istenmediğinde kullanılır.
–h : Yardım almak için kullanılır.
–V : Nmap versiyon kontrolü için kullanılır.
–6 : IPv6 aktif edilmek istendiğinde kullanılır.
–A : Agresif tarama opsiyonunu aktifleştirir.
–Pn : Ping atılmak istenmediğinde kullanılır.
–e [interface] : Network kartı tanımlamak amaçlı kullanılır.
–ttl : TTL değerinin ayarlanmasını sağlar.
–badsum : Hatalı checksuma sahip paketler gönderir.
–data-length : Paketlerin boyutunun ayarlanmasını sağlar.
En çok kullanılan komutlardan bazıları aşağıdaki gibidir.
Tek bir IP adresini tarama
$ nmap 192.168.1.1
Tek bir Host veya Domain tarama
$ nmap hostname
Birden fazla IP adresini tarama
$ nmap 192.168.1.1,3,5,7,9
IP aralığı tarama
$ nmap 192.168.1.1-25
Tüm ağı tarama
$ nmap 192.168.1.0/24 | $ nmap 192.168.1.*
İşletim sistemi bilgilerini alma
$ nmap -A -v 192.168.1.1
Güvenlik duvarı hakkında bilgi alma
$ nmap -v -sA 192.168.1.1
Belirli portları tarama
$ nmap -p 21,22,80,443,53,52 192.168.1.1
TCP ve UDP portlarını tarama
$ nmap -p -T: 20-25,80,443 U: 53 192.168.1.1
Bağlantı hizmet ve sürüm bilgilerini tespit etme
$ nmap -sV 192.168.1.1/24
Seçilen IP adreslerini hariç tutarak tarama
$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3
Dosyadan liste alarak tarama
$ nmap -iL iplist.txt
Dosyadan hariç tutulan IP adreslerini alarak tarama
$ nmap 192.168.1.0/24 --excludefile exclude.txt
Belirli bir port aralığını tarama
$ nmap -p 80-443 192.168.1.1
Tüm portları tarama
$ nmap -p "*" 192.168.1.1
Tüm TCP portlarını tarama
$ nmap -sT 192.168.1.1
Tüm UDP portlarını tarama
$ nmap -sU 192.168.1.1
Sadece açık portları tarama
$ nmap --open 192.168.1.1
Tarama sırasında işletim sistemi bilgisi alma
$ nmap -O 192.168.1.1
Paket filter ve/veya firewall algılama
$ nmap -sA 192.168.1.1
Tarama günlüğünü belirli bir dosyaya kaydetme
$ nmap 192.168.1.1 > output.txt
$ nmap 192.168.1.1
Tek bir Host veya Domain tarama
$ nmap hostname
Birden fazla IP adresini tarama
$ nmap 192.168.1.1,3,5,7,9
IP aralığı tarama
$ nmap 192.168.1.1-25
Tüm ağı tarama
$ nmap 192.168.1.0/24 | $ nmap 192.168.1.*
İşletim sistemi bilgilerini alma
$ nmap -A -v 192.168.1.1
Güvenlik duvarı hakkında bilgi alma
$ nmap -v -sA 192.168.1.1
Belirli portları tarama
$ nmap -p 21,22,80,443,53,52 192.168.1.1
TCP ve UDP portlarını tarama
$ nmap -p -T: 20-25,80,443 U: 53 192.168.1.1
Bağlantı hizmet ve sürüm bilgilerini tespit etme
$ nmap -sV 192.168.1.1/24
Seçilen IP adreslerini hariç tutarak tarama
$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3
Dosyadan liste alarak tarama
$ nmap -iL iplist.txt
Dosyadan hariç tutulan IP adreslerini alarak tarama
$ nmap 192.168.1.0/24 --excludefile exclude.txt
Belirli bir port aralığını tarama
$ nmap -p 80-443 192.168.1.1
Tüm portları tarama
$ nmap -p "*" 192.168.1.1
Tüm TCP portlarını tarama
$ nmap -sT 192.168.1.1
Tüm UDP portlarını tarama
$ nmap -sU 192.168.1.1
Sadece açık portları tarama
$ nmap --open 192.168.1.1
Tarama sırasında işletim sistemi bilgisi alma
$ nmap -O 192.168.1.1
Paket filter ve/veya firewall algılama
$ nmap -sA 192.168.1.1
Tarama günlüğünü belirli bir dosyaya kaydetme
$ nmap 192.168.1.1 > output.txt
Nmap bilgilendirici içeriğim bu kadardı. Umarım keyifli ve öğretici bir yazı olmuştur. Okuduğunuz için teşekkür ederim.