İçeriğe atla
0 XP 0
← Blog
Eğitim

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.

Yazan: AltaySec AkademiSon güncelleme: 6 dk okuma

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:

KategoriSana ne verilirBayrağa nasıl ulaşırsınÖnkoşul
WebBir site adresi, bazen kaynak koduUygulamanın mantık ya da girdi hatasını bulursunHTTP, tarayıcı geliştirici araçları
KriptografiŞifreli ya da kodlanmış metin, bazen şifreleme koduKodlamayı çözer ya da yanlış kullanılan şifrelemeyi kırarsınKodlama ile şifreleme farkı, temel Python
ForensicsAğ kaydı, disk imajı, bellek dökümü ya da bir dosyaKayıtta iz sürer, gizlenmiş veriyi çıkarırsınDosya türleri, komut satırı, Wireshark
Tersine mühendislikDerlenmiş bir programProgramın neyi kontrol ettiğini anlarsınProgramlama, temel assembly okuma
PwnProgram ve bir sunucu adresiBellek hatasını kullanıp servisten bayrağı alırsınC, Linux, hata ayıklayıcı, tersine mühendislik
OSINTBir fotoğraf, kullanıcı adı ya da kısa hikâyeAçık kaynaklardan bilgiyi bulup doğrularsınArama teknikleri, sabır
MiscYukarıdakilere sığmayan bulmacaDeğişirMerak 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 kategoriNeden
Web geliştiriyorsunWebKriptografiHTTP, çerez ve form mantığını zaten biliyorsun
Matematik ya da bulmaca seviyorsunKriptografiMiscÖrüntü bulmak ve küçük hesaplar senin alanın
Ağ ya da sistem yöneticisisinForensicsWebPaket ve günlük okumak sana tanıdık
C ya da gömülü sistem yazıyorsunTersine mühendislikPwnBelleği ve derleyiciyi anlıyorsun
Araştırmayı ve iz sürmeyi seviyorsunOSINTForensicsKaynak bulma ve doğrulama becerin hazır
Hiçbir alanda deneyimin yokMisc ve temel kriptografiForensicsKomut 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, exiftool ve 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:

KategoriSahadaki karşılığı
WebWeb uygulaması sızma testi, bug bounty
ForensicsSOC analistliği, olay müdahalesi, adli bilişim
Tersine mühendislikZararlı yazılım analizi
PwnZafiyet araştırması, istismar geliştirme
KriptografiKripto sistemlerin denetimi, güvenli yazılım
OSINTTehdit 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:

  1. Altı kategorinin her birinden en kolay iki soruyu seç.
  2. Her soruya en fazla bir saat ayır.
  3. Her sorudan sonra iki şeyi not et: ne kadar ilerledin, ne kadar keyif aldın.
  4. İkinci haftanın sonunda en yüksek iki kategoriyi ana ve yedek alan olarak belirle.
  5. 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

İlgili yazılar

Okuduğunu uygula.
Yollarda ders ders ilerle, alıştırmalarla pekiştir.
Başla