Tarih : | at : | Safemode : ON
> root@redhatz:~# Alımlar Başlamıştır. İletişim Bölümünden Alım Yapan Yöneticimize Ulaşabilirsiniz.
> root@redhatz:~# #redhatzopturkey 2016 Yeni Dönemi Artık Aktiftir. BİZİ TERCİH ETTİĞİNİZ İÇİN TEŞEKKÜRLER..



Başlık Yazar Yetki Comt Düzenlenen Kategori

NMAP Kullanımı RedAdalet rwxr-xr-x 0 09:01:00

Başlık NMAP Kullanımı
Yetki rw-r--r--
Yazar RedAdalet
Zaman 09:01:00
Kategori
Share
Selamın Aleyküm
Bu konumuzda detaylıca NMAP yazılımını inceleyeceğiz. 

Nedir Bu NMAP
NMAP, network uzmanı bir güvenlik yazılımcısı olan Gordon Lyon (Fyodor) tarafından ağ keşfi yapmak ve ağ güvenlik takibi yapma amacı ile geliştirilmiş çok fonksiyonlu bir yazılımdır. Açık kaynak kodlu, hızlı ve çok yönlü olması nedeni ile bir çok yazılımcı tarafından geliştirilmesinde katkıda bulunulmuştur ve bir çok test (penetrasyon) işlemi yapılabilecek dereceye gelmiştir. Tamamen özgür olan yazılım, GPL (General Public Licence) ile lisans lanmıştır ve istenildiği taktirde yazılımın web sayfasından indirilebilir. Konsol tabanlı olmasına karşın ZNMAP gibi grafik arayüze sahip yazılımlarda bulunmaktadır (tabi ki nmap tabanlı).

Ne İşe Yarar?
Başlıca görevi port taraması olan NMAP yazılımının diğer özellikler şu şekildedir

- Versiyon Tespiti
- İşletim Sistemi Tespiti
- Çalışan Aygıt Tespiti, çalışma Süreleri
- Yazılımların Kullandıkları Servis (Port) Tespiti
- Yazılımların Versiyon Numaraları Tespiti
- Yazılım Zafiyet Tespitleri
- Bilgisayarın Güvenlik Duvarı (Firewall) Tespiti
- Ağ Kartı Üreticisinin Adı

Başlıca özellikleri yukarıda sıralanmıştır, bunun dışında daha onlarca özelliği bulunmaktadır.

NMAP Çalışma Prensibi
NMAP yaklaşık 15 farklı tarama yöntemi ve her tarama için yaklaşık 20 farklı seçeneğe sahiptir.

Taranacak hedef sistemin ismi girilirse NMAP öncelikle DNS Lookup işlemi yapacaktır. Bu bir NMAP fonksiyonu değildir çünkü DNS sorgularının network trafiğinde görülmesinden dolayı tüm işlemler kayıt altına alınır (loglanır). Eğer isim yerine IP adresi girilirse kayıt tutma işlemi yapmayacaktır.

Not: DNS Lookup işleminin iptal edilmesinin bir yolu bulunmamaktadır. Ancak NMAP tarafından tarama yapılan makinanın host (yada lmhost) dosyalarının içerisinde IP - DNS eşleşmesi mevcut ise DNS Lookup işlemi atlanır.

Not: NMAP tarafından yapılan istekler (ping) bilinen ICMP isteklerinden daha farklıdır. Farklı tarama ve istek paketleri sunabilir, özellikleri kendiniz belirleyebilirsiniz.


İpucu: -P0 parametresi verilerek ping işlemi iptal edilebilir.

Domain ve IP sorgularında gelen sonuçlar bir birinden farklı olabilir, örneğin





