Nmap Nedir? Nmap Kullanımı?

Nmap açık kaynak kodlu bir aktif tarama aracıdır. Sistemler üzerinde taramalar gerçekleştirerek esnek, hızlı ve anlamlı sonuçlar üretmektedir. Nmap ile açık olan portları, bu portlar üzerinde çalışan servisleri tespit edebiliriz. Ayrıca kendisiyle birlikte gelen geniş script kütüphanesi sayesinde hedef sistem hakkında daha detaylı bilgiler edinebiliriz.

Nmap Nasıl Kullanılır ?

Nmap’in nasıl kullanıldığına girmeden önce tarama tiplerini incelemekte büyük fayda olduğuna inanıyorum.

  • TCP Syn Scan: İstemci makine, hedef makine veya makinelere TCP SYN bayraklı bir segment gönderir. Eğer segmentin gönderildiği port kapalı ise hedef makine cevap olarak RST+ACK bayraklı segmentten gelen bağlantıyı sonlandırır ve üçlü el sıkışma tamamlanmaz.
  • TCP Connect Scan: TCP SYN Scan ile benzerlik gösterir. Tek farkı hedef makinenin gönderdiği SYN + ACK bayraklı segmentten sonra hedef makineye bir ACK bayraklı segment göndererek üçlü el sıkışmayı tamamlamasıdır.
  • FIN Scan : Hedef makineye TCP bağlantı isteği olmadan gönderilen segmentler ile yapılan tarama türüdür. Hedef makineye FIN bayraklı segment gönderilir eğer port kapalıysa RST+ACK bayraklı segment geri döner. Eğer port açıksa hiçbir geri dönüş olmaz.
  • Xmas Scan: Bu tarama tipinde urg,psh,fin bayrakları set edilerek hedef makineye göderilir. Eğer ki cevap olarak RST+ACK bayraklı segment dönerse port kapalıdır. Cevap dönmezse port açık demektir.
  • Null Scan: Bu tarama tipinde hiçbir flag set etmeden bir istek yapılır. Eğer cevap olarak RST+ACK bayraklı segment dönerse port kapalıdır. Eğer ki port açık ise hedef makine tarafından herhangi bir geri dönüş yapılmayacaktır.
  • Ping Scan: Bu tarama türünde hedef makineye bir ICMP ECHO(type=8, code=0) istek paketi gönderilir. Eğer hedef makine cevap olarak herhangi birşey dönmüyorsa ICMP paketlerini filtreliyor olabilir yada hedef makineye ulaşılamıyor olabilir. Eğer cevap olarak ICMP ECHO cevap paketi dönüyorsa hedef makineye ulaşılıyor demektir.
  • UDP Scan: Hedef makineye bir UDP datagramı gönderilir. Eğer hedef makine “ICMP Port Unreachable” cevabını döndürüyorsa port kapalıdır. Eğer gönderilen pakete karşılık bir ICMP paketi ile karşılık verilirse port açık olarak kabul edilir.
  • IP Protocol Scan: Bu tarama türü yukarıda bahsettiğimiz türlerden farklıdır. Bu türde hedef makine üzerinde ip protokolü ile tarama yapılır. Eğer hedef makine üzerinde tarama gerçekleştirdiğimiz ip protokolü aktif ise herhangi bir cevap döndürmez. Aktif değilse RST bayrağı set edilmiş bir cevap dödürür.
  • ACK Scan: Bu tarama türünde hedef makine TCP ACK bayrakları set edilmiş bir istek gönderilir. Eğer hedef makine “ICMP Port Unreachable” cevabını dönüyorsa yada cevap alınmıyorsa port “filtered” kabul edilir. Eğer hedef makine RST bayrağı set edilmiş bir cevap döndürüyor ise port “unfiltered” olarak kabul edilir.
  • Window Scan: Bu tarama türü, ACK Scan’e bnzemektedir. Bazı durumlarda hedef makine kapalı bir port olduğunu belirtmek için cevap olarak döndürdüğü RST bayrağı set edilmiiş segmente bir window boyutu tanımlar. Açık bir porttan dönen RST bayrağı set edilmiş segmentin window boyutuna bakılır. Boyut 0 ise port gerçekten kapalıdır. Değil ise port açıktır.
  • Idle Scan: Bu tarama türü Zombi Bilgisayarlar tarafından yapılan tarama türüdür. Hedef makineye istekler kaynak makineden değil de belirlenen Zombi Bilgisayar üzerinden gider.

