Nmap Kullanımında İleri Seviye Teknikler
Bilgi toplama aracı olarak kullanılan Network Mapper (NMAP) nedir , hangi argümanlara sahiptir ve bunlar nasıl kullanılır bu yazımda sizlerle paylaştım.
NMAP (Network Mapper)
Aktif bilgi toplama araçlarından biri olan NMAP en popüler açık kaynaklı araçların başında gelir. Bu yazımda sizlere NMAP nedir, nasıl kullanılır,nasıl bilgi toplanır ondan bahsedeceğim.
NMAP; sistem bağlantı noktalarına paketler göndererek bilgi toplar, yanıtları dinler ve bir güvenlik duvarı tarafından açık ,kapalı veya filtrelenmiş olup olmadığını belirler.
NMAP kullanmadan önce komut satırı arabirimlerini anlamakta fayda vardır.
Komut satırı dizilimi: nmap {tarama türü} {opsiyonlar} {hedef} şeklindedir.
NMAP kullanımı ve argümanlara ulaşmak için “nmap -help” veya “nmap -h “ kullanabiliriz.
NMAP TARAMA ADIMLARI
1. IP TARAMASI
Bağlı ağdaki cihazları ve elde ettiğimiz IP adreslerini taramak için kullanırız.
2. PORT TARAMASI
Ağdaki IP adreslerinde hangi portların açık olduğunu bulmak için kullanırız.En popüler TCP ve UDP portlarına bir bakalım.
Port 21 (FTP): Güvenli olmayan protokoller içindedir ve veriler şifresiz ve açık halde aktarılmaktadır. Dosya aktarım protokülüdür.
Port 22 (SSH): Secure Shell adı ile bilinmektedir. Ağın üzerinden gönderilen şifrelenmiş ve güvenli veri alışveriş trafiğidir.
Port 23 (Telnet): İnternet ağını kullanarak makineye bağlanmak için kullanılan bir programdır. Şifresiz iletişimden dolayı güvenli değildir.
Port 25(SMTP): Mail gönderme protokolüdür.
Port 53 (DNS): DNS sunucular ip adresinden domain ismini ve domain isminden ip adresinden çözümleme yapmaktadır. Hem TCP hem de UDP tarafından kullanılan bir porttur.
Port 80 (HTTP): En sık kullanılan portlar arasındadır. Web sunucuları ve istemci bilgisayar arasında bağlantı sağlamaktadır.
Port 110(POP3): Yerel e-posta alıcıları tarafından uzak sunucudan e-postaları indirmek için kullanılır.
Port 995(POP3S): POP3 protokolüne SSL eklenilerek yapılan iletişimin daha güvenli hale gelmesini sağlamaktadır.
Port 69(TFTP): Özel dosya aktarımı protokolüdür.
Port 139 (NetBIOS-SSN): MS-Windows hizmetleriyle iletişim kurmak için kullanılır.
Port 445(SMB): Server Message Block olarak bilinmektedir. Dosya paylaşımı için kullanılan protokoldür.
Port 3306(MySQL): MySQL veritabanı ile iletişimi sağlayan TCP protokolüdür.
Port 514 (SHELL):Linux sistemlerdeki loglama yapısına verilen addır. Her yapılan işlemin kaydının tutulduğu sistemdir.
Port 8080 (HTTP-Proxy): HTTP Proxyleri için kullanılan alternatif bir TCP protokolüdür.
Yapılan port tarama sonuçları 6 kategoriye ayrılır:
Open: Tarama sonucunda open port görmek bize o servisin çalıştığını ve herhangi bir filtreleme işlemi olmadığını gösterir.
Closed: Tarama sonucunda closed portu bize o servisin erişilebilir fakat üzerinde hiçbir servis çalışmadığını ve bir şey yapamayacağımızı gösterir.
Filtered: Nmapin o portun açık olup olmadığını anlamadığını belirtir. O porta giden veriler engelleniyor yada host açık olmadığı için paketler ulaşmıyordur.
Unfiltered: Portun erişilebilir fakat portun açık yada kapalı olduğunu anlayamadığı zaman verdiği sonuçtur.
Open|filtered: Nmap’in açık yada filtrered olup olmadığını anlayamadığı zaman verdiği sonuçtur.
Closed|filtered: Nmap’in kapalı yada filtered olup olmadığını anlayamadığı zaman verdiği sonuçtur.
3. PORTLARDA SERVİS TARAMASI
Portlarda bulunan servisleri tespit etmek için kullanırız. Tek bir hedef üzerinde tarama yapmak istersek herhangi bir parametreye gerek kalmadan aşağıdaki gibi taramamızı yapabiliriz. Bu bize en sık kullanılan 1000TCP/IP üzerinde tarama yapıp açık portları gösterir.
Tüm bağlantı noktaları üzerinde tarama yapmak için “-p-” parametresini kullanırız. Bu şekilde tüm TCP bağlantı noktalarını görebiliriz.
Belirli port numaralarının arasındakileri taramak istersek “nmap -p {belirlenen aralık}10.0.2.9“ komutu ile taramamızı yapabiliriz.
4. NMAP TARAMA TEKNİKLERİ
TARAMA TÜRLERİ |
TANIM |
nmap 10.0.2.9 -sS |
TCP SYN bağlantı noktası taraması |
nmap 10.0.2.9 -sT |
TCP bağlantı taraması |
nmap 10.0.2.9 -sU |
UDP bağlantı noktası taraması |
nmap 10.0.2.9 -sA |
TCP ACK bağlantı noktası taraması |
nmap 10.0.2.9 -SL |
Liste taraması |
nmap 10.0.2.9 -Sp |
Ping taraması |
nmap 10.0.2.9 -sO |
IP protokolü taraması |
nmap 10.0.2.9 -sW |
TCP pencere bağlantı noktası taraması |
nmap 10.2.0.9 -sM |
TCP Maimon bağlantı noktası taraması |
5. VERSİON TESPİTİ
Nmap 10.0.2.9 -sV |
Bağlantı noktasında çalışan hizmetlerin sürümünü bulmak için kullanılır. |
Nmap 10.0.2.9 -sV - -version-intensity 6 |
Sürüm yoğunluğu seviyesi aralığı verilir(0-9) |
Nmap 10.0.2.9 -sV - - version-all |
Sürüm yoğunluğu 9 olarak ayarlanır |
Nmap 10.0.2.9 -A |
İşletim sistemi,sürüm algılama ve komut dosya taraması yapar |
Nmap 10.0.2.9 -O |
Uzak işletim sistemi algılama |
Tespit edilen açık portlarda hangi servislerin çalıştığını tespit etmek istersek yukarıdaki komutları kullanabiliriz. Şimdi de birkaç örneğine bakalım.
“nmap 10.0.2.9 -sV “ komutu ile bulduğumuz açık olan portların versiyonları hakkında bilgilerini almış olacağız.
“nmap 10.0.2.9 -A” ise bulduğu belli başlı portları taramak için kullanılır. Eğer tüm port bilgilerine ulaşmak istiyorsak “nmap 10.0.2.9 -A -p- -T5” ile taramamızı yapabiliriz. Komut satırında bulunan “–T5” ifadesi tarama hızımızı belirtmektedir ve tüm portları tarama işi uzun süreceğinden hızlı bir tarama işlemi sağlamaktadır.
6. TARAMA SEÇENEKLERİ
TARAMA SEÇENEKLERİ |
TANIM |
Nmap -sP 10.0.2.9 |
Yalnıca ping taraması |
Nmap –PU 10.0.2.9 |
UDP ping taraması |
Nmap –PE 10.0.2.9 |
ICMP yankı pingi |
Nmap –PO 10.0.2.9 |
IP protokolü pingi |
Nmap –PR 10.0.2.9 |
ARP pingi |
Nmap –Pn 10.0.2.9 |
Ping atmadan tarama |
Bir NMAP taraması yapacağımız tarama türüne göre değişebilir ve bazen bunları en kısa sürede yada uzun bir süreye yayarak yapmak isteriz bunun içinde kullanılan zamanlama seçenekleri mevcuttur. T0 ,T1 , T2 genellikle ağ dışı taramalarda kullanılan yavaş ve orta seviyedeki hız aralıklarımızdır. T4 ,T5 ağ içinde önerilen zamanlama seçeneklerindendir. Hızlı tarama yapılmak istenirse tercih edilir.
nmap –T0 10.0.2.9 |
En yavaş tarama |
nmap –T1 10 0.2.9 |
IDS den kaçınmak için zorlu tarama |
nmap –T2 10.0.2.9 |
Daha az bant genişliğ kullanmak için taramayı yavaşlatır |
nmap –T3 10.0.2.9 |
Varsayılan hız |
nmap –T4 10.0.2.9 |
Agresif hızlı tarama |
nmap –T5 10 0.2.9 |
En hızlı tarama |
Aşağıda bu komutların bir kaçının beraber kullanım çeşitlerine bakalım:
Bu taramanın çıktıları detaylı bir şekilde ekrana basılması için “-v” parametresi kullanılmıştır. “-sS” parametresiyle TCP/SYN taraması gerçekleştirip işletim sistemi ,sürüm algılanması T4 zamanlaması içinde gerçekleştirilmiştir.
* “nmap -v –sS –A –T4 10.0.2.9”
*“nmap -v –sV –O –sS –T5 10.0.2.9”
Çıktılar detaylı bir şekilde ekrana basılıp işletim sistemi bilgi taraması ile birlikte versiyon tespiti yapılır.
* “nmap –sF –v –n 10.0.2.9”
TCP FIN taramasını yapar. –n parametresi ile DNS çözümlemesi yapmak istenilmemiş ve –v parametresiyle detaylı bilgi almamızı sağlamıştır.
* “nmap -sC –p22,21,139 10.0.2.9”
Özel scriptleri belirtmek için “-sC” parametresi kullanılarak port taraması yapabiliriz.
* “nmap -sF –p1-100 10.0.2.9”
FIN taraması yapar fakat bu normal SYN paket taraması dışında açık veya kapalı olan 100’ün altındaki portları da bulmamızı sağlar.
7. Güvenlik Duvarı (Firewall) Tespiti ve Atlatma
- Güvenlik duvarı (Firewall) internet üzerinden gelebilecek saldırılara ve tehditlere karşı koruyan bir sistemdir. NMAP ile güvenlik duvarı atlatma ve tespitlerimizi yapabiliriz.
- Bunlardan biri olan “nmap -f hedef” taraması ile hedef sisteme paketler göndererek açık olup olmadığını anlarız. “-f” komutu ise bu gönderilen paketleri küçülterek göndermektedir.
- “nmap --mtu 8 10.0.2.9 -p 21” ise –f ile aynı işlemi yapar sadece --mtu paketin boyutunu ayarlamamızı sağlar.
- Gizli tarama yapmamızı ayrıca güvenlik duvarını da etkisiz hale getirmeye yarayan komutumuz “-D” komutudur. Kullanımı “nmap -D 10.0.2.9 -p 21” şeklindedir.
- Kaynak port manipülasyonu ise yeni bir güvenlik duvarı kurarken UDP DNS harici sunuculardan gelen yanıtlar artık ağa giremediğinden DNS çökebilir. Nmap bu zayıflıklardan yararlanmak için -g ve –source –port seçeneklerini bulundurmaktadır.Buna bir örnek olarak “nmap -sS –v –v –n –Pn –g 25 –p1-100 10.0.2.9” verilebilir. –sS parametresi SYN taraması ,-v parametresi detaylı sonuç getirmesini ,ikinci –v parametresi çıktıları detaylı getirmesini ,-n ile dns çözümlememenin yapılmamasını ,-Pn ile pingsiz tarama yapılması istenilmiştir.
- Güvenlik duvarını bypass ederek atlatmaya çalışırken “nmap --script firewall-bypass hedef” parametresini kullanırız.
Genel olarak sık sık kullanılan argümanlarla birlikte kullanımını anlattığım NMAP konulu yazım umarım sizlere faydalı olmuştur.