Linux Nmap Kullanımı - Hacker Adana Blog

Başkalarının yolunda yürüyenler ayak izi bırakamazlar!

Post Top Ad

30 Temmuz 2015

Linux Nmap Kullanımı

Merhaba arkadaşlar,
Nmap kullanırken siz aklıma geldiniz, bende sizi bu konudan mahrum etmek istemedim. Koştum aldım kağıt kalem başladım yazmaya.

Nmap Nedir?

Nmap, bilgisayar ağları uzmanı Gordon Lyon (Fyodor) tarafından C/C++ ve Python programlama dilleri kullanılarak geliştirilmiş bir güvenlik tarayıcısıdır. Taranan ağın haritasını çıkarabilir ve ağ makinalarında çalışan servislerin durumlarını, işletim sistemlerini, portların durumlarını gözlemleyebilir.
Nmap kullanarak ağa bağlı herhangi bir bilgisayarın işletim sistemi, çalışan fiziksel aygıt tipleri, çalışma süresi, yazılımların hangi servisleri kullandığı, yazılımların sürüm numaraları, bilgisayarın güvenlik duvarına sahip olup olmadığı, ağ kartının üreticisinin adı gibi bilgiler öğrenilebilmektedir.
Zenmap, Adriano Monteiro Marques tarafından UMIT grafiksel kullanıcı arabiriminden faydalanılarak geliştirilmiş şu anki resmi kullanıcı arabirimdir.

Nmap Kullanım Alanları

-Taranan ağ üzerindeki sistemler hakkında bilgi sahibi olunmasında.
-Ağ topolojisinin çıkarılmasında.
-Sızma testlerinin gerçekleştirilmesinde.
-Herhangi bir ağ hazırlanırken gerekli ayarların test edilmesinde.
-Ağ envanteri tutulması, haritalaması, bakımında ve yönetiminde.

Kurulumu

Aşağıdaki komutları uçbirimde çalıştıralım.
sudo apt-get update
sudo apt-get install nmap
Ve Nmap kullanıma hazır. Aşağıdaki komutu uçbirimde çalıştırarak Nmap'e gözgezdirelim.
nmap

Resimde görüldüğü gibi Nmap'in birçok özelliği mevcut ve hepsini birer cümleyle açıklamış.
Nmap çok güçlü bir uygulama olmasına rağmen, yeni başlayanlar için anlaşılması zordur. Nmap yaklaşık 15 farklı tarama yöntemine ve her tarama için yaklaşık 20 farklı seçeneğe (çıktı seçenekleri dahil) sahiptir. Nmap herhangi bir client veya serverı birçok farklı şekilde tarama yeteneğine sahiptir.
Nmap'in asıl gücü farklı tarama tekniklerinden gelir.
Protokol bazlı (Tcp, Udp vb.) tarayabileceğiniz gibi, belirli aralıklardaki IP'ler, Subnet'ler ve üzerlerinde çalışan port ve servisleride taranabilir.

Portlar

Öncelikle portlardan bahsetmek istiyorum.
Port, bir bilgisayarla dış aygıtlar arasındaki iletişimi sağlayan veri kanalı. Portlar, seri (COM) ve paralel (LPT) olmak üzere iki temel kısımda incelenir.
HTTP, HTTPS, POP3, SMTP ve FTP gibi internetin kullanıcı açısından en popüler protokolleri portlar üzerinden veri alışverişi yapmaktadır.

Portların Taramalara Verebilecekleri Cevaplar

Tarama sonuçlarında ortaya çıkabilecek port durumları aşağıdaki gibidir:
-Open: Portlar açık ve aktif olarak TCP veya UDP bağlantısı kabul eder.
-Closed: Portlar kapalı ancak erişilebilir. Üzerlerinde dinlenilen aktif bir bağlantı yoktur.
-Filtered: Dönen tepkiler bir paket filtreleme mekanizması tarafından engellenir. Nmap portun açık olduğuna karar veremez.
-Unfiltered: Portlar erişilebilir ancak Nmap portların açık veya kapalı olduğuna karar veremez. (Sadece ACK scan için)
-Open|filtered: Nmap portların açık veya filtrelenmiş olduğuna karar veremez. (UDP, IP Proto, FIN, Null, Xmas Scan için)
-Closed|filtered: Nmap portların kapalı yada filtreli olduğuna karar veremez.(Sadece Idle Scan için)
Taramalar esnasında Nmap'in performansının düşmemesi ve çıktıların daha düzenli olması amacıyla -v ya da -vv seçenekleri kullanılabilir. Bu seçenekler vasıtasıyla Nmap bize sunacağı çıktıları limitler. -vv kullanılırsa, Nmap'e ait istatistikler görülmez ve en sade çıktı alınır.

Tarama Türleri

Var olan tarama türleri aşağıdaki resimde belirtilmiştir.


TCP SYN Scan
Kaynak bilgisayar hedefe TCP SYN bayraklı paket göndererek tarama başlatır. Portların kapalı olduğu durumlarda hedef RST+ACK bayraklı paket döndürür. Açık olduğu durumda SYN+ACK bayraklı paket dönecektir. Kaynak bilgisayarda RST bayraklı paket göndererek bağlantıyı koparır ve böylelikle üçlü el sıkışma tamamlanmaz.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sS <Hedef IP>

TCP Connect Scan
Kaynak bilgisayardan yapılacak TCP Connect taraması, kapalı portlarda TCP SYN taraması gibi cevap dönecek. RST+ACK bayraklı paket dönecektir. Ancak açık olduğu durumlarda TCP SYN taramalarının tersine, hedefin göndereceği SYN+ACK bayraklı paketi kaynak bilgisayar ACK bayraklı paket göndererek cevaplar ve üçlü el sıkışmayı tamamlar.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sT <Hedef IP>

FIN Scan
FIN Scan'de hedefe ilk TCP el sıkışması olmadan gönderilir. Kaynak bilgisayarın göndereceği FIN bayraklı paket, port kapalı ise RST+ACK bayraklı paket dödürecek. Eğer port açık ise hedefe herhangi bir tepki dönmeyecek.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sF <Hedef IP>

XMass Tree Scan
Kaynak bilgisayarın TCP çerçevesinin içine URG,PSN ve FIN bayraklarını set edeceği paket hedefe gönderilir hedefin döndüreceği cevaplar ise FIN Scan ile aynıdır.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sX <Hedef IP>

Null Scan
Hiçbir bayrağın bulunamayacağı bir tarama türüdür. Pek kullanılmaz. Gönderilecek bayraksız paketler karşısında hedefin vereceği tepkiler FIN Scan ile aynıdır.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sN <Hedef IP>

Ping Scan
Kaynak bilgisayar hedefe tek bir ICMP Echo istek paketi gödereceği bu taramada, IP adresi erişilebilir ve ICMP filtreleme bulunmadığı sürece, hedef ICMP Echo cevabı dödürecek. Eğer hedef erişilebilir değilse veya filtreleyici ICMP paketleri filtreliyorsa, hedeften herhangi bir cevap dönmeyecektir.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sP <Hedef IP>

Version Detection
Version Detection, bütün portların bilgilerini bulabilecek herhangi bir tarama türü ile birlikte çalışır. Eğer herhangi bir tarama türü belirtilmediyse yetkili kullanıcılar için TCP SYN, diğer kullanıcılar için TCP Connect çalıştırılır. Eğer açık port bulunursa, Version Detection taraması hedef üzerinde araştırma başlatır ve elde edebileceği kadar bilgiyi almaya çalışır.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sV <Hedef IP>

UDP Scan
Kaynak bilgisayarın göndereceği UDP paketine ICMP Port Unreachable cevabı dönerse hedef kapalı kabul edilecek. Herhangi bir tepki döndürmeyen hedef open|filtered kabul edilecektir. UDP paketiyle cevap döndüren hedefe ait port açık kabul edilecektir.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sU <Hedef IP>

IP Protocol Scan
IP paketleriyle yapılan bu taramada, erişilemeyen bir IP taramaya cevap vermeyecektir. Eğer erişilebilen bir IP ise RST bayraklı paket döndürecektir.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sO <Hedef IP>

ACK Scan
Kaynak bilgisayar hedef makinaya TCP ACK bayraklı paket göderdiği taramada, hedef ICMP Destination Unreachable mesajı dönerse yada herhangi bir cevap dönmezse port filtered olarak kabul edilir. Eğer hedef RST bayraklı paket dödürürse port unfiltered kabül edilir.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sA <Hedef IP>

Window Scan
Windows Scan, ACK Scan türüne benzer ancak önemli bir farkı bulunmaktadır. Window Scan portların açık olduğu durumlarını yani open durumları gösterebilir.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sW <Hedef IP>

RPC Scan
RPC Scan, hedefin üzerinde koşan RPC uygulamalarını keşfeder. Başka bir tarama türü ile açık portlar keşfedildikten sonra,RPC Scan hedefin açık portlarına RPC Null göndererek, eğer çalışan bir RPC uygulaması varsa, RPC uygulamasını harekete geçirir.RPC Scan, Version Detection Scan işlemi esnasında otomatik olarak çalıştırılır.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sR <Hedef IP>

List Scan
Bu tarama türü gerçek bir tarama değildir. Sadece Nmapin sorun çözme ve test yeteneklerini aktif kılar. Taranacak olan aktif makinaların IP'lerini sıralar. Eğer reverse DNS çözümlemesi iptal edilmişse List Scan network üzerinde tamamen sessizdir. Herhangi bir paket almaz veya göndermez.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sL <Hedef IP>

Idle Scan
Kaynak bilgisayarın hedefe tarama esnasında aktif rol almadığı tarama türüdür. Kaynak bilgisayar zombie olarak nitelendirilen makinalar üzerinden hedef makinayı tarayarak bilgi toplar.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sI <Hedef IP>

FTP Bounce Scan
FTP serverlarının pasif olarak çalışması ile gerçekleşir. Nmap'in taramayı gerçekleştirebilmesi için, aradaki FTP serverla bağlantı kurması gerekir.Bağlantı kurduktan sonra Nmap verileri taranacak olan hedef IP ve porta yönlendirir. Yönlendirme işleminden sonra FTP üzerinde taramayı gerçekleştirebilmek için öncelikle PORT komutu, sonra verileri aktarabilmek için LIST komutu çalıştırılır.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -b <user@ftpserver> <Hedef IP>

Tarama

Bütün tarama türlerini anlattığımıza göre örnek bir TCP Connect Scan yapabiliriz.
Aşağıdaki komutu uçbirime yazarak taramayı gerçekleştirebilirsiniz.
nmap -v -sT <Hedef IP>

Ben herhangi bir siteye TCP Connect Scan yaptın ve sonuçları yukarıda görüldüğü gibidir. Kırmızı kutu içerisine aldığım açık portlardır. Nmap'in kitap yazılabilecek kadar çok özelliği vardır. Bundan sonra ne yapıcağınız size kalmış. :)

NOT:Yazıda tanımlarda yanlışlık olmaması amacıyla birden fazla kitapdan ve dökümandan bilgi alınarak, kendi bilgi ve görüşlerim dahilinde hazırlanmıştır.
#Tony

Post Bottom Ad