Yukarıda ki ilk taramada microsoft.com adlı sitenin IP numarası girilerek bir NMAP taraması yapılmıştır [IP Numarası siteye ping atılarak öğrenilebilir (ping microsoft.com)]. Görüldüğü gibi çıktıda Nmap scan report for microsoftprodictionstudios.org diyerek farklı bir alan adı taraması yaptığı görülmüştür. Ancak IP adresi yerine direk alan adı (domain) taraması yapıldığında ise bize bir önceki taramada kullandığımız IP adresini göstermiştir. Bunun nedeni Reverse Lookup işlemidir. İlk adımda yapılan DNS Lookup işleminin tersi olan bu işlemi durdurmak için -n parametresi verilir.
NMAP Kurulumu
Kurulum için NMAP yazılımının web sayfası ziyaret edilebilir. Linux kullanıcıları isterlerse kısaca uçbirime (terminal)

Alıntı:
apt-get install nmap

diyerek kurulumu gerçekleştirebilir. Ayrıca Python modülü olarak yüklemek için

Alıntı:
easy_install python-nmap

komutunu vermek yeterlidir.

Hedef Tanımlama
Çalışma Prensipleri bölümünde farklı tarama seçeneklerinden bahsetmiştik. Ancak en temel tarama yapısı aşağıda ki şekildedir.

Alıntı:
nmap <tarama türü> <seçenekler> <hedef>

Yukarıda ki taslak bizim tüm işlemlerimiz için geçerlidir. İnceleyelim;

- Tarama Türü: NMAP tarama yaparken çeşitli teknikler kullanır. Bunu Port Tarama Teknikleri kısmında ayrıntılı olarak göreceksiniz zaten. Buna bazı makalelerde Flag/Bayrak olarak ta rastlayabilirsiniz.

- Seçenekler: Asıl kısım ise burada, bize yapılacak işlemleri soruyor; port analizi mi, işletim sistemi keşfi mi, versiyon tespiti mi vs vs. Yapılması istenen işlemler burada belirtilir.

- Hedef: Tarama yapılacak hedef, hedfler, ip blokları hepsi buraya yazılır.

Gelin bir kaç tarama işlemi yapalım.

Alıntı:
nmap 192.168.133.1 #Tek bir IP adresi için tarama yapılacağını belirtir
nmap 192.168.133.1-10 # 192.168.133.1 ve 192.168.133.10 adres aralığında ki tüm IP adreslerini tarar.
nmap escoder.net # Domain taraması yapar
nmap -IL ipadresleri.txt # ipadresleri.txt dosyası içerisinde ki IP adreslerini tarar
nmap –p 443 –iR 10 #HTTPS servisini kullanarak 10 adet host tarar
nmap *.*.1.5 #1.0.1.5 – 255.255.1.5 aralığındaki her şeyi tarar
nmap 192.168.1-2.* #192.168.1.0 – 192.168.2.255 aralığındaki her şeyi tarar.
nmap -- exclude xxx.net,ayyildiz.org 192.168.1.0/24 #xxx.net ve ayyildiz.org siteleri haricinde ki tüm ip adreslerini tarar (Reverse IP Lookup).

Görüldüğü gibi standart tarama yöntemleri yukarıda verilmiştir.





Yukarıda basit bir şekilde, sadece IP parametresini verince bize açık port ve versiyonları sundu. 23 adet portun açık olduğunu ve 977 adet portunda kapalı olduğunu bize söyledi. Dikkat edilmesi gereken, nmap burada sadece bilindik portları taradı. Ve bunu 52.18 saniyede yaptı. Şimdi parametre vererek tarama gerçekleştirelim.

Alıntı:
nmap -A -T4 192.168.133.129

Yukarıda verdiğimiz parametreleri ileride detaylıca anlatacağız, ancak kısaca bilgi verelim.

-A # Bu parametre İşletim Sistemi, Servislerin Versiyon Tespitlerini ve Script Taramasını topluca yapar. Biraz uzun sürer.
-T4 # Hızlı bir şekilde tarama yapması için bu komutu girdik.0 ila 5 arasında bir değer alabilir. Değer girilmediğinde T3 ile işlem yapar.

Sonuç ise;




Hedef sistemimiz Linux/Metasploitable kullanıyormuş (Ubuntu). Tabi ki sonuçlar kararlı değil, bize oranlar dahilinde bilgi verebiliyor. Ayrıca bize karnel bilgilerini de gösterdi. Bunun yanında bilgisayarın yerel serverinde bir kaç script te buldu.
Bunun yanında bize versiyon numaralarını da gösterdi, peki bunlar ne işe mi yarıyor?

21. portu kullanan vsftpd yazılımı 2.3.4 versiyonunu kullanıyormuş. Bunu metasploit üzerinde araştırdığımızda bir exploit ortaya çıkıyor.



Bu exploit bize bir arka kapı (backdoor) ile sisteme sızmamıza izin veriyor. Bu ayrıca penetrasyon testleri için NMAP yazılımının ne kadar önemli olduğunu gösteriyor.

Keşif Aşaması
Ağda bulunan ve çalışan cihazların testi için farklı tarama yöntemleri bulunmaktadır. Aşağıdaki örnekleri inceleyebilirsiniz.

Alıntı:
Ping Sweep | nmap -sP 192.168.133.0/24
| Tüm Sistemlere Ping atarak yanıt veren sistemlerin açık olup olmadığını denetler, bir nevi sunucu ve istemcileri tespit eder.

Ping SYN | nmap -PS 192.168.133.0/24
| TCP SYN Ping paketleri ile sistemlerin açık olup olmadığını denetler

Ping ACK | nmap -PA 192.168.133.0/24
| TCP ACK Ping paketleri ile sistemlerin açık olup olmadığını denetler

Ping UDP | nmap -PU 192.168.133.0/24
| UDP Ping paketleri ile sistemlerin açık olup olmadığını denetler

Ping ICMP | nmap -PE 192.168.133.0/24
| ACMP Echo Request paketlerini kullanarak sistemlerin açık olup olmadığını denetler

Ping ARP | nmap -PR 192.168.133.0/24
| ARP Ping paketlerini kullanarak sistemlerin açık olup olmadığını denetler

Traceroute | nmap -traceroute 192.168.133.0/24
| Traceroute özelliğini aktifleştirerek hedefe giden paketlerin yol analizini yapar

DNS Keşfi | nmap -system-dns 192.168.133.0/24
| İşletim sistemi üzerinde ki DNS Serverları kullanır

Reverse DNS Keşfi | nmap -R 192.168.133.0/24
| IP adresinden hostname bilgisi elde edilmesin için kullanılır.

Port Tarama Teknikleri
NMAP üzerinde, portların durumunu ifade eden 6 tanımlama mevcut.

Open | Port açıktır ve açık portu dinleyen bir uygulama vardır.
Closed | Port kapalıdır ancak erişilebilir. Dinleyen herhangi bir uygulama yoktur.
Filtered | Filtrelerden ötürü NMAP portun durumunu çözememiştir.
Unfiltered | ACK Scan sonuçlarında karşımıza çıkan bu tanımlamada, portun erişilebilir olduğunu ancak açık olup olmadığı tespit edilememiştir.
Open Filtered | UDP, IP Protocol, FIN, NULL ve XMAS Scan için dönen bu durumda portların açık veya filtrelenmiş olduğu tespit edilememiştir.
Closed Filtered | IDLE Scan için dönen bu durumda portların kapalı yada filtrelenmiş olduğu tespit edilememiştir.

Bu tekniklere çoğu makalede Flag/Bayrak olarak ta rastlayabilirsiniz.

TCP SYN Scan
NMAP üzerinde varsayılan tarama tekniği SYN Scandır. Oldukça hızlı olan bu tarama tekniği için 3 adet dönüş olacaktır; opan, closed, filtered.
Bir diğer adı ise Half Open Scan’dır (Yarı Açık Tarama). Bu ismi almasının denedi, 3 yollu el sıkışmasının tamamlanmaması dır. Böylece hedef sistemde oturum açılmaz dolayısı ile kayıt tutulmaz.




Bilgi Daracığı | 3 Yollu El Sıkışma Nedir?
Alıntı:
- A bilgisayarı B bilgisayarına TCP SYNchronize mesajı yollar 
- B bilgisayarı A bilgisayarının isteğini aldığına dair bir TCP SYN+ACKnowledgement mesajı yollar
- A bilgisayarı B bilgisayarına TCP ACK mesajı yollar 
- B bilgisayarı bir ACK "TCP connection is ESTABLISHED" mesajı alır
3 yollu el sıkışma tamamlanır.

Tarama işlemi, gönderilen SYN paketine gelen cevaba göre gerçekleşir. Gönderilen SYN paketine karşılık alınan paket RST+ACK ise port kapalıdır ve tarama bir sonra ki port ile devam eder. Eğer alınan paket SYN+ACK ise portun açık olduğu anlaşılır ve bir RST paketi gönderilerek iletişim kurulmadan tarama işlemi tamamlanır.

Örnek Kullanım: nmap -sS 192.168.133.129

TCP Connect Scan
Başlıktaki "connect" kısmından da anlaşılacağı gibi, SYN Scan tekniğinin tam tersi bir şekilde 3 yollu el sıkışma işlemi gerçekleşir ve tarama kayıt altına alınır. SYN Scan tekniğinin tersine eğer SYN paketlerine karşılık SYN+ACK geliyorsa ACK paketi gönderir ve port tarama tamamlanır.

Örnek Kullanım: nmap -sT 192.168.133.129

UDP Scan
UDP portlarının durumunu analiz etmek için kullanılan bu yöntemde tarama gönderilen UDP paketlerinin durumuna göre gerçekleşir. ICMP Port Unreachable ise port kapalıdır, eğer gelen cevap yine UDP paketi ise port açıktır.

Örnek Kullanım: nmap -sU 192.168.133.129

NULL - FIN - XMAS Scan
3 tarama türü de kısmi benzerlik göstermektedir. Gönderilen paketlere cevap olarak RST+ACK gönderiliyorsa port kapalı, ICMP Port Unreachable gönderiliyorsa port filtreli, hiç bir şey gönderilmiyorsa port açıktır.

NULL Scan üzerinden gönderilen paketler her hangi bir bayrağa sahip değildir (her hangi bir teknik uygulanmaz).
FIN Scan üzerinden gönderilen paketler FIN bayrağına sahiptirler (kendi tekniğini uygular). 
XMAS Scan üzerinden gönderilen paketler, farklı bayraklara sahip olabilir.

Örnek Kullanım: nmap -sN 192.168.133.129 #Null Scan
Örnek Kullanım: nmap -sF 192.168.133.129 # FIN Scan
Örnek Kullanım: nmap -sX 192.168.133.129 # XMAS Scan

ACK - Window Scan
ACK Scan, güvenlik duvarının yapılandırmasını incelemek için sıkça kullanılan yöntemlerden biridir. ACK bayraklı gönderilen paketlere gelen duruma göre portun durumu analiz edilir.
Gönderilen paketlere RST geri dönüyorsa portun Unfiltered olduğu ortaya çıkar. Eğer ICMP Unreachable paketi dönüyorsa yada bir şey dönmüyorsa portun filtered olduğu ortaya çıkar.

Window Scan ise, ACK taramasından farklı olarak portların açık olup olmadığını anlayabilir.

Örnek Kullanım: nmap -sA 192.168.133.129 # ACK Scan
Örnek Kullanım: nmap -sW 192.168.133.129 # Window Scan

Ping Scan
Tek bir ICMP Echo paketi gönderilen bu taramada ICMP filtre bulunmadığı sürece bize ICMP Echo cevabı dönecektir.

Örnek Kullanım: nmap -sP 192.168.133.129

IP Protocol Ping Scan
IP üzerinden gerçekleştirilen bu taramada, erişilemeyen IP adresi cevap vermeyecektir. Erişilebilen IP ise RST tipi bayrak döndürecektir.

