CTF'ye başlamak: kategoriler, temel araçlar ve yasal pratik ortamları
CTF (Capture The Flag), siber güvenlik becerilerini oyunlaştırılmış görevlerle geliştirdiğin yarışmalardır. Amaç, bir zafiyeti bulup sömürerek ya da bir bulmacayı çözerek gizlenmiş "bayrağı" (flag{...} biçiminde bir metin) ele geçirmektir. Sızma testi kariyerine ilgi duyanlar için en iyi pratik yollarından biridir.
Önce yasal sınır
Öğrendiğin teknikleri yalnızca izin verilen ortamlarda kullan. Sahibinden yazılı izin almadan bir sistemi taramak, zafiyet denemek ya da erişim sağlamaya çalışmak Türkiye'de de suçtur (TCK'nın bilişim suçlarına ilişkin maddeleri). Aşağıdaki platformlar tam olarak bu iş için kurulmuştur.
CTF kategorileri
- Web: SQL injection, XSS, kimlik doğrulama hataları, dosya yükleme açıkları.
- Kriptografi (Crypto): Zayıf şifreleme, yanlış kullanılan algoritmalar, kodlama çözme.
- Tersine mühendislik (Reverse): Derlenmiş bir programın ne yaptığını anlamak.
- Binary sömürme (Pwn): Bellek hatalarından yararlanarak programın akışını değiştirmek.
- Adli bilişim (Forensics): Disk imajı, ağ trafiği ya da dosyalardan iz bulmak.
- OSINT: Açık kaynaklardan bilgi toplamak.
- Misc: Diğer her şey.
Yeni başlayanlar için web, forensics ve kolay crypto soruları genellikle en erişilebilir olanlardır.
Pratik yapılacak platformlar
- PicoCTF: Eğitim odaklı, başlangıç için çok uygun.
- OverTheWire (Bandit): Linux komut satırını oyun gibi öğretir; diğer her şeyin temeli.
- TryHackMe: Rehberli odalar, tarayıcıdan erişilen makineler.
- Hack The Box: Daha gerçekçi makineler ve aktif yarışmalar.
- PortSwigger Web Security Academy: Web zafiyetleri için ücretsiz ve çok kapsamlı laboratuvarlar.
Temel araçlar
- Linux: Kali Linux ya da Parrot gibi dağıtımlar araçları hazır getirir; bir sanal makineye kurmak yeterlidir.
- Burp Suite (Community): Web isteklerini yakalayıp değiştirmek için.
- nmap: Port ve servis taraması (yalnızca izinli hedeflerde).
- CyberChef: Kodlama, şifreleme ve dönüştürme işlemleri için tarayıcı tabanlı "İsviçre çakısı".
- Ghidra: Ücretsiz tersine mühendislik aracı.
- Wireshark: Ağ trafiği analizi.
- Python: Neredeyse her kategoride küçük betikler yazman gerekecek.
Nasıl ilerlemeli?
- Önce Linux komut satırına ve temel ağ kavramlarına (IP, port, HTTP) alış. Bandit bunun için idealdir.
- Bir kategori seç ve orada derinleş; her şeyi aynı anda öğrenmeye çalışmak yorar.
- Çözemediğin soruların yarışma sonrası yayımlanan çözümlerini (writeup) oku ve kendin tekrar dene.
- Kendi çözümlerini yaz. Hem öğrendiğini pekiştirir hem de ileride iş başvurularında portföy olur.
- CTFtime.org'dan yaklaşan yarışmaları takip edip bir takıma katıl ya da takım kur.
Takıldığın bir soru olursa bu konunun altında sorabilirsin; devam eden bir yarışmanın sorularını ise kurallar gereği yarışma bitene kadar paylaşmamanı rica ederiz.