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

CTF Nedir? Capture The Flag Yarışmalarına Başlangıç Rehberi

CTF (Capture The Flag), katılımcıların içine bilerek zafiyet ya da bulmaca yerleştirilmiş görevleri çözüp flag adı verilen gizli bir metni bulduğu yasal siber güvenlik yarışmasıdır. Her doğru flag puan getirir. Web, kriptografi, adli bilişim ve tersine mühendislik gibi kategorilerde hem öğrenmek hem de beceriyi ölçmek için kullanılır.

Yazan: Fevzi Ege YurtsevenlerSon güncelleme: İlk yayın: 6 dk okuma

Siber güvenliği okuyarak öğrenmek bir yere kadar gider. Bir noktadan sonra elini klavyeye koyman, bir şeyi kırman ve neden kırıldığını anlaman gerekir. CTF yarışmaları tam olarak bunun için var. Bu rehber CTF'in ne olduğunu, türlerini ve kategorilerini anlatıyor, ilk görevini adım adım çözüyor ve ücretsiz pratik için nereden başlayacağını gösteriyor.

CTF nedir?

CTF, İngilizce "Capture The Flag" yani "bayrağı ele geçir" ifadesinin kısaltmasıdır. Düzenleyiciler, içine bilerek zafiyet ya da bulmaca yerleştirdikleri görevler hazırlar. Her görevin sonunda gizli bir metin durur. Bu metne flag (bayrak) denir ve genelde flag{...} ya da ALTAY{...} gibi belirli bir biçimi vardır. Flag'i bulup puan tablosuna girdiğinde görevin puanını kazanırsın.

CTF'i sıradan bir sınavdan ayıran şey, cevabın bir seçenek listesinde durmamasıdır. Flag'e ulaşmak için dosyayı incelemen, trafiği okuman, kodu çözmen ya da bir web uygulamasının mantık hatasını bulman gerekir. Yani CTF bilgiyi değil, bilgiyi kullanma becerisini ölçer.

Yarışmalar iki biçimde karşına çıkar. Zamanlı etkinlikler genelde 24 ya da 48 saat sürer ve sonunda bir sıralama çıkar. Sürekli açık pratik platformlarında ise süre yoktur, kendi hızında ilerlersin. Bunlara "wargame" da denir.

Bir kural her iki biçimde de aynıdır: yalnız düzenleyicinin sana verdiği hedeflerle çalışırsın. Yarışma altyapısına, diğer takımlara ya da kapsam dışı bir sisteme saldırmak hem kurallara hem yasaya aykırıdır.

CTF türleri: Jeopardy, Attack-Defense ve King of the Hill

CTF'ler oynanış biçimine göre üç ana türe ayrılır. Yeni başlayanların neredeyse hepsi Jeopardy ile başlar.

TürNasıl oynanırSüre ve takımKime uygun
JeopardyKategorilere ayrılmış, her biri ayrı puanlı görevler çözülür. Zor görev daha çok puan getirir.Çoğunlukla çevrim içi, 24-48 saat; bireysel ya da takımYeni başlayanlar ve her seviyeden oyuncu
Attack-DefenseHer takıma aynı zafiyetli servisler verilir. Kendi servisini yamalarken rakip servislerden flag toplarsın.Turlar hâlinde, birkaç saatten iki güne; takım işiDeneyimli takımlar, çoğu zaman finaller
King of the HillOrtak bir hedef makineyi ele geçirmeye ve kontrolü elde tutmaya çalışırsın. Kontrol süresi puana dönüşür.Etkinliğe göre değişir; takım ya da bireyselSaldırı ve savunmayı birlikte denemek isteyenler

Bazı büyük etkinlikler iki türü birleştirir. Eleme turu Jeopardy olur, finale kalan takımlar Attack-Defense oynar.

Jeopardy'de her görev bağımsızdır, takılırsan başka göreve geçebilirsin. Attack-Defense'te ise sistem yönetimi, izleme ve hızlı yama becerisi en az saldırı kadar önemlidir. Mavi takım işine ilgi duyuyorsan bu tür sana gerçek bir savunma pratiği sunar.