Örnek Kullanım: nmap -sO 192.168.133.129

Port Tanımlama
Hedef tanımlama kısmında yaptığımız tanımlama da "dikkat edilmesi gereken nmap bize en bilindik portları taradı" demiştik. Evet, eğer herhangi bir parametre verilmezse NMAP bize en bilindik portları hızlı bir biçimde tarar. Sizler ise vereceğiniz parametreler ile bu tarama işlemini özelleştirebilirsiniz.

Alıntı:
nmap –sS -F 192.168.133.129 # En yaygın 100 portu tara
nmap –sS –p80 192.168.133.129 # 80 portunu tara 
nmap –sS –p1-100 192.168.133.129 # 1 ile 100 arasında ki portları tara 
nmap –sS –p1,100,102 192.168.133.129 # 1, 100 ve 02. portları tara
nmap –sS –top-ports <n> 192.168.133.129 # En sık kullanılan n adet portu tarar
nmap –sS –p- 192.168.133.129 # 65535 adet portun tamamını tarar
nmap –sS –p U:53,T:22 192.168.133.129 # UDP 53 ve TCP 22. portu tarar

Servis ve Versiyon Keşfi
Hedef tanımlama bölümünün ilk kısmında yaptığımız taramada, parametre vermeden kısa bir bilgi istedi. Bazı açık portları sundu ve bunların ne portu olduğunu bize sundu. ancak çoğu zaman bu küçük bilgiler bize yetmez. Bizim portu kullanan servis hakkında daha detaylı bilgiye ve servisin versiyon numarasına ihtiyacımız olabilir. Bu yüzden bölümün diğer taramasında 21. portu kullanan vsftpd yazılımının exploitini bularak sisteme sızılabileceğini göstermiştik.

Tarama Türü İçin Parametre: -sS # SYN Scan
Versiyon Tespiti İçin Parametre: -sV

Örnek Kullanım: nmap -sS -sV 192.168.133.129





Görüldüğü gibi servisler ve servisi kullanan yazılımları ayrıca servisi kullanan yazılımları kullanan servislerin versiyonunu da bize gösterdi.

İşletim Sistemi Analizi
NMAP yetenekli bir yazılımdır, bize kullanılan işletim sistemi hakkında da detaylı bir rapor sunabilir, bu analizler bizim için değerli sonuçlar olabilir. 2 adet komut kullanılabilir bu durumlarda.

İşletim Sistemi Analizi İçin Parametre: -O
Örnek Kullanım: nmap -sS -O 192.168.133.129
Örnek Kullanım: nmap -sS -A 192.168.133.129

Sonuçlar oldukça uzun, 2. örneği zaten biliyorsunuz. Yukarıda, konu başlarında değinmiştik zaten. Dediğimiz gibi her iki örnekte bize oransal sonuçlar verecektir. Ancak yinede oldukça yetenekli olduğu gerçeğini değiştirmiyor.

Çıktıları Ayarama
NMAP yazılımının sahip olduğu yeteneklerden biri de çıktıları istediğimiz yönde alabilmemizdir. Örneğin çıktıyı kaydetmek için TXT, Metasploitte kullanabilmek için XML şeklinde alabiliriz.

Alıntı:
nmap –sS –oN cikti.txt 192.168.133.129 # TXT biçiminde, normal NMAP çıktısı verir
nmap –sS –oX cikti.xml 192.168.2.1 # XML biçiminde bir çıktı üretir, Metasploit için ideal bir komut.
nmap –sS –oG cikti.txt 192.168.2.1 # Düzenlenebilir NMAP çıktısı verir (ne işe yaradığı konusunda en ufak bir fikrim yok)
nmap –sS –oA dosyaismi 192.168.2.1 # Tüm biçimlerde çıktı verir.

İpucu: -oA parametresi ile yapılan işlemde tarama durursa "nmap -resume dosyaismi" denilerek taramaya devam edilebilir.

Spoofing
NMAP güvenlik nedeni ile tarama işlemini farklı bir bilgisayardan yapılıyormuş gibi gösterebilir. Önemli olan nokta belirtilecek sistemin IP adresi ile hedef sistemin uyumlu olmasıdır. Özel IP kullanan LAN ortamının Reel IP kullanması pek mantıklı olmayacaktır. Eğer IP adresi belirtilemez ise NMAP rast gele olarak IP adresi seçecektir.

Örnek Kullanım: nmap -D <gösterilecek_ip> <hedef_ip>
Örnek Kullanım: nmap -D 192.168.133.1 192.168.133.129

NMAP yazılımının ethernet kart arayüzünün IP adresini bulamadığı durumlarda -e (interface) parametresini kullanarak IP adresi atanabilir.

Örnek Kullanım: nmap –D <gösterilecek_ip> -e <interface> <hedef_ip>

Paket Manipülasyonu
Güvenlik ürünlerini atlatmak için, Nmap çok fazla sayıda packet manipulating özelliği barındırır. Aşağıda bu özellikler ve açıklamaları bulunmaktadır 

Alıntı:
--data-length <sayı> # Paket boyutunun olacağı uzunluğu <sayı> belirtir. 
--ip-options <R|T|U|S *IP IP2…+ |L *IP IP2 …+ > yada --ip-options <hex string> # Paketler içerisindeki IP özelliklerini belirtir. 
--randomize-hosts # Listede belirtilen taranılacak hostları rastgele bir şekilde seçer. 
--badsum # Yanlış checksuma sahip TCP veya UDP paketleri gönderir.

Kombinasyonlar
namp-update # NMAP yazılımını güncellemek için kullanılır.
nmap -h # Yardım metinleri, kategorik bir biçimde tüm özellikler ekrana dökülecektir.




nmap -sS -v 192.168.133.129 # bu komutta yabancı gelen tek şey -v parametresi. Özelliği NMAP yazılımının ekrana daha fazla bilgi dökmesini sağlar.
nmap –sS –sV –Pn –p- 192.168.133.129 # Standart SYN Scan ile tarama yapacak ve versiyon tespitinde bulunacaktır. Bilmediğimiz ise -Pn komutu ping atmasını önlemek ve -p- komutu ise 65535 portun tamamını taramasını sağlayacaktır.
nmap –sW –T1 –p- 192.168.133.129 # Window Scan gerçekleştirecek yazılım, -T1 komutu ile yavaş bir şekilde tarama yapacak ve Firewall yani güvenlik duvarlarına yakalanamayacaktır.
nmap –script vuln 192.168.10.0/24 # Bu komut ile NMAP içeriğinde ki exploiteri hedef sistem üzerinde test edecek ve sonuçları ekrana dökecektir.
nmap –script=ftp-brute –p 21 192.168.133.129 # NMAP, içinde ki ftp-brute yazılımı ile hedef makinanın 21. portuna elinde ki şifreler ile giriş yapmaya çalışacaktır. Bu Brute/Force yani Kaba/Kuvvet saldırılarına girer. Bu yazılımları seçmek için -script=yazilim-ismi denilmesi yeterlidir.
nmap –sC 192.168.44.3 # NMAP içerisinde ftp-brute gibi onlarca script bulunmaktadır. Bu komut ile NMAP, içeriğinde ki tüm scriptleri çalıştıracaktır.

NOT: Umarım açıklayıcı ve basit bir anlatım yapabilmişimdir... 
Bir teşekkür yeter ;)

Kullanılan Kaynaklar
- Octosec | NMAP101
- nmap.org
- pentestlab.wordpress.com
- DrapTV
- BGA | Nmap Guide

0 yorum:

Yorum Gönder

Makalemizi Okuduysanız Yorum yapabilirsiniz. Küfürlü Yorumlar Silinir Ve Kullanıcı Engellenir. İlginiz İçin Teşekkür Ederiz
#RedHatzOpTurkey

Blogger tarafından desteklenmektedir.