|
|
Tüm çözümler
OSINT CTFHUMINT

CTF Çözümü: READONLY — READONLY Arşivinin Arkasındaki Zihin

Alp Akciğer2 dk okuma

This write-up is also available in English: switch the site language to EN (top right).

Giriş

Bu çözümde READONLY CTF görevinin uçtan uca çözümünü adım adım anlatacağız. Görev; çok katmanlı QR kod manipülasyonu, Braille ve Mors şifresi çözme, istemci tarafı web ve favicon dosyası analizi, şifreli PDF kurtarma ve finalde beklenmedik psikolojik bir ters köşe içeriyor.

1. İlk QR kod taraması ve bağlantının bulunması

Görev evidence.png adlı bir görsel dosyasıyla başladı. Mantıklı ilk adım bu QR kodu çevrim içi bir tarayıcıya (scanqr.org) yüklemekti.

2. Dosyaların incelenmesi ve kritik not

Proton Drive klasörüne gitmek iki dosyayı ortaya çıkardı:

  • internal_record_review_041.pdf (parola korumalı PDF)
  • Note

İki dosyayı da indirdikten sonra PDF’i açmaya çalışınca parola istendi. Note belgesini incelemek temel kuralları ve format talimatlarını verdi:

Notta şöyle yazıyordu:

“Parolan yoksa yanlış yerdesin; geri dön, QR’ı 180 derece döndür ve tekrar dene.” “ÖNEMLİ: Bayrağı gönderirken BAYRAK’tan ‘AT’ kısmını çıkar.”

3. QR’ı 180° döndürmek ve zbarimg ile terminal analizi

Başta görseli masaüstü görüntüleyicinin basit seçenekleriyle (görünümü döndür) döndürüp yeniden taramayı denedim; ama bu kısa sürede çıkmaz sokak oldu.

Ardından Kali Linux’ta zbarimg ile komut satırı yaklaşımına geçtim. QR görselini 180 derece döndürüp a.png olarak kaydettikten sonra şunu çalıştırdım:

zbarimg a.png

Tarayıcı alışılmadık bir Unicode nokta, tire ve desen dizisi çıkardı:

⠏‐․.. ⠁․‐‐‐‐ ⠞‐‐‐‐‐ ⠊‐‐․ ⠑․․․․․ ⠝․‐‐․ ⠞‐‐‐‐‐ ⠼⠚‐ ⠼⠙ ⠼⠁

4. Şifre çözümü: Braille ve Mors kodu birleşimi

İlk bakışta noktalar ve çizgiler Mors koduna benziyordu. Ama baştaki karakterlere yakından bakınca bunların aslında Mors koduyla iç içe geçmiş Braille sembolleri olduğu anlaşıldı.

Karakterleri ayırıp çevirmek için dCode’un Braille çözücüsünü kullandım:

İç içe geçmiş iki katmanı ayırınca:

  1. Braille karakterleri: ⠏ ⠁ ⠞ ⠊ ⠑ ⠝ ⠞ ⠼⠚ ⠼⠙ ⠼⠁ $\rightarrow$ PATIENT041
  2. Mors kodu: ‐․.. ․‐‐‐‐ ‐‐‐‐‐ ‐‐․ ․․․․․ ․‐‐․ ‐‐‐‐‐ ‐ $\rightarrow$ b10g5p0t (blogspot’un leetspeak yazımı)

İki diziyi birleştirmek doğrudan aktif bir bloga işaret etti: patient041.blogspot.com.

5. Hedef blogu bulmak

patient041 blogspot için hedefli bir Google araması gizli blog yazısını hemen ortaya çıkardı:

6. Favicon ipucu ve geliştirici araçlarıyla inceleme

Etkileşimli sayfada gezinirken bir günlük parçası dikkatimi çekti:

“Burada bir sürü simge var... ama en sevdiğim simgeyi bulabilir misin?”

Kaynak kodu incelemek için Ctrl + U’ya basıp sitenin favicon tanımlarını aradım:

Ham favicon.ico görselini açıp yakınlaştırmak, simgenin üzerine açıkça basılmış ilk parolayı ortaya çıkardı:

Parola 1: Archive_404 (ya da ARCHIVE 404)

7. Etkileşimli terminal ve ikinci parola

Sayfanın altında etkileşimli bir terminal arayüzü vardı (READONLY@ARCHIVE:~$). Mevcut komutları çalıştırmak recover fonksiyonuna götürdü:

  • Parola 2: Exit_Node (ya da Exit Node)

8. PDF’in açılması ve psikolojik ters köşe

İki parça da elimizdeyken ilk nottaki formatı (Password_One_Password_Two) takip etmek tam şifre çözme anahtarını verdi:

Archive_404_Exit_Node

Bu anahtarı girmek internal_record_review_041.pdf dosyasını açtı ve ABD Federal Cezaevleri Bürosu’na ait 4 sayfalık gizli bir iç inceleme raporunu ortaya çıkardı.

Vaka dosyasını okumak inanılmaz bir hikâye dönüşü sundu:

  • Tesis: ADX Florence Supermax
  • Hücre: D-14
  • Hasta: Hasta 041

Federal kayıtlar, orada “READONLY” adında kötü şöhretli bir mahkûmun hiç tutulmadığını, büyük bir cezaevi firarının hiç yaşanmadığını ve D-14 numaralı hücrede bulunan el çizimi orijinal QR kodun tamamen Hasta 041’e ait olduğunu belgeliyordu.

Araştırma hiçbir zaman haritada bir firariyi takip etmekle ilgili değildi. Hasta 041 ADX Florence’tan fiziksel olarak hiç kaçmamıştı; gerçekliğin kendisinden sıyrılarak kaçmıştı (“KAÇTIN... GERÇEKLİKTEN KAÇARAK”).

Bayrak

Nottaki açık kuralı uygulayınca (“BAYRAK’tan ‘AT’ kısmını çıkar”):

  • NASIL KAÇTI: ESCAPING_REALITY
  • KONUM: ADX_FLORENCE

Bayrak:

OSINT{ESCAPING_REALITY_ADX_FLORENCE}

İlk yayımlandığı yer: Substack