CTF kategorileri nelerdir?

Jeopardy görevleri kategorilere ayrılır. Her kategori farklı bir beceriyi ölçer. Aşağıdaki tablo kategorileri, ilk öğrenmen gereken beceriyi ve akademideki CTF Arena'dan kolay bir başlangıç görevini gösteriyor.

KategoriNe yapılırİlk öğrenilecek beceriBaşlangıç görevi
WebWeb uygulamasındaki mantık ve güvenlik hatasını bulursunHTTP, tarayıcı geliştirici araçlarıKaynağa Bak
KriptografiKodlanmış ya da zayıf şifrelenmiş metni çözersinKodlama ile şifreleme farkıİlk Temas
Adli bilişimDosya, disk ya da trafik kaydından iz çıkarırsınDosya türleri, strings ve hex okumaDize Avı
Tersine mühendislikBir programın ne yaptığını kodunu okuyarak anlarsınTemel programlama, akış okumaDoğrulama Rutini
OSINTAçık kaynaklardan bilgi toplayıp doğrularsınArama teknikleri, kaynak doğrulamaDijital İz
SteganografiGörsel ya da sese gizlenmiş veriyi bulursunDosya yapısı ve üst veriMetin Odacığı
PwnBellek hatalarını istismar edip programın akışını değiştirirsinC, Linux ve hata ayıklayıcıÖnce tersine mühendislik ve Linux temelini oturt
Çeşitli (misc)Kategorilere sığmayan bulmacaları çözersinMerak ve sabırKare Kod

Her kategoriye aynı anda girmen gerekmez. Önce web ve kriptografi gibi araç gerektirmeyen iki kategori seç. Bir kategoride rahatlayınca yenisine geç. Takım hâlinde oynarken de herkes bir iki kategoride derinleşir.

İlk görev adım adım nasıl çözülür?

Basit bir kriptografi görevi düşünelim. Görev metni şöyle olsun: "Ele geçen mesaj bir kodlama katmanının altında: ZmxhZ3tpbGtfYWRpbX0=". Çözüm şu adımlarla ilerler.

  1. Oku ve not al. Görev metnindeki her kelime ipucu olabilir. Burada "kodlama" kelimesi şifreleme değil, geri çevrilebilir bir dönüşüm olduğunu söylüyor.
  2. Tanı. Metin büyük ve küçük harf, rakam ve sonda = işaretinden oluşuyor. Bu, Base64 kodlamasının tipik görüntüsüdür.
  3. Çöz. Linux terminalinde tek komut yeter:
$ echo "ZmxhZ3tpbGtfYWRpbX0=" | base64 -d
flag{ilk_adim}
  1. Biçimi doğrula. Çıkan metin görevin flag biçimine uyuyor mu? Uyuyorsa puan tablosuna gir. Uymuyorsa ikinci bir katman olabilir.
  2. Yaz. Görevi nasıl çözdüğünü birkaç cümleyle not et. Bu notlara write-up denir. Hem sonraki görevlerde işine yarar hem de portfolyonun parçası olur.

Gerçek görevler çoğu zaman birkaç katman ister. Ama yöntem aynıdır: oku, tanı, dene, doğrula ve yaz. Takıldığında görevin ipucunu kullanmaktan çekinme. Amaç puan değil, bir sonraki görevde takılmamaktır.

CTF neden önemli?

CTF, siber güvenlikte teoriyi pratiğe çevirmenin en ucuz yoludur. Bir zafiyeti ders kitabında okumakla onu gerçek bir görevde bulmak arasında büyük fark vardır. CTF bu farkı kapatır ve bunu yasal bir ortamda yapar.

İşe alımda da değeri var. Güvenlik ekipleri, adayın CTF geçmişine ve yazdığı write-up'lara bakarak problem çözme biçimini görebilir. Takımının CTFtime profilindeki etkinlikler ve senin çözdüğün görevler somut bir kanıttır.

CTF'in sınırını da bilmek gerekir. Gerçek bir sızma testinde kapsam belgesi, müşteriyle iletişim, bulguların önceliklendirilmesi ve rapor yazımı vardır. CTF bunların çoğunu öğretmez. Bu yüzden CTF'i tek başına bir kariyer hedefi değil, sağlam bir antrenman aracı olarak gör.

Nereden başlamalı?

Aşağıdaki sıra, hiç CTF oynamamış biri için gerçekçi bir başlangıçtır.

  1. Temeli kur. Linux komut satırında rahat gezinmeyi öğren. Dosya sisteminde gezinmek ve Arama ve süzme dersleri CTF'te en çok kullanacağın komutları anlatır.
  2. Kodlama ile şifrelemeyi ayır. Özet, şifreleme ve kodlama farkı dersi kriptografi görevlerinin yarısını çözmeni sağlar.
  3. Kolay görevlerle ısın. CTF Arena, tarayıcıda çözülen 205 görev sunar. Görevler 8 kategoriye ayrılır ve 64 tanesi kolay seviyededir. Önce her kategoriden bir kolay görev çöz.
  4. Terminalde dene. İlk Kapı saha görevi, tarayıcıdaki terminalde keşif adımlarını uygulatır.
  5. Wargame ile süreklilik kazan. OverTheWire sitesindeki Bandit seviyeleri Linux becerini her gün biraz ileri taşır.
  6. İlk etkinliğine katıl. CTFtime dünyadaki CTF takvimini ve takım sıralamasını tutar. Başlangıç dostu etkinlikler öğrencilere yönelik olanlardır. picoCTF bunun bilinen bir örneğidir.
  7. Takım bul. Tek başına başlamak normaldir. Bir süre sonra takımla oynamak öğrenmeyi hızlandırır. AltayCTF yazısı AltaySec'in yarışma takımına nasıl başvurulacağını anlatır.

Pratik yaparken Ücretsiz CTF antrenmanı rehberi düzenli çalışma alışkanlığı kurmana yardım eder.

Kaynaklar

Sık sorulan sorular

CTF'e katılmak için ne bilmek gerekir?

Başlamak için ileri bilgi gerekmez. Linux komut satırında gezinmeyi, HTTP isteğinin nasıl çalıştığını ve kodlama ile şifreleme arasındaki farkı bilmen yeterlidir. Python gibi bir betik dili zamanla çok işine yarar. Geri kalanını kolay görevleri çözerek ve başkalarının write-up'larını okuyarak öğrenirsin.

CTF yarışmaları yasal mı?

Evet, CTF yasal bir yarışmadır, çünkü hedefler düzenleyici tarafından bu iş için hazırlanır ve sana açıkça verilir. Yasal sınır kapsamdır. Yarışma altyapısına, diğer takımlara ya da kapsam dışındaki gerçek sistemlere saldırmak kurallara aykırıdır ve Türkiye'de Türk Ceza Kanunu'na göre suç oluşturabilir.

CTF ile gerçek sızma testi arasındaki fark nedir?

CTF'te hedef, flag'in var olduğu ve bulunabileceği bir bulmacadır. Gerçek sızma testinde ise zafiyet olup olmadığını bilmezsin. Yazılı kapsam, müşteriyle iletişim, bulgunun etkisini ölçme ve rapor yazımı da işin parçasıdır. CTF teknik beceriyi geliştirir, sızma testi bu beceriyi sorumlulukla birleştirir.

CTF'e tek başıma mı, takımla mı katılmalıyım?

İlk görevlerini tek başına çözmek temeli oturtur ve hangi kategoriyi sevdiğini gösterir. Zamanlı etkinliklerde ise takım büyük avantajdır, çünkü görevler farklı uzmanlık ister. Birkaç etkinlikten sonra bir takıma katılmak ya da arkadaşlarınla takım kurmak öğrenmeyi hızlandırır ve write-up paylaşımını kolaylaştırır.

  • ctf
  • capture the flag
  • ctf nedir
  • jeopardy
  • attack-defense
  • siber güvenlik yarışması

İlgili yazılar

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