CTF Kategorileri: Hangisiyle Başlamalısın?
CTF kategorileri arasında kararsız mısın? Web, kripto, forensics, reverse ve pwn'ın senden ne istediğini ve geçmişine göre nereden başlayacağını öğren.
CTF kategorileri, Jeopardy türü yarışmalarda soruların gruplandığı alanlardır: web, kriptografi, forensics (adli bilişim), tersine mühendislik, pwn, OSINT ve misc. Hangisiyle başlayacağın geçmişine bağlıdır. Web geliştiren biri web sorularında, matematik seven biri kriptografide, ağ ve sistemle uğraşan biri forensics'te daha hızlı ilerler. Pwn neredeyse herkes için en sona kalır. Bu yazı seçimini yapmana yardım eder.
CTF'in ne olduğunu, bayrağın ne demek olduğunu ve yarışma türlerini henüz bilmiyorsan önce CTF nedir, ne demek yazısını oku. Bu sayfa doğrudan kategori seçimine odaklanır.
CTF kategorileri neler ve her biri senden ne ister?
CTFtime, Jeopardy türü yarışmaları web, forensics, kripto ve binary gibi kategorilere ayrılmış görevler olarak tanımlar. Adlar yarışmadan yarışmaya değişir. "Binary" bazen pwn ile tersine mühendisliği birlikte kapsar, steganografi bazen forensics altında, bazen ayrı bir başlıkta yer alır.
Bir kategoriyi tanımanın en pratik yolu, sorunun sana ne verdiğine bakmaktır:
| Kategori | Sana ne verilir | Bayrağa nasıl ulaşırsın | Önkoşul |
|---|---|---|---|
| Web | Bir site adresi, bazen kaynak kodu | Uygulamanın mantık ya da girdi hatasını bulursun | HTTP, tarayıcı geliştirici araçları |
| Kriptografi | Şifreli ya da kodlanmış metin, bazen şifreleme kodu | Kodlamayı çözer ya da yanlış kullanılan şifrelemeyi kırarsın | Kodlama ile şifreleme farkı, temel Python |
| Forensics | Ağ kaydı, disk imajı, bellek dökümü ya da bir dosya | Kayıtta iz sürer, gizlenmiş veriyi çıkarırsın | Dosya türleri, komut satırı, Wireshark |
| Tersine mühendislik | Derlenmiş bir program | Programın neyi kontrol ettiğini anlarsın | Programlama, temel assembly okuma |
| Pwn | Program ve bir sunucu adresi | Bellek hatasını kullanıp servisten bayrağı alırsın | C, Linux, hata ayıklayıcı, tersine mühendislik |
| OSINT | Bir fotoğraf, kullanıcı adı ya da kısa hikâye | Açık kaynaklardan bilgiyi bulup doğrularsın | Arama teknikleri, sabır |
| Misc | Yukarıdakilere sığmayan bulmaca | Değişir | Merak ve betik yazma |
Tablonun son sütunu seçimin anahtarıdır. Önkoşulu sende olan kategoride ilk bayrağı çabuk alırsın. İlk bayrak, sonraki haftalar için en güçlü motivasyondur.
Hangi CTF kategorisiyle başlamalısın?
Herkes için geçerli tek bir sıra yoktur. Kimi rehber web ve kriptografiyle, kimi kriptografi, steganografi ve OSINT ile başlamayı önerir. İkisi de geçerlidir, çünkü belirleyici olan senin geçmişin. Aşağıdaki tabloda kendine en yakın satırı bul:
| Geçmişin | İlk kategori | İkinci kategori | Neden |
|---|---|---|---|
| Web geliştiriyorsun | Web | Kriptografi | HTTP, çerez ve form mantığını zaten biliyorsun |
| Matematik ya da bulmaca seviyorsun | Kriptografi | Misc | Örüntü bulmak ve küçük hesaplar senin alanın |
| Ağ ya da sistem yöneticisisin | Forensics | Web | Paket ve günlük okumak sana tanıdık |
| C ya da gömülü sistem yazıyorsun | Tersine mühendislik | Pwn | Belleği ve derleyiciyi anlıyorsun |
| Araştırmayı ve iz sürmeyi seviyorsun | OSINT | Forensics | Kaynak bulma ve doğrulama becerin hazır |
| Hiçbir alanda deneyimin yok | Misc ve temel kriptografi | Forensics | Komut satırı ve kodlama ile hızlı ilerlersin |
Tablo bir başlangıç önerisidir, kural değildir. İlk iki hafta seçtiğin iki kategoride kolay sorular çöz. Keyif almıyorsan bir sonraki satıra geç.
Her kategoride ilk hafta neyi öğrenmelisin?
İlk hafta amaç ustalık değil, sorunun dilini öğrenmektir. Her kategori için en küçük başlangıç seti şöyle:
- Web: İstek ve yanıt yapısı, çerezler, tarayıcının ağ sekmesi. Sonra istekleri yakalayıp değiştirmek için Burp Suite gibi bir vekil araç kullanmayı öğren.
- Kriptografi: Base64, onaltılık gösterim, ROT13 ve XOR. Kodlamanın şifreleme olmadığını kavra. Simetrik ve asimetrik şifrelemenin farkını da bu hafta öğren.
- Forensics:
file,strings,exiftoolve bir onaltılık görüntüleyici. Ağ kayıtları için Wireshark filtrelerini öğren. - Tersine mühendislik: Programı çalıştırmadan incelemek, fonksiyonları ve karşılaştırmaları bulmak. Bunun için Ghidra iyi bir başlangıçtır.
- OSINT: Arama operatörleri, görsel arama ve kaynak doğrulama. Bulduğun her bilgiyi en az iki kaynaktan doğrulamayı alışkanlık hâline getir.
- Misc: Linux komut satırı ve kısa Python betikleri. Çoğu misc sorusu bu ikisinin birleşimidir.
Her kategoride ortak tek şey komut satırıdır. Dosya bulmak, metin süzmek ve küçük bir betik çalıştırmak hemen her soruda işine yarar.
Pwn ve tersine mühendislik neden sona bırakılır?
Bu iki kategori en çok önkoşul isteyen alanlardır. Bir pwn sorusunu çözmek için önce programın ne yaptığını anlaman gerekir. Bu tersine mühendisliktir. Programı anlamak için de C, yığın yapısı, kayıtçılar ve hata ayıklayıcı bilgisi gerekir.
picoCTF'in başlangıç kitabı olan picoCTF Primer bu sırayı izler: önce kabuk, ardından forensics, Python, web açıkları ve kriptografi, en sonda C dili, ikili istismar ve assembly. Bu sıra, her konunun bir öncekinin üzerine kurulduğunu gösterir.
Pwn'a erken atlarsan hazır çözümleri kopyalayıp neden çalıştığını anlamadan ilerlersin. Bunun yerine önce birkaç tersine mühendislik sorusu çöz. Bir programın girdiyi nerede kontrol ettiğini bulabildiğin gün, pwn sorusuna hazırsın demektir.
CTF kategorileri gerçek işlerde neye karşılık gelir?
Kategori seçimi kariyer planınla da bağlantılıdır. Her kategori, sahada bir iş alanının küçük bir provasıdır:
| Kategori | Sahadaki karşılığı |
|---|---|
| Web | Web uygulaması sızma testi, bug bounty |
| Forensics | SOC analistliği, olay müdahalesi, adli bilişim |
| Tersine mühendislik | Zararlı yazılım analizi |
| Pwn | Zafiyet araştırması, istismar geliştirme |
| Kriptografi | Kripto sistemlerin denetimi, güvenli yazılım |
| OSINT | Tehdit istihbaratı, sosyal mühendislik testleri |
Hedeflediğin bir rol varsa ana kategorini ona göre seç, yedek kategoriyi keyfine bırak. Henüz bir hedefin yoksa tersini yap: keyif aldığın kategori sana hangi işe yatkın olduğunu gösterir.
Kategori seçerken hangi hatalar zaman kaybettirir?
Yeni başlayanların sık düştüğü tuzaklar şunlar:
- Puana göre seçmek: Yüksek puanlı soru zordur. Başlangıçta puanı değil, çözülebilirliği seç.
- Önce araç kurmak: Onlarca aracı kurup hiçbirini kullanmamak sık görülür. Aracı, ona ihtiyaç duyduğun soruda öğren.
- Tek soruda saatlerce kalmak: Bir saat ilerleme yoksa ipucuna ya da başka soruya geç. Yarışma bitince çözüm yazısını oku.
- Çözüm yazısını okuyup geçmek: Okuduğun çözümü kapatıp soruyu kendin yeniden çöz. Öğrenme orada olur.
- Komut satırını atlamak: Her kategoride gerekir. Eksikse önce onu tamamla.
Kendine uygun kategoriyi nasıl test edersin?
İki haftalık basit bir deneme planı kategorini netleştirir:
- Altı kategorinin her birinden en kolay iki soruyu seç.
- Her soruya en fazla bir saat ayır.
- Her sorudan sonra iki şeyi not et: ne kadar ilerledin, ne kadar keyif aldın.
- İkinci haftanın sonunda en yüksek iki kategoriyi ana ve yedek alan olarak belirle.
- Sonraki ay yalnız bu iki kategoride, zorluğu yavaşça artırarak çalış.
Deneme için çevrimiçi ve ücretsiz ortamlar yeterli. Akademinin CTF Arena bölümündeki görevler web, kriptografi, forensics, tersine mühendislik, steganografi ve OSINT gibi kategorilere ayrılmıştır. Antrenman düzenini Pratik Arena rehberinde, diğer yasal platformları ücretsiz hacking pratik siteleri listesinde bulabilirsin. Hazır hissettiğinde CTFtime takviminden yeni başlayanlara uygun bir yarışma seç ve bir takımla katıl.
Son bir sınır: yalnız yarışmanın sana verdiği hedeflerde çalış. Yarışma altyapısına ya da kapsam dışı sistemlere yönelmek kural ihlalidir ve Türk Ceza Kanunu açısından suç oluşturabilir. Ayrıntılar hacking yasal mı yazısında.
Kaynaklar
Sık sorulan sorular
CTF'de en kolay kategori hangisi?
Herkes için tek bir kolay kategori yok. Yeni başlayanlar genellikle misc, temel kriptografi ve forensics sorularında ilk bayrağı daha çabuk alır, çünkü bu sorular çoğu zaman kodlama çözme, dosya inceleme ve komut satırı bilgisi ister. Web geliştirme geçmişin varsa web soruları sana daha kolay gelir. Pwn ise ön bilgi istediği için genellikle en zorudur.
Programlama bilmeden CTF kategorilerine başlanır mı?
Başlanır. OSINT, misc ve başlangıç düzeyi forensics soruları çoğunlukla araç ve mantıkla çözülür. Yine de kısa sürede Python'da dosya okumayı, döngü kurmayı ve metin işlemeyi öğrenmen gerekir. Kriptografi ve tersine mühendislik sorularının çoğu küçük bir betik ister. Kodu soruyla birlikte öğrenmek, ayrı bir kursla başlamaktan daha kalıcı olur.
Pwn ile tersine mühendislik arasındaki fark nedir?
Tersine mühendislikte derlenmiş bir programın ne yaptığını anlar ve çoğu zaman gizli bir doğrulamayı çözersin. Pwn sorusunda ise programdaki bellek hatasını kullanarak akışını değiştirir, genellikle uzaktaki bir servisten bayrağı alırsın. Pwn, tersine mühendisliği önkoşul olarak kullanır. Bu yüzden çoğu öğrenme yolu önce tersine mühendisliği, sonra pwn'ı öğretir.
Steganografi ayrı bir CTF kategorisi mi?
Yarışmaya göre değişir. Bazı yarışmalar steganografiyi ayrı kategori olarak açar, bazıları forensics ya da misc altında toplar. İçerik aynıdır: bir görselin, ses dosyasının ya da belgenin içine gizlenmiş veriyi bulursun. Kategori adına takılma. Sorunun sana hangi dosyayı verdiğine ve hangi beceriyi ölçtüğüne bak.
Takımda hangi CTF kategorisini seçmeliyim?
Takımın boş kalan kategorisini seç, ama ilk ay birkaç kategoriyi dene. İyi bir takımda her kategoride en az bir kişi derinleşir, diğerleri yardımcı olur. Bir ana kategori ve bir yedek kategori belirlemek iyi bir dengedir. Yarışmadan sonra çözümlerinizi birbirinize anlatın, böylece herkes diğer kategorilerin mantığını da öğrenir.
- CTF
- CTF kategorileri
- web
- kriptografi
- pwn