Write Up

DKHOS CTF Write Up

14 Şubat 2018

Yazıya başlamadan önce Prodaft ekibine bu şahane CTF’i bizlere sundukları için teşekkür etmek istiyorum. Her aşaması ayrı eğlenceli ve bir o kadar da düşündürücü bir CTF idi.

 

Trivia 100 (Seç Bakalım, Şimdi Bir Sayı Söyle) :
Soru : Mahmut ile Pelin küçükken hep bu oyunu oynarlardı…

Soruyu görünce ilk iş olarak görseli indirdim. Görselden bir şeyler çıkarmaya çalışsam da olmadı. Hiçbir anlam ifade etmiyordu. Resmin adı tuzluk.png olarak verilmişti. Google’da çok kısa bir araştırma sonunda hepimizin aşina olduğu küçükken oynadığımız o oyun aklımıza geldi ve hemen görselin bir çıktısını alıp tuzluk yaptık.

Flag olarak başta Karaelma denedik. Sonrasında Karamela Flag’ını girdik ve doğru cevabı bulmuştuk.

 

Trivia 200 (Geçmişe Yolculuk) :
Soru : Camın üzeri buğuluydu. Şimdilik resmini çekerim, sonra daha detaylı incelerim diye düşünmüştü Mahmut. Pelinsu’nun izlerini geçmişte de birileri aynı yöntemlerle araştırmış olabilir miydi.

Görsel başta hiçbir anlam ifade etmiyordu. Görselin adı noktalardı. Google’da pek çok arama yaptık fakat bir sonuca ulaşamadık. Sonrasında aklımıza Stenografi geldi. Online toollardan herhangi birini kullanadığımız zaman Flag bariz bir şekilde karşımıza çıktı. Aynı işlem Photoshop veya Gimp ile de yapılabilirdi.

 

Trivia 300 (Bana Olasılıkları Asla Söyleme) :
Soru : Pelinsu Mahmut’a kaybolmadan önce bu traş bıçağını gönderdi. Kargo paketinin içindeki ufak bir notta ise; “bunukullananadamınyanınagidiyorumbenioradabul” yazmaktaydı. Mahmut bu kargonun gerçekten Pelinsu’dan geldiğinden emin olamasa bile araştırmaya koyuldu … Ayrıca Pelinsu’nun yazdığı yazının boşluksuz, arada çizgi olmadan ve hepsi küçük harf olması da bir anlam ifade etmekteydi…

Görseli Google’da direkt olarak arattığımız zaman cevap direkt karşımıza çıkmıştı. Star Wars’taki Qui-Gon Jinn’s nin telekominasyon aracı olarak bu tıraş bıçağı kullanılmış. Sorudaki bunukullananadamınyanınagidiyorumbenioradabul yazısı ise bitişik küçük harflerle yazmamız gerektiğini söylüyordu bizlere.

 

Trivia 500 (Av Mevsimi) :
Soru : Pelinsu’nun kamerasını inceleyen Mahmut en son bu video’ya ulaştı. Defalarca izledi ancak ne anlama geldiğini çözememişti…

İpucundaki resimden Predator filmini bulduk ve Predator filmine özel oluşturulmuş alfabeyi bulduk. Alfabedeki harfleri yerine yerleştirdiğimiz zaman AZTEC Flag’ına ulaştık.

 

CINT 200 (Sokaklarda Ne Ararsın Beni Kimden Sorarsın) :
Soru : Mahmut ulaştığı kayıtları incelediğinde Pelinsu’nun lokasyonunun çocuğun çantasında gizli olduğunu düşünmekteydi.

Soruyla ilgili birde video verilmişti. Videodaki adam yavaş yavaş yürüyordu ve bir 3D Street Art vardı. Videodaki yazıyı araştırdığımızda Flemenkçe olduğunu anladık ve Belçika ile Hollanda üzerinde yoğunlaştık. Videodaki 3D Street Art’ın sahibinin Leon Keer olduğunu anladık ve Street View üzerinden bölgeye ulaştık. Daha sonra fotoğraftaki arkadaşı bulup çantasına yoğunlaştık. Flag DAKINE idi.

 

