Ağ Tarama / Analiz Saldırıları
Aktif hostları, ip adreslerini, aktif hostların açık portlarını, işletim sistemlerini ve sistem mimarisini, hostlarda çalışan servisleri ve aktif hostların zafiyetlerini keşfetmek için yapılır.
1.1.1. Tcp iletim bayrakları
URG (Urgent/Acil): Pakette bulunan verileri hemen işler.
PSH (Push/İtme): Arabelleğe alınmış verileri hemen yollar.
FIN (Finish/Bitirme): Daha fazla iletim olmaz.
ACK (Acknowledgement/Alındı): Bir paketin alındığını onaylar.
RST (Reset/Resetleme): Bağlantıyı resetler.
SYN (Synchronize/Senkronize): Hostlar arasında iletim başlatır.
TCP/IP İletimi
Three-way Handshake (Üç Yönlü El Sıkışma): TCP Oturum Kuruluşu;
- Client: Server 21. portundan seninle konuşmak istiyorum açık mı? SYN, SEQ# 10
- Server: Tamam konuşalım Client, 21. portum açık. SYN + ACK, ACK# 11, SEQ# 142
- PC A: Tamam, teşekkürler Server. ACK, ACK# 143, SEQ# 11
- TCP Oturum Sonlandırma;
- Client: Veri iletimi işim bitti. FIN, SEQ# 50
- Server: Tamam, sonlandırma talebini aldım. ACK, ACK# 51, SEQ# 170
- Server: Tüm gönderilen verileri aldım. FIN, SEQ# 171
- Client: Tamam, teşekkürler Server. ACK, ACK# 172, SEQ# 51
Tcp Bayraklarını Kullanarak İsteğe Uyarlanmış Paket Yaratma
Colasoft Packet Builder çeşitli saldırılar için ağları denetlemeye olanak sağlar. Saldırganlar da ağdaki güvenlik duvarlarını ve IDS sistemlerini atlatmaya yarayan parçalı paketler yaratmak için kullanabilirler.
1.1.2. Tarama yöntemleri
Aktif Sistem Kontrol Etme:
ICMP Taraması, hosta ICMP ECHO talepleri göndermektir. Host aktifse ICMP ECHO yanıtı döner. Bu tarama aktif cihazları belirlemede ve ICMP’nin güvenlik duvarını geçip geçmediğini anlamada işe yarar. Nmap kullanılır. nmap –sn ip adresi komutu ile yapılır. Ping Sweep (Ping İstilası), birçok hosta ICMP ECHO talepleri göndererek ip adres aralığındaki aktif hostları belirlemede kullanılır. nmap –sn –PE –PA portlar ip adres aralığı komutu ile yapılır.
Açık Portları Kontrol Etme:
Basit Servis Keşif Protokolü (Simple Service Discovery Protocol/ SSDP) Taraması, ağdaki mevcut tak çalıştır cihazlarını belirlemede UPnP (Universal Plug&Play/Evrensel Tak Çalıştır) ile beraber çalışan ağ protokolüdür. UPnP’deki zafiyetler saldırganın arabellek taşması veya DoS saldırısı başlatmasına izin verebilir. Nmap ile tarama yapılabilir. Kodların sonuna koyulan –reason komutu portun neden açık ya da kapalı olduğunu söyler. Hping2/Hping3 ile yapılabilir.
hping3 -1 ip adresi: ICMP Ping hping3 –A ip adresi –p port numarası: ACK Port tarama
hping3 -2 ip adresi –p port numarası: UDP Port tarama hping3 –s –p port numarası ip adresi SYN
Tarama Teknikleri; TCP Connect/Full Open Scan (TCP Bağlantı/Açık Tarama), three-way handshake ile port açık olduğunda tespit eder. Port kapalıysa hedeften RST paketi döner. nmap –sT komutu ile yapılır. Stealth Scan/Half-open Scan (Gizli Tarama/Yarı Açık Tarama), yarı açık bağlantı yapan three-way handshake tamamlanmadan önce aniden sunucu ve istemci arasındaki TCP bağlantısına reset atar. Saldırganlar güvenlik duvarı kurallarını, loglama mekanizmasını atlatıp kendilerini gizlemek için bunu kullanırlar. Inverse TCP Flag Scanning (Ters TCP Bayrağı Tarama), saldırganlar bir TCP bayrağıyla (FIN, URG, PSH) veya bayraksız araştırma paketleri (probe packets) gönderirler, cevap gelmezse port açık demektir, RST dönerse ise kapalı. Xmas Scan (Xmas Taraması) bunun bir çeşididir. Saldırganlar uzaktaki cihaza FIN, URG ve PUSH bayraklarıyla TCP çerçevesi yollarlar. Portun açık veya kapalı olma durumu Inverse TCP’de anlatıldığı gibi anlaşılır. ACK Flag Probe Scanning (ACK Bayrak Araştırma Taraması), saldırganlar ACK bayrağıyla TCP probe paketlerini uzaktaki cihaza gönderip portun açık mı kapalı mı olduğunu anlamaya çalışan RST paketleriyle alınan başlık (header) bilgisini (TTL ve WINDOW alanı) analiz ederler. Belirli bir porttaki RST paketinin TTL değeri sınır değeri (boundary value) 64’ten azsa veya WINDOW değeri sıfırdan farklıysa port açıktır. ACK Flag Probe’ta saldırganlar rastgele sequence (bölüm) numarası yollarlar cevap yoksa port filtrelidir (filtered) yani güvenlik duvarı vardır, RST yanıtı dönerse port filtresizdir yani güvenlik duvarı yoktur. IDLE/IPID Header Scan (Boş Başlık Taraması), çoğu ağ sunucusu 80 portundaki web sunucular ve 25 portundaki e-posta sunucular gibi TCP portlarını dinler. Uygulama portu dinliyorsa port açık kabul edilir. Portun açık olup olmadığını anlama yollarından biri SYN paketi göndermektir. SYN|ACK paketi geri dönüyorsa port açıktır ve RST dönüyorsa kapalıdır. İstenmeyen SYN|ACK paketi alan bir makine RST ile cevap verir. İstenmeyen RST önemsenmeyecektir. İnternetteki her IP paketi bölümlenme kimliğine (fragment identification/IPID) sahiptir. İşletim sistemi gönderilen her bir paket için IPID’i artırır bu yüzden bir IPID araştırması saldırgana gönderilen paketlerin sayısını verir.
Adım 1: Saldırgan zombi olarak seçtiği makinenin IPID numarasını araştırmak için SYN + ACK paketi yollar. SYN + ACK paketi beklemeyen zombi içinde IPID bulunduran RST paketi ile dönüş yapar.
Adım 2: Saldırgan hedef makinenin 80 portuna zombinin IP adresiyle SYN paketi yollar. Port açıksa hedef SYN + ACK paketi ile zombiye geri dönüş yapar ve zombi de cevap olarak hedefe RST yollar. Port kapalıysa hedef zombiye RST ile geri dönüş yapar ama zombi hedefe herhangi bir şey yollamaz.
Adım 3: Adım 1 tekrarlanır. Sonucunda IPID numarası kontrol edilir eğer 2 artış olmuşsa 80 portunun açık olduğu anlaşılır. UDP Tarama, porta açık olup olmadığı sorulur, cevap yoksa açıktır, ICMP porta erişilemiyor (ICMP Port unreachable) mesajı alınıyorsa port kapalıdır.
Port Taramaya Karşı Önlemler:
- Güvenlik duvarı ve IDS kurallarını probeları belirleyip engellemek için yapılandırmak
- Güvenlik duvarı düzgün şekilde port tarama eylemlerini tespit ediyor mu anlamak için ağdaki hostlara karşı port tarama araçları çalıştırmak
- Routerlarda ve güvenlik duvarlarında yönlendirme ve filtreleme yapan mekanizmanın belli kaynak portlar veya kaynak yönlendirmesi (routing) yöntemleri kullanılarak atlatılamamasını (bypass) sağlamak
- Router, IDS, güvenlik duvarı yazılımlarının (firmware) en güncel şekillerinde olmasını sağlamak
- Ağ kontrol edip güvenlik duvarında istenmeyen portları engelleyen özel kural kullanmak
- Güvenlik duvarları ve Routerlardaki ICMP mesajlarının hepsini filtrelemek (gelen ICMP mesaj türleri ve giden ICMP tip 3 erişilemez mesajları gibi)
- Ağ yapılandırmasını ve mevcut portları kontrol etmek için organizasyonun IP adres uzayına karşı ICMP probelarıyla birlikte TCP ve UDP taraması yapmak
- Taramaya ve kandırmaya (spoofing) karşı olan kuralların yapılandırılmasını sağlamak
IDS’in Ötesini Tarama:
IDS Atlatma Teknikleri; Bölümlenmiş IP paketleri kullanmak, saldırı başlayıp sunucudan gelen cevaplar dinlenirken IP adres kandırması yapmak (spoofing), mümkünse kaynak yönlendirmesi (source routing) kullanmak, Saldırı başlatmak için Vekil (Proxy) sunuculara veya trojan bulaştırılmış makinelere bağlanmak. IP Bölümleme (IP Fragment) Kullanarak SYN/FIN Tarama; TCP header birkaç pakete bölünür böylece paket filtreleri paketlerin ne yapmak istediğini anlayamaz.
nmap –sS T4 –A –f –v ip adresi komutu ile yapılır.
Başlık Yakalama (Banner Grabbing): İşletim sistemi parmak izi (fingerprinting) olarak da bilinir. Uzak hedef sistemde çalışan işletim sistemini belirlemek için kullanılan bir yöntemdir. Aktif Banner Grabbing, özel bir şekilde hazırlanan paketler uzaktaki işletim sistemine gönderilip yanıtlar kaydedilir. Daha sonra yanıtlar işletim sistemini belirlemek için bir veri tabanıyla karşılaştırılır. Farklı işletim sistemlerindeki yanıtlar TCP/IP yığını (stack) uygulamasından dolayı farklılık gösterir. Pasif Banner Grabbing, Hata mesajları (error messages) uzaktaki hedef sistem tarafından kullanılan SSL aracı, işletim sistemi türü, sunucu türü gibi bilgiler sağlar. Ağ trafiği dinlenerek hedefteki paketler yakalanıp analiz edilir böylece işletim sistemi belirlenebilir. URL uzantısını arama uygulama versiyonunu belirlemede yardımcı olabilir. Örneğin .aspx à IIS sunucu ve Windows platformu.
Netcat’te nc –vv domain adı 80 ve GET / HTTP/1.0 komutlarıyla veya
Telnet ile telnet domain adı 80 ve GET / HTTP/1.0 komutlarıyla yapılabilir.
Banner Grabbing’e Karşı Önlemler:
- Banner’ı devre dışı bırakmak ya da değiştirmek (yanlış bannerler göstermek, bilginin açığa çıkmasını sınırlandırmak için ağdaki gereksiz servisleri kapatmak, banner bilgisini devre dışı bırakmak ya da değiştirmek için ServerMask –www.port80software.com- araçlarını kullanmak, “Yeni Sunucu İsmi” girdisi girilen sunucu header’ının banner bilgisini değiştirmek için httpd.conf dosyasındaki direktifi kullanan mod_headers modülü ile Apache 2.x, alternatif olarak httpd.conf dosyasındaki ServerSignature satırını Server Signature Off olarak değiştirmek)
- Web sayfalarındaki dosya uzantılarını gizlemek (web teknolojisini maskelemek için dosya uzantılarını gizlemek, sunucuların kimliğini gizlemek için .asp gibi uygulama haritalamalarını .htm veya .foo ile değiştirmek, Apache kullanıcıları mod_negotiation direktiflerini kullanabilirler, IIS kullanıcıları da dosya uzantılarını yönetmek için PageXchanger gibi araçları kullanabilirler)
Zafiyet Tarama: En iyi araç Nessus. OpenVas de bir zafiyet tarama aracıdır.
Ağ Şemaları Çizme: Network Topology Manager bunun için kullanılan bir araçtır.
Vekil Sunucular (Proxy) Hazırlama: Vekil (Proxy) sunucu başka bilgisayarla iletişim kurmada bir aracı olarak hizmet edebilen bir uygulamadır. Kaynak ip adresini saklar, saldırgan Vekil (Proxy)’nin sahte kaynak adresini taklit ederek saldırısının asıl kaynağını maskeler, normalde girmesi yasak olan web sitesi kaynaklarına ve iç ağlara uzaktan erişim sağlar, kullanıcıdan gönderilen taleplerin arasına girip onları üçüncü hedefe iletir bu yüzden kurbanlar sadece Vekil (Proxy) sunucu adresini belirleyebilir, saldırganlar tespit edilmenin önüne geçmek için birden fazla Vekil (Proxy) sunucuyu birbirine bağlar. Vekil (Proxy) Switcher ziyaret edilen web sitelerinde ip adresini saklar. TOR, ağ izlemelerine ve trafik analizlerine karşı gizliliğini korur ve kendini savunmanı sağlar. CyberGhost, çevrimiçi gizlilik, gizlice dolaşma ve sansürlenmiş veya engellenmiş içerik erişimi sağlar, IP’ni gizler ve tercihine göre değiştirir.
Google’da birçok “free proxy server” vardır. Anonymizers, internette gezinirken kullanıcı bilgisayarındaki tüm tanımlı bilgileri temizler. İnternette izlenmenin önüne geçer. Sansürlü interneti atlatmayı sağlar. Tails, aktif bir işletim sistemidir, kullanıcı bilgisayar üzerindeki DVD’den, USB bellekten hafıza kartından başlatabilir. Gizlice internette gezinmeyi ve sansürden kurtulmayı sağlar. Bilgisayarda herhangi bir iz bırakmaz. Dosyaları, mailleri ve anlık mesajlaşmayı şifrelemek (encrypt) için son model şifreleme kullanır. G-Zapper, kullanıcının web eylemlerini (arama anahtar sözcükleri, arama sonuçları, gezilen web siteleri gibi) ve izlemeyi sağlayan bir tanımlayıcıyla (unique identifier) kullanıcı sistemindeki çerezleri (cookie) düzenler. Google çerezlerindeki bilgi mahkemede delil olarak kullanılabilir. Anonymizers için kral araç Ultrasurf’tür (rakibi websense).
IP Adres Sızdırma kaynak IP adresini değiştirmektir böylece saldırı başka birinden geliyormuş gibi görünür. hping3 –s –p port numarası saldırılacak ip adresi –a spoof edilecek ip adresi komutuyla yapılır. Bu komutun sonuna –rand-source –flood eklenirse bir sürü ip ile ethernet kartı hızı kadar saldırı yapar. Hem spoof hem DDoS olmuş olur.
IP Sızdırma Anlama Teknikleri; Direk TTL Araştırması (Direct TTL Probes), yanıtlamaya yol açıp şüpheli paketteki TTL’i karşılaştıran spoof edilmiş şüpheli paketin hostuna paket gönderilir. Cevaptaki TTL kontrol edilen pakettekiyle aynı değilse spoof edilmiş pakettir. Bu teknik saldırgan kurbandan farklı subnetteyse etkilidir. IP Kimlik Numarası (IP Identification Number), yanıtlamaya yol açıp şüpheli trafikteki IP ID’sini karşılaştıran spoof edilmiş şüpheli trafiğin hostuna probe gönderilir. IP IDleri kontrol edilen pakettekine yakın bir değerde değilse şüpheli trafik spoof edilmiştir. Bu teknik saldırgan aynı subnete olsa bile etkilidir. TCP Akışı Kontrol Yöntemi (TCP Flow Control Method), spoof edilmiş TCP paketleri gönderen saldırganlar hedefin SYN-ACK paketlerini almazlar. Bu yüzden saldırganlar pencere büyüklüğü tıkanmasındaki (congestion window size) değişimlere cevap veremezler. Alınan trafik window size tükendikten sonra devam ediyorsa yüksek ihtimalle paketler istismar (spoof) edilmiştir.
IP Sızdırma’ya Karşı Önlemler:
- Tüm ağ trafiğini IPsec, TLS, SSH ve HTTPs gibi şifrelenmiş ağ protokolleriyle şifrelemek
- Çok katmanlı koruma derinliği sağlayan birçok güvenlik duvarı kullanmak
- IP tabanlı doğrulamaya bel bağlamamak
- Sequence numarası spoof etmeye dayanan IP spoofing saldırılarını önlemek için ilk sequence numarasını rastgele kullanmak
- Giren Filtreleme: İç IP adresinden geliyormuş gibi görünen paketleri filtrelemek için ağın perimetresinde (DMZ) güvenlik duvarları ve routerlar kullanmak
- Çıkan Filtreleme: Kaynak adres olarak geçersiz yerel IP adresle çıkan tüm paketleri filtrelemek
Sızma Testi Taraması: Sızma testi, yasal olarak ağ istismar girişiminde bulunarak aktif sistemleri belirleyip, açık portları, ortak servisleri, banner grabbing sistemini keşfederek ağın güvenlik durumuna karar verir. Sistem yöneticilerine; kapatılacak kullanılmayan portlar, devre dışı bırakılacak gereksiz servisler, gizlenecek veya özelleştirilecek bannerlar, sorunları giderilecek servis yapılandırma hataları ve ayarlanacak güvenlik duvarı kuralları hakkında bir rapor sunar.
1.1.3. Ağ analizi sızma testi
Penetrasyon Testi Taraması; Host keşfi yapılır (Nmap, Angry IP scanner vb.) à Port taraması yapılır (Nmap, Netscan Tools Pro vb.) à Banner grabbing/İşletim sistemi fingerprinting yapılır (Telnet, Netcraft, ID Serve vb.) à Zafiyet taranır (Netsus, SAINT, GFI LANGuard vb.) à Ağ şemaları çizilir (Network Topology Mapper, OpManager vb.) à Vekil (Proxy)ler hazırlanır (Proxy Workbench, Proxifier, Proxy Switcher vb.) à Tüm bulgular dokümante edilir.