Tarama tiplerinden detaylı bir şekilde bahsettiğimize göre artık nmap kullanımına geçebiliriz.

  • nmap 192.168.1.117
  • nmap evildomain.com
  • nmap -iL ipliste.txt
  • nmap 192.168.1.0/24
  • nmap 192.68.1.1-100

Yukarıda basit bir nmap taramasını ne şekillerde yapabileceğimizi gördük. Sadece ip adresi yazılabilir, domain adresi yazılabilir. -iL parametresi ile birden fazla ip adresini tarayabilir, tire(-) kullanara ip aralığını manuel belirtebilir ve CIDR değeri ile belirtilen subnette tarama gerçekleştirebiliriz.

Peki diyelim ki biz burda nmap tarama tipimizi değiştirmek istiyoruz. Şimdi farklı tarama tiplerini görelim.

  • nmap 192.168.2.117 -sS = Syn Scan kullanımı
  • nmap 192.168.2.117 -sU = UDP kullanımı
  • nmap 192.168.2.117 -sT = TCP Connect Scan kullanımı
  • nmap 192.168.2.117 -sF = FIN Scan kullanımı
  • nmap 192.168.2.117 -sX = Xmas Scan kullanımı
  • nmap 192.168.2.117 -sN = Null Scan kullanımı
  • nmap 192.168.2.117 -sP = PingScan kullanımı
  • nmap 192.168.2.117 -sO = IP Protocol Scan kullanımı
  • nmap 192.168.2.117 -sA = Ack Scan kullanımı
  • nmap 192.168.2.117 -sW = Windows Scan kullanımı
  • nmap -sI [zombi IP] [hedef] = Idle Scan kullanımı

Farklı tarama tipleriyle nmap’i nasıl kullanacağımızı da gösterdiğimize göre artık port opsiyonlarındanda bahsebebiliriz. Nmap’te varsayılan olarak en yaygın kullanılan ilk 1000 port taranır. Bunu yapmasının sebebi ise toplamla 65.535 port bulunmasıdır. Fakat bunu değiştirebiliriz.

  • nmap -p80 -sS 192.168.2.117 = Bu ip adresinin sadece 80 portu taranır.
  • nmap -p20-100 -sS 192.168.2.117 = Bu ip adresinin 20 ve 100’üncü portu arasındaki bütün portlar taranır.
  • nmap -p21,22,23,80 -sS 192.168.2.117 = Bu ip adresinin 21,22,23,80 numaralı portları taranır.
  • nmap -pU:21,T:22 -sS 192.168.2.117 = Bu ip adresinin UDP 21, TCP 22 numaralı portları taranır.
  • nmap -F -sS 192.168.2.117 = Bu ip adresinin ilk 100 portu taranır.

Diğer önemli parametreleri ise belirtelim hemen.

  • -sV = Versiyon tespiti.
  • -A = Agresif tarama. İşletim sistemi analizi ve versiyon istemi.
  • -O = İşletim sistemi analizi.
  • -n = Dns çözümlemesi yapmaması için kullanılır.
  • -T5 = Thread belirtmemize yarar.

Peki diyelim ki hedef sistemi koruyan güvenlik önlemleri yüzünden nmap taraması gerçekleştiremiyoruz bunu nasıl bypass edicez. Bununda bir çözümü olmalı elbet. Nmap’in bize sunmuş olduğu çözümleri inceleyelim hemen.

  • -f = Paketleri parçalayarak gönderir. Bu -f parametresini birden fazla yazarsak paketleri daha fazla parçalamış oluruz.
  • –max-rate [rate] = Saniyede max kaç paket göndereceğimizi tanımlarız.
  • –min-rate [rate] = Saniyede min kaç paket göndereceğimizi tanımlarız.
  • –MTU [mtu değeri] = Maksimum Transported Package. Bu parametre ile mtu değeri atayabiliriz.
  • -D [sahte ip] [hedef makine] = Sahte ip adresi ile nmap taraması.

Peki nmap çıktıları nereye kaydedilir. Nmap’in bununla ilgilide çözümleri var elbette.

  • -oN [dosya ismi] = Sonucu text dosyası olarak yazdırmak için.
  • -oX [dosya ismi] = Sonucu xml olarak yazdırmak.
  • -oG [dosya ismi] = Sonucu üzerinde oynama yapılabilecek bir nmap çıktısı olarak çıkartır.
  • -oA [dosya ismi] = Sonucu tüm formatlarda üretir.

Referanslar