CINT 300 (Naber?) :
Soru : Pelinsu zamanında en yakın arkadaşı hipster_koder ile görüşmekteydi. Mahmut hipster_koder’ın Pelinsu’ya platonik aşık olduğunu bilmekteydi. Her ihtimalde Pelinsu hakkında yeni bilgilere ulaşmak için araştırması gerekecekti.

hipster_koder’ı Google ve Pıpl gibi platformlarda uzun bir süre aradıktan sonra sosyal medya hesaplarına bakmaya karar verdik. Instagram’da hipster_koder diye bir arkadaş bulduk ve ilk paylaşım yarışmanın başladığı gün atılmıştı. 3 adet fotoğraftan 1 tanesine yoğunlaştık ve Madi Malabadi kullanıcısını bulduk. Görsele dikkatli bakmadığımız için başta Madi Malabadi kelimesi üzerine yoğunlaştık. Flag’a ulaşamayınca görseli biraz daha incelediğimizde Github’da Madi Malabadi kullanıcısına ulaştık. Bir dizin Python kodu yayınlanmıştı. Kod parçası arasından şu satır ilgimizi çekti :

 

Url = http://pastebin.com
– Username = haker_hater
– Password = Pasw0Rth123
PASTES_URL = Url + /archive
REGEXES_FILE = regexes.txt

Pastebin’den haker_hater kullanıcısını bulduk ve notlar arasında Çok Gizli Sohbet Odası notunu bulduk. Sorunun adı Naber? olduğu için WhatsApp’ı denedik ve Flag’ı bulduk. 

 

CINT 400 (Arap Saçına Döndüm Çöz Beni Arap Saçı) :
Soru : Pelinsu acaba Hollanda’dan kalkıp savaş bölgesine doğru gitmiş olabilir miydi ? Buraları iyi bilen birilerini araştırmak gerekecek …
joinchat/AAAAAESbwxmZjRyggLlfqA

Sorudaki JoinChat linki bizi bir Telegram grubuna yönlendirmişti.

Hicri takvimde verilen tarih 5 Şubat 2018 idi. İpucunda liveuamap verilmişti. Buradan yola çıkarak Google’da DeirEzzor 34°31′N 40°55′E February 5 site : liveuamap şeklinde bir arama yaptık ve aşağıdaki sonuca ulaştık.

Yorumlarda استشهد أخي yorumuna rastladık ve Flag yorum yapan kişinin profilindeydi.

Web 100 (Yamtar) :
Soru : http://54.209.167.162

Sitede ipucunun PIN verilmesi sonucunda 1000-9999 arası sayıları Brute Force yöntemi ile siteye denettik ve 1917’de sistem açıldı. Flag’ı elde ettik.

 

Mobile 100 (Ayrılığın Hediyesi) :
Soru : Pelinsu’nun uzun zamandır kullandığı bir cep telefonunu en yakın arkadaşlarından biri Cansu’ya vermişti. Pelinsu’nun kaybolduğunu öğrenen Cansu ise telefonu hızlıca Mahmut’a ulaştırmış ve analiz etmesini istemişti. Yakın zamanda bir adresten gelen eposta içerisindeki bir .apk Mahmut’un dikkatini çekmişti.

APK’yı BlueStacks’de çalıştırdık fakat tahmin ettiğimiz gibi hiçbir sonuç elde edemedik. Dex2Jar aracını kullanarak .apk’mızı .jar dosyasına çevirdikten sonra kaynak kodlarını incelemeye başladık. MainClassActivity’deki String değerleri dikkatimizi çekti.

<pre><span class="pl-en">STRINGS:00085CC6 a88888888888888:.string </span><span class="pl-s">" 8 8888          ,8.       ,8.          8 888888888o.       "</span>
<span class="pl-en">STRINGS:00085CC6                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">20</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085CC6                 .string </span><span class="pl-s">"     .8.    8888888 8888888888 "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">28</span><span class="pl-en"> (</span><span class="pl-c1">0x1c</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085D22 unk_85D22:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085D23 a88888888888888_0:.string </span><span class="pl-s">" 8 8888         ,888.     ,888.         8 8888    `^888.    "</span>
<span class="pl-en">STRINGS:00085D23                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">24</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085D23                 .string </span><span class="pl-s">"    .888.         8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">29</span><span class="pl-en"> (</span><span class="pl-c1">0x1d</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085D7F byte_85D7F:     .byte </span><span class="pl-c1">0x5B</span><span class="pl-en">              # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085D80 a88888888888888_1:.string </span><span class="pl-s">" 8 8888        .`8888.   .`8888.        8 8888        `88.  "</span>
<span class="pl-en">STRINGS:00085D80                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">8</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085D80                 .string </span><span class="pl-s">"   :88888.        8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">30</span><span class="pl-en"> (</span><span class="pl-c1">0x1e</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085DDC unk_85DDC:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085DDD a88888888888888_2:.string </span><span class="pl-s">" 8 8888       ,8.`8888. ,8.`8888.       8 8888         `88  "</span>
<span class="pl-en">STRINGS:00085DDD                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">10</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085DDD                 .string </span><span class="pl-s">"  . `88888.       8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">31</span><span class="pl-en"> (</span><span class="pl-c1">0x1f</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085E39 unk_85E39:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085E3A a88888888888888_3:.string </span><span class="pl-s">" 8 8888      ,8'</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">8888</span><span class="pl-s1">,</span><span class="pl-c1">8</span><span class="pl-en">^</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">8888</span><span class="pl-en">.      </span><span class="pl-c1">8</span> <span class="pl-c1">8888</span>          <span class="pl-c1">88</span><span class="pl-en">  "</span>
<span class="pl-en">STRINGS:00085E3A                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-en">1C↑r</span>
<span class="pl-en">STRINGS:00085E3A                 .string </span><span class="pl-s">" .8. `88888.      8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">32</span><span class="pl-en"> (</span><span class="pl-c1">0x20</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085E96 unk_85E96:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085E97 a88888888888888_4:.string </span><span class="pl-s">" 8 8888     ,8'</span><span class="pl-en"> `</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">8888</span><span class="pl-s">' `8.`8888.     8 8888          88  "</span>
<span class="pl-en">STRINGS:00085E97                                         # DATA XREF: MainActivity_b@VI↑r</span>
<span class="pl-en">STRINGS:00085E97                 .string </span><span class="pl-s">".8`8. `88888.     8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">33</span><span class="pl-en"> (</span><span class="pl-c1">0x21</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085EF3 unk_85EF3:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085EF4 a88888888888888_5:.string </span><span class="pl-s">" 8 8888    ,8'</span><span class="pl-en">   `</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">88</span><span class="pl-s">'   `8.`8888.    8 8888         ,88 ."</span>
<span class="pl-en">STRINGS:00085EF4                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-en">C↑r</span>
<span class="pl-en">STRINGS:00085EF4                 .string </span><span class="pl-s">"8'</span><span class="pl-en"> `</span><span class="pl-c1">8</span><span class="pl-en">. `</span><span class="pl-c1">88888</span><span class="pl-en">.    </span><span class="pl-c1">8</span> <span class="pl-c1">8888</span><span class="pl-en">       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">34</span><span class="pl-en"> (</span><span class="pl-c1">0x22</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085F50 unk_85F50:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085F51 a88888888888888_6:.string </span><span class="pl-s">" 8 8888   ,8'</span><span class="pl-en">     `</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-s">'     `8.`8888.   8 8888        ,88'</span><span class="pl-en">.</span><span class="pl-c1">8</span><span class="pl-en">"</span>
<span class="pl-en">STRINGS:00085F51                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">14</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085F51                 .string </span><span class="pl-s">"'</span><span class="pl-en">   `</span><span class="pl-c1">8</span><span class="pl-en">. `</span><span class="pl-c1">88888</span><span class="pl-en">.   </span><span class="pl-c1">8</span> <span class="pl-c1">8888</span><span class="pl-en">       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">35</span><span class="pl-en"> (</span><span class="pl-c1">0x23</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:00085FAD unk_85FAD:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:00085FAE a88888888888888_7:.string </span><span class="pl-s">" 8 8888  ,8'</span><span class="pl-en">       `</span><span class="pl-c1">8</span><span class="pl-en">        `</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">8888</span><span class="pl-en">.  </span><span class="pl-c1">8</span> <span class="pl-c1">8888</span>    <span class="pl-s1">,</span><span class="pl-en">o88P</span><span class="pl-s">' .88"</span>
<span class="pl-en">STRINGS:00085FAE                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">4</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:00085FAE                 .string </span><span class="pl-s">"8888888. `88888.  8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">36</span><span class="pl-en"> (</span><span class="pl-c1">0x24</span><span class="pl-en">)</span>
<span class="pl-en">STRINGS:0008600A unk_8600A:      .byte </span><span class="pl-c1">0x5B</span><span class="pl-en"> # </span><span class="pl-s1">[</span><span class="pl-en">          # DATA XREF: STR_IDS:off_70↑o</span>
<span class="pl-en">STRINGS:0008600B a88888888888888_8:.string </span><span class="pl-s">" 8 8888 ,8'</span><span class="pl-en">         `         `</span><span class="pl-c1">8</span><span class="pl-en">.`</span><span class="pl-c1">8888</span><span class="pl-en">. </span><span class="pl-c1">8</span><span class="pl-en"> 888888888P</span><span class="pl-s">'   .8'</span><span class="pl-en"> "</span>
<span class="pl-en">STRINGS:0008600B                                         # DATA XREF: MainActivity_b@VI</span><span class="pl-s1">+</span><span class="pl-c1">18</span><span class="pl-en">↑r</span>
<span class="pl-en">STRINGS:0008600B                 .string </span><span class="pl-s">"      `8. `88888. 8 8888       "</span><span class="pl-s1">,</span><span class="pl-c1">0</span><span class="pl-en"> # String #</span><span class="pl-c1">37</span><span class="pl-en"> (</span><span class="pl-c1">0x25</span><span class="pl-en">)</span></pre>

 

Ufak bir temizlikten sonra Flag’ı elde ettik.

<pre><code>8 8888          ,8.       ,8.          8 888888888o.            .8.    8888888 8888888888
8 8888         ,888.     ,888.         8 8888    `^888.        .888.         8 8888       
8 8888        .`8888.   .`8888.        8 8888        `88.     :88888.        8 8888       
8 8888       ,8.`8888. ,8.`8888.       8 8888         `88    . `88888.       8 8888       
8 8888      ,8'8.`8888,8^8.`8888.      8 8888          88   .8. `88888.      8 8888       
8 8888     ,8' `8.`8888' `8.`8888.     8 8888          88  .8`8. `88888.     8 8888       
8 8888    ,8'   `8.`88'   `8.`8888.    8 8888         ,88 .8' `8. `88888.    8 8888       
8 8888   ,8'     `8.`'     `8.`8888.   8 8888        ,88'.8'   `8. `88888.   8 8888       
8 8888  ,8'       `8        `8.`8888.  8 8888    ,o88P' .888888888. `88888.  8 8888       
8 8888 ,8'         `         `8.`8888. 8 888888888P'   .8'       `8. `88888. 8 8888       
</code></pre>

 

Forensic 100 (Karanlıkta Arayış Başlar) :
Soru : Pelinsu’nun kaybolmasının ardından Mahmut’un hayatı kararmıştı. Hiç zaman kaybetmeden düştüğü bu çaresiz durumda kendine gelmeli ve araştırmalarına başlamalıydı. Kaybedecek tek bir saniyesi yoktu …

Video 6 küsür saat idi ve ne ses nede görüntü vardı. Video basit bir video editleme programı ile inlecediğinizde (Biz bu işlem için WonderShare’ı kullandık) layer’larda Flag direkt olarak karşımıza çıkmaktaydı.

 

 

You Might Also Like

Henüz Yorum Yok

Bir Yorum Bırak

one × two =