Adli Bilişim (Forensics) CTF Nasıl Çözülür?
Adli bilişim CTF soruları sana bir dosya ya da veri yığını verir ve içine gizlenmiş ipucunu bulmanı ister. Bu rehberde iz sürme mantığını ve file, strings, Wireshark, exiftool gibi araçları sıfırdan, örnekle öğreneceksin.
- Forensics = verilen dosyanın içindeki gizli izi bulma sanatı; sistemi kırmak değil, incelemek.
- İlk komutların her zaman file ve strings olsun — kolay soruların çoğu burada çözülür.
- pcap dosyaları için Wireshark'ta 'Follow TCP Stream' en güçlü hamlendir.
- Metadata (exiftool) ve dosya oymalama (binwalk) gizlenmiş veriyi ortaya çıkarır.
- Not al, her ipucunu kaydet; forensics sabır ve düzen işidir.
Forensics (Adli Bilişim) CTF'te Ne Demek?
Adli bilişim, bir olayın izlerini bir dosyanın ya da veri kaydının içinde arayıp bulma işidir. CTF'te bu kategoride sana genelde tek bir dosya verilir: bir resim, bir .pcap ağ kaydı, bir log dosyası ya da bozuk görünen bir dosya. Görevin, içine gizlenmiş flag'i (bayrağı) ortaya çıkarmaktır.
Önemli bir ayrım: burada bir sistemi "hacklemiyorsun". Sadece elindeki delili inceliyorsun. Tüm bu teknikleri yalnızca yetkili, eğitim amaçlı ortamlarda — yani CTF sahasında ya da kendi dosyalarında — uygularsın. CTF nedir hiç duymadıysan önce CTF Nedir? sayfasına göz atman iyi olur.
İz Sürme Mantığı: Detektif Gibi Düşün
Forensics'te en büyük hata, panikleyip her aracı rastgele denemektir. Bunun yerine üç soruyla ilerle:
- Elimde ne var? Dosyanın gerçek türü ne? (Uzantı yalan söyleyebilir.)
- Bu dosya normalde neye benzer? Sağlam bir örnekle karşılaştır.
- Anormal olan ne? Fazladan veri, gizli metin, garip bir paket — flag genelde oradadır.
Bir de not defteri tut. Denediğin her komutu ve çıktısını kaydet. Forensics soruları katman katmandır; iki saat sonra "şu ipucu neredeydi" demek istemezsin.
İlk İki Komut: file ve strings
Her forensics sorusuna bu ikisiyle başla. Önce dosyanın gerçekte ne olduğunu öğren:
file gizli.png
Çıktı sana PNG image data yerine Zip archive derse, uzantı seni kandırıyor demektir — dosya aslında bir arşivdir. İkinci adımda dosyanın içindeki okunabilir metinleri tara:
strings gizli.png | grep -i flag
strings komutu, ikili (binary) bir dosyanın içindeki insan tarafından okunabilir yazıları döker. grep ile de sadece işine yarayanı süzersin. Kolay seviye soruların şaşırtıcı bir kısmı tam olarak burada çözülür.
Hex Editör ve Dosya İmzaları
Bazen bir dosya bozuk gibi açılmaz. Sebebi genelde dosya imzasının (magic bytes) değiştirilmiş olmasıdır. Her dosya türü belli baytlarla başlar: PNG dosyaları 89 50 4E 47, JPG dosyaları FF D8 FF ile. Bir hex editörle (ya da xxd ile) dosyanın başına bakabilirsin:
xxd gizli.jpg | head
İlk baytlar bir PNG imzasıyken uzantı .jpg ise, dosyayı .png olarak açman yeter. İz sürme mantığı burada da geçerli: "beklediğim şey" ile "gördüğüm şey" farklıysa, cevap o farkta gizlidir.
Metadata: Dosyanın Gizli Künyesi
Fotoğraflar ve belgeler, içeriğinin yanında bir de "künye" (metadata) taşır: çekildiği tarih, konum, yazar, yorum alanları. CTF'te flag sık sık bu alanlara saklanır. En pratik araç exiftool:
exiftool foto.jpg
Çıktıdaki Comment, Artist ya da Description gibi alanlara özellikle dikkat et. Bu teknik gerçek hayatta da bir görselin nereden geldiğini anlamaya yarar — OSINT sorularında da işine yarayacak.
Ağ Trafiği (pcap) ve Wireshark
.pcap ya da .pcapng uzantılı bir dosya, kaydedilmiş ağ trafiğidir — yani bilgisayarların birbirine gönderdiği paketlerin dökümü. Bunları Wireshark ile açarsın. Yeni başlayan biri için en değerli üç hamle:
- Follow TCP Stream: Bir pakete sağ tıkla → Follow → TCP Stream. İki taraf arasındaki tüm konuşma tek pencerede, okunur halde önüne gelir. Flag genelde buradadır.
- Filtre çubuğu: Üstteki kutuya
http,dnsya daftpyazıp Enter'a bas. Sadece o türden paketleri görürsün. - File → Export Objects → HTTP: Trafikte transfer edilmiş dosyaları (resim, belge) tek tıkla çıkarır.
Terminali sevenler aynı işi tshark ile de yapar:
tshark -r kayit.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
Bu komut, kayıttaki tüm HTTP isteklerinin gittiği adresleri listeler. Ağ konusunu sevdiysen web kategorisi de sana yakın gelecektir.
Log Analizi ve Dosya Oymalama (Carving)
Log analizi, saldırının izini kayıt satırlarında bulmaktır. Binlerce satırlık bir sunucu logunda gözle arama yapmazsın; süzersin:
grep "admin" access.log | grep "200"
Anormal bir IP, tekrar tekrar denenen bir istek ya da olmaması gereken bir başarı kodu — sorunun cevabı çoğu zaman bu sapmadır.
Dosya oymalama (carving) ise, bir dosyanın içine gizlenmiş başka bir dosyayı çıkarmaktır. Örneğin bir PNG'nin sonuna bir ZIP eklenmiş olabilir. binwalk bunu bulup çıkarır:
binwalk -e resim.png
Alternatif olarak foremost resim.png komutu da gömülü dosyaları imzalarına göre kurtarır. Bu mantık, bir resmin içine veri saklamaya dayanan stego sorularıyla da kardeştir.
Nereden Başlamalı?
Kısa bir alışkanlık edinerek başla: her dosyaya file ve strings ile bak, sonra türüne göre exiftool, Wireshark ya da binwalk'a geç. İlk birkaç soruyu çözdüğünde iz sürme refleksin kendiliğinden gelişir.
Öğrendiklerini denemek için doğrudan forensics challenge'larına geçebilirsin. Diğer kategorilere de bakmak istersen Rehber ana sayfasında hepsi seni bekliyor. Sabırlı ol, not al ve her ipucunu takip et — forensics tam olarak bunun için var.
Sıkça Sorulan Sorular
Forensics çözmek için programlama bilmem şart mı?
Başlangıç için şart değil. Kolay ve orta seviye soruların çoğu file, strings, Wireshark ve exiftool gibi hazır araçlarla çözülür. İlerledikçe küçük Python betikleri işini kolaylaştırır ama temel refleksleri kazanmak için önce araçlarla pratik yapman yeterli.
Hangi araçları kurmalıyım?
En temel set: file, strings, xxd, grep (çoğu Linux'ta hazır gelir), ayrıca exiftool, binwalk, foremost ve Wireshark. Bunları bir Linux ortamına ya da hazır bir CTF dağıtımına kurarsan başlangıç için gerekenlerin neredeyse tamamına sahip olursun.
pcap dosyası tam olarak nedir?
pcap, kaydedilmiş ağ trafiğidir; yani bilgisayarların bir süre boyunca birbirine gönderdiği paketlerin dökümüdür. Wireshark ile açıp içindeki konuşmaları, transfer edilen dosyaları ve gizlenmiş flag'i inceleyebilirsin. 'Follow TCP Stream' özelliği başlangıç için en çok işine yarayacak yerdir.
Flag'i bulduğumu nasıl anlarım?
Flag'ler genelde belli bir formatta olur, örneğin bir kısaltma ve süslü parantez içinde bir metin şeklinde. strings ya da grep çıktısında bu kalıba uyan bir dize görürsen doğru yoldasındır. Emin değilsen bulduğun dizeyi platforma girip dener, geri bildirime göre ilerlersin.
Windows'ta mı yoksa Linux'ta mı çalışmalıyım?
Forensics araçlarının çoğu Linux'ta çok daha rahat çalışır ve strings, grep gibi komutlar hazır gelir. Windows kullanıyorsan WSL ya da bir sanal makine ile Linux ortamı kurman en pratik yoldur. Wireshark ve exiftool ise her iki sistemde de sorunsuz çalışır.
Hadi pratiğe dök
Bu rehberdeki teknikleri Adli Bilişim kategorisindeki gerçek challenge’larda dene.
Adli Bilişim Challenge’ları →