PicoCTF: Riddle Registry Nasıl Çözülür?

Siber güvenlik dünyasına adım atan her meraklı yolun başında PicoCTF platformuyla el sıkışır. Bazı CTF soruları vardır ki sizi labirentlerin içine sokar; bazıları ise “sağ gösterip sol vuran” cinstendir. Bugün, hem eğlendiğim hem de “tavşan deliklerine” (rabbit holes) düşmemeyi öğreten Riddle Registry sorusunun çözümünü adım adım inceleyeceğiz.

pico ctf nasil cozulur 0

1. PicoCTF: Riddle Registry İlk Keşif

Soruyu başlattığımızda karşımıza bir PDF dosyası çıkıyor. Dosyayı indirip standart bir PDF görüntüleyici ile açtığımızda, metnin bazı kısımlarının siyah bantlarla karartıldığını görüyoruz. İlk refleksimiz, bayrağın (flag) bu gizlenmiş sözcüklerin altında olduğunu düşünmek oluyor.

Ancak siber güvenlikte altın kural: En bariz görünen ipucu, genellikle sizi oyalamak için oradadır.

pico ctf nasil cozulur 1

Gizlenen kelimelerin flag olmadığını kanıtlamak için basit ama etkili bir yöntem kullandım: Tüm metni CTRL + A ile seçip kopyaladım ve bir çeviri aracına yapıştırdım. Metin ortaya çıktığında karşılaştığımız şey, hazırlayan kişinin bizimle dalga geçtiği o meşhur cümleydi: “Burada flag yok. İyi denemeydi!” Siber güvenlik literatüründe, analisti asıl hedeften uzaklaştıran bu tür sahte ipuçlarına “Tavşan Deliği” (Rabbit Hole) diyoruz.


pico ctf nasil cozulur 2

2. Derin Analiz: Exiftool ile Gizli Verileri Gün Yüzüne Çıkarmak

Tavşan deliğinden çıktığımıza göre, dosyanın görsel yüzünü bırakıp teknik detaylarına, yani Metadata (Üst Veri) kısmına bakmamız gerekiyor. Bu aşamada imdadımıza Kali Linux’un vazgeçilmezi olan Exiftool yetişiyor.

Exiftool, dosyaların içine gömülü olan gizli bilgileri (yazar ismi, oluşturulma tarihi, konum vb.) görmemizi sağlar. Kullanımı oldukça basittir:

Bash

exiftool confidential.pdf
pico ctf nasil cozulur 4

Terminalde bu komutu çalıştırdığımızda karşımıza çıkan listede bir satır hemen dikkat çekiyor: Author (Yazar).

pico ctf nasil cozulur 5

Yazar kısmında normal bir isim yerine, sonunda “ = " işareti bulunan karmaşık bir karakter dizisi görüyoruz:


3. Son Adım: Base64 Deşifre İşlemi

Metadata alanında bulduğumuz bu dizilim, tipik bir Base64 kodlamasıdır. Bu şifreli metni çözmek için terminalin gücünden yararlanıyoruz:

Bash

echo "sifreli_metin" | base64 -d
pico ctf nasil cozulur 6

Enter’a bastığımız anda flag (bayrak) tüm netliğiyle karşımıza çıkıyor!

” NASIL ÇALIŞTI “

1. echo "sifreli_metin"

Bu komutun görevi basittir: tırnak içindeki metni terminalin standart çıktısına (stdout) yazdırır. Yani sadece ekrana basar.

2. | (Pipe – Boru İşareti)

Linux’un en güçlü özelliklerinden biridir. Solundaki komutun çıktısını (yani ekrana basılan şifreli metni), sağındaki komuta girdi (input) olarak gönderir. Bir nevi veri köprüsü kurar.

3. base64

Bu, sistemdeki Base64 kodlama ve kod çözme aracıdır. Varsayılan olarak kendisine gelen veriyi Base64 formatına çevirmeye çalışır.

4. -d (Decode) Parametresi

Komutun en kritik parçasıdır.

  • -d (veya --decode): Base64 aracına “sana gelen veriyi kodlama, aksine çöz (deşifre et)” talimatını verir. Eğer bu parametreyi koymazsan, elindeki şifreli metni tekrar şifrelemeye çalışır ve anlamsız bir çıktı alırsın.

Çıkarılan Dersler

Bu çözümden öğrenmemiz gereken üç önemli nokta var:

  1. Görsel Yanılsamalar: PDF üzerindeki karartmalar her zaman veri saklamak için değildir; bazen sadece dikkatinizi dağıtmak içindir.
  2. Metadata Analizinin Gücü: Dosyaların üst verileri, çoğu zaman dosya içeriğinden daha fazla bilgi barındırır.
  3. Basit Araçlar, Büyük İşler: exiftool ve base64 gibi temel komutlar, en karmaşık görünen CTF’lerin anahtarı olabilir.
  4. Kısa yollar: base64 kodlama mantığını bilmiyorsanız terminalde vakit kaybederim diye düşünüyorsanız biyerden aşağı atlayın yada tarayıcınızda cybercheff sitesine gidip şifre çözümlemelerinizi orada yapın. Terminal candır…

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir