Etik Hacker - Scanning Networks (Ağları Tarama)
- Muratcan YİĞİT
- 3 Eyl 2024
- 5 dakikada okunur
Bu aşama CEH’in üçüncü modülüdür. Ağ taramalarının yapıldığı aşamadır. Ağ taraması genellikle NMAP aracı ile yapılır hadi o zaman NMAP aracını detaylı inceleyelim.
NMAP NEDİR? NASIL KULLANILIR?
Değerli Bağlantılarım, bu yazımızda Nmap Nedir? Kali Linux ve diğer işletim sistemlerinde nasıl kurulur? En sık kullanılan komutları nasıl çalışır? NMap Scripts çalıştırma adımlarını göreceğiz. Nmap, network tarama ve zafiyet tespiti için kullanılan genellikle açık port taraması yaptığımız, açık kaynaklı bir araçtır. Nmap ile bulunduğumuz network üzerinde çalışan cihazların belirlenmesi, cihazların ip, mac, işletim sistemi ve çalıştırdığı hizmetleri öğrenmek gibi birçok kabiliyeti vardır. Nmap ile tüm cihazları tarayacağımız gibi tek bir ip adresi taraması da yapmamız mümkündür. Nmap sistem bağlantı noktalarına ham paketler göndererek bilgi toplar. Yanıtları dinler ve bağlantı noktalarının örneğin bir güvenlik duvarı tarafından açık, kapalı veya filtrelenmiş olup olmadığını belirler.
Nmap Nasıl Kullanılır?
Nmap Kali Linux işletim sistemiyle birlikte kurulu olarak gelmektedir. Eğer kali işletim sistemimizde kurulu değil ise terminali açıp root kullanıcında iken "sudo apt-get install nmap" yazmanız yeterli olacak.
Farklı bir işletim sistemine kurmak isterseniz https://nmap.org/download.html ziyaret edebilirsiniz. Nmap’i başlatmak için komut satırına nmap x.x.x.x hedef ip adresini yazmanız yeterlidir. Ancak Nmap standart komutları ile çok ileri bilgiler elde etmeniz çokta kolay değildir bu yüzden ileri düzey derinlemesine bilgiler içeren bir Nmap eğitimi almanızı tavsiye ederim. Windows tarafında ise Nmap uygulamasını indirip kurduktan sonra komut satırından veya ZenmapGUI üzerinden aşağıda ki örnekte olduğu gibi çok basit bir şekilde kullanabilirsiniz.
NMAP de genelde kullandığımız komutlar ve anlamları sıralamak gerekirse;
Konsolu açtıktan sonra nmap -v dediğimizde nmap versiyonumuzu göreceğiz.
nmap 123.456.789.012 veya nmap sibersistem.com yazdığımızda standart açık port taraması yapacaktır. IP adresi veya domain olarak yazmamız sonucu değiştirmez.
nmap -p 21,80.443 192.168.1.10 yazdığımızda hedef bilgisayarın FTP, HTTP ve HTTPS portlarını tarayacaktır.
nmap -il ipdokumani.txt metin dosyasında ki ip adreslerini tarar
nmap -oN taramasonucu.txt 192.168.1.* yaptığımız tarama sonucunu .txt dosyasına dökmemizi sağlar.
nmap -oN iptarama.txt 192.168.1.* | grep open içerisinde açık port olanların sonucunu dosyaya kaydeder.
nmap 192.168.1.0/100 aralıklı ip taraması yapar
nmap 192.168.1.50,51,52,53,54,55 sıralı ip taraması yapar
nmap 192.168.1.* blokta ki tüm ipleri tarar
nmap 192.168.1.0 --excloud 192.168.1.10 blokta ki tüm ip adreslerini tarar sadece .10 numaralı ip yi atlar
nmap --top-ports 10 192.168.1.10 en çok kullanılan ilk 10 portun taramasını yapar
nmap -p 21 -n 192.168.1.* dediğimizde DNS çözümleme yapmadan networkte 21 portu için çok daha hızlı bir arama yapar.
nmap -T8 192.168.1.* dediğimizde Thread yani birden çok ana bilgisayarı paralel olarak bağlantı noktası taraması veya sürüm taraması yapma işlemidir.
nmap -sV 192.168.1.10 dediğimizde hedef ip üzerinde ki çalışan servisleri listeleyecektir.
nmap -sT 192.168.1.10 dediğimizde hedef ip üzerinde ki TCP paketlerinin taramasını yapar.
nmap -sU 192.168.1.10 dediğimizde hedef ip üzerinde ki UDP paketlerinin taramasını yapar.
nmap -Pn --script vuln 192.168.1.* network üzerinde ki sistem açığı olan ip ve açık hakkında bilgi verir.
root@kali: sudo nmap -sS -sV -Pn -p- muratcanyigit.com.tr bu kodun açılımı nedir?
Bu Nmap komutu, bir hedefe yönelik ağ taraması yapmak için kullanılır. Her bir parametrenin ne anlama geldiğini açıklayayım:
sudo: Bu komutu süper kullanıcı (root) yetkileriyle çalıştırmak için kullanılır. Nmap, bazı tarama tipleri için süper kullanıcı yetkilerine ihtiyaç duyar.
nmap: Ağ taraması yapmak için kullanılan ana komut.
Seçenekler:
-sS: Bu, "TCP SYN taraması" anlamına gelir. SYN taraması, bağlantı kurmadan önceki ilk adımda kullanılan bir TCP tarama tekniğidir. Hızlı ve göze çarpmayan bir tarama türüdür.
sV: Bu seçenek, açık portların üzerinde çalışan servislerin ve bu servislerin sürümlerinin tespit edilmesini sağlar.
-Pn: Hedefin canlı olup olmadığını kontrol etmeden tarama yapar. Normalde Nmap, hedefin canlı olup olmadığını kontrol eder (ping atar) ve yalnızca canlı olanları tarar. Bu seçenek ile Nmap, hedefin cevap verip vermediğine bakmadan tüm taramayı gerçekleştirir.
-p-: Tüm portları (1'den 65535'e kadar) tarar. Normalde Nmap sadece yaygın olarak kullanılan portları tarar, ancak bu seçenekle tüm portlar taramaya dahil edilir.
Hedef: muratcanyigit.com.tr: Bu, taranacak olan hedef domain adıdır.
Komutun Genel Anlamı;
Bu komut, muratcanyigit.com.tr domain'ine sahip sunucu üzerinde tüm portlarda (1-65535) SYN taraması gerçekleştirir, bu portlarda hangi servislerin çalıştığını ve sürüm bilgilerini belirlemeye çalışır. Ayrıca, hedefin canlı olup olmadığını kontrol etmeden doğrudan taramaya başlar. Bu tür taramalar güvenlik değerlendirmeleri ve ağ haritalama için kullanılır, ancak izinsiz olarak kullanılması yasalara aykırı olabilir.
TCP Flags Nedir? Nasıl Çalışır?
TCP (Transmission Control Protocol) bayrakları (flags), TCP paketlerinin başlıklarında bulunan ve belirli bir TCP bağlantısının durumunu ve işlevini belirten kontrol bitleridir. Bu bayraklar, TCP bağlantılarının kurulmasını, yönetilmesini ve sonlandırılmasını kontrol etmek için kullanılır. Her bir bayrağın kendine özgü bir işlevi vardır ve bu bayrakların belirli kombinasyonları, TCP bağlantılarının belirli aşamalarında kullanılır.
TCP Bayrakları ve İşlevleri
SYN (Synchronize):
Bağlantı kurulumu için kullanılır.
Bir istemci, sunucuya bir bağlantı başlatmak istediğini belirtmek için SYN bayrağını kullanır.
SYN bayrağı ayarlanmış bir paket, ilk bağlantı isteğini temsil eder (örneğin, üçlü el sıkışma sürecinde).
ACK (Acknowledgment):
Alındığını onaylamak için kullanılır.
Her TCP segmenti, alınan veri paketinin onayını içerir.
ACK bayrağı, bir önceki paket için bir onay mesajıdır.
FIN (Finish):
Bağlantının sonlandırılması için kullanılır.
Bir TCP bağlantısını düzgün bir şekilde kapatmak için kullanılır.
FIN bayrağı gönderildiğinde, veri alışverişi sona erer.
RST (Reset):
Bağlantıyı sıfırlamak için kullanılır.
Eğer bir hata oluşursa veya bağlantı düzgün değilse, bağlantıyı sıfırlamak için RST bayrağı kullanılır.
Bu, bir bağlantının anında kapatılmasını sağlar.
PSH (Push):
Verilerin hemen iletilmesi gerektiğini belirtir.
Alıcıya, verileri derhal uygulamaya iletmesi gerektiğini söyler (örneğin, bir kullanıcı girişi gibi durumlarda).
URG (Urgent):
Acil verilerin mevcut olduğunu belirtir.
Bu bayrak ayarlandığında, acil veriler TCP'nin acil işaretleyicisi ile işaretlenir ve bu verilerin hemen işlenmesi gerektiği anlamına gelir.
ECE (Explicit Congestion Notification Echo):
TCP ECN (Explicit Congestion Notification) desteği için kullanılır.
TCP'nin tıkanıklık kontrol mekanizması ile ilgilidir ve tıkanıklık oluştuğunda bu bayrak set edilir.
CWR (Congestion Window Reduced):
Tıkanıklık kontrolünün bir parçası olarak kullanılır.
Gönderen, tıkanıklık pencere boyutunu azalttığını belirtir.
NS (Nonce Sum):
ECN Nonce mekanizması ile ilgili bir bayraktır, ECN desteği ile birlikte kullanılır.
TCP Bayraklarının Kullanımı
TCP bayrakları, TCP bağlantılarının kurulmasında, veri alışverişinde ve bağlantıların sonlandırılmasında hayati bir rol oynar. En yaygın kullanımlardan biri, TCP üçlü el sıkışma (three-way handshake) sürecidir:
Bağlantı Kurulumu (Three-Way Handshake):
Adım 1: İstemci, sunucuya bir bağlantı başlatmak istediğini belirtmek için SYN bayrağı ayarlanmış bir paket gönderir.
Adım 2: Sunucu, SYN bayrağı ile birlikte ACK bayrağını ayarlayarak bu isteği onaylar.
Adım 3: İstemci, ACK bayrağını ayarlayarak sunucunun onayını kabul eder ve bağlantı kurulur.
Veri Alışverişi:
Veri gönderimi sırasında, her paket bir ACK bayrağı içerir, bu da alıcıdan alınan veriyi onaylar.
Bağlantı Sonlandırma:
Adım 1: İstemci, bağlantıyı sonlandırmak için FIN bayrağını ayarlar ve bir paket gönderir.
Adım 2: Sunucu bu isteği ACK bayrağı ile onaylar ve ardından kendi FIN bayrağını gönderir.
Adım 3: İstemci son olarak sunucunun FIN bayrağını onaylar ve bağlantı düzgün bir
TCP bayrakları, ağ mühendisleri ve güvenlik uzmanları tarafından ağ trafiğini analiz etmek, saldırıları tespit etmek ve ağ problemlerini çözmek için kullanılır. Özellikle SYN taramaları, ağda hangi portların açık olduğunu belirlemek için yaygın olarak kullanılır.
SORU: NMAP üzerinden sunucularımda açık portları taramak istiyorum ancak Firewall, Antivirüs, IDS, IPS gibi sistemlere takılmak istemiyorum hangi komutu kullanmalıyım?
Firewall, antivirüs, IDS, ve IPS gibi sistemlere yakalanmadan Nmap ile port taraması yapmak için çeşitli yöntemler ve komutlar kullanabilirsiniz. Ancak, bu tür taramalar etik ve yasal sınırlar içinde yapılmalıdır. İşte bazı yöntemler:
1. Stealth Scan (TCP SYN Scan)
Bu, en yaygın kullanılan ve en güvenli tarama türlerinden biridir. SYN bayrağı kullanılarak hedefe bağlantı isteği gönderilir, ancak bağlantı tamamlanmadan kesilir, bu da genellikle IDS/IPS sistemlerini atlatabilir.
nmap -sS <hedef_ip_adresi>
2. Fragmented Packet Scan
Bu yöntem, gönderilen paketleri daha küçük parçalara böler. Bazı IDS/IPS sistemleri, bu tür bölünmüş paketleri birleştirmekte zorlanabilir.
nmap -sS -f <hedef_ip_adresi>
3. Idle Scan
Bu teknik, üçüncü bir tarafın IP adresini (zombie host) kullanarak tarama yapar ve böylece kendi IP adresinizi gizler. Bu, IDS/IPS tarafından fark edilme olasılığını azaltabilir.
nmap -sI <zombie_ip_adresi> <hedef_ip_adresi>
4. TCP ACK Scan
Bu tarama, hedefin hangi portlarının filtrelendiğini (açık mı kapalı mı olduğu belirlenemez) bulmak için kullanılır. Genellikle firewall’ları ve IDS/IPS sistemlerini atlatabilir.
nmap -sA <hedef_ip_adresi>
5. Timing Options
Tarama hızını yavaşlatarak daha az fark edilme ihtimaliniz olabilir. "T" seçeneği ile tarama hızını ayarlayabilirsiniz. T2 veya T3 seviyeleri genellikle daha gizlidir.
nmap -sS -T2 <hedef_ip_adresi>
6. Randomize Host Order
Tarama sırasını rastgeleleştirerek belirli bir düzen olmadan tarama yapabilirsiniz.
nmap -sS --randomize-hosts <hedef_ip_adresi>
7. Decoy Scan
Kendi IP adresinizi gizlemek için, Nmap’in birden fazla sahte IP adresi kullanmasını sağlayabilirsiniz. IDS/IPS’ler bu taramayı gerçek taramadan ayırt edemez.
nmap -D RND:10 <hedef_ip_adresi>
Bu yöntemler, genellikle daha gizli taramalar yapmanıza olanak tanır. Ancak, tarama sırasında kullandığınız tekniklerin yasalara ve organizasyon politikalarına uygun olduğundan emin olun.
Comentários