PicoCTF Milkslap ve Mr-Worldwide CTFs Writeup

SixCode

Üye
18 Haz 2021
100
30
Türkiye
Merhaba bugün PicoCTF platformu içindeki MilkSlap ve Mr-Worldwide CTF'lerini çözeceğiz.
Hadi Milkslap ile başlayalım.

MilkSlap
---------------------------------------------------------

İlk olarak MilkSlap'i PicoCTF üzerinde buluyoruz.
Uğraşmak istemeyenler için link: Milkslap CTF

Karşımıza çıkan sayfada ilk olarak süt emojisine tıklıyoruz ve bizi bir siteye yönlendiriyor.
Sayfada işe yarar bir şey yok.
Bu yüzden bende kaynak kodlarına bakıcağım.
Kaynak kodlarına baktığımda gördüğüm işe yarar bir şey yok sadece bize iki adet link vermiş.
Bu linklere gittiğimde ikisindede işe yarar bir şey olmadığı gördüm.
Bu sefer html yerine diğer dosyalara bakmak için Kaynaklar bölümüne bir göz atacağım.
Kaynaklar bölümünde bir .png dosyasının olduğunu gördüm.
Site üzerinde başka işe yarar bir şey bulamadığım için bu dosya üzerinden ilerleyeceğim.
Hemen terminalimi açıyorum ve bu dosyayı wgeti kullanarak indiriyorum.
Bash:
wget http://mercury.picoctf.net:29522/concat_v.png

Bu dosya .png formatında olduğu için steghide ve varyantlarını kullanamam.
Fakat başka bir stenography aracı olan zstegi kullanabilirim.

Bunun için bu komutu giriyorum:
Bash:
zsteg concat_v.png

Karşıma çıkan sonuç bu şekilde:

2tbxh48.jpg


Gördüğünüz gibi flagimizi aldık.

picoCTF{imag3_m4n1pul4t10n_sl4p5}

Flagimizi PicoCTF'e girdikten sonra "Submit Flag" butonuna basıyoruz.

Bu şekilde ilk CTF'imizi çözmüş olduk.

Şimdi ikinci CTF'imize geçelim.

Mr-Worldwide
---------------------------------------------------------

CTF Linki: Mr-Worldwide CTF

Bu CTF'de bize bir txt dosyası verilmiş.

İlk olarak bu dosyayı indiriyorum.
Dosyayı açtığımda karşımıza bu yazı çıkıyor.

picoCTF{(35.028309, 135.753082)(46.469391, 30.740883)(39.758949, -84.191605)(41.015137, 28.979530)(24.466667, 54.366669)(3.140853, 101.693207)_(9.005401, 38.763611)(-3.989038, -79.203560)(52.377956, 4.897070)(41.085651, -73.858467)(57.790001, -152.407227)(31.205753, 29.924526)}

Aslında bize flagi burada vermiş fakat bir şifreleme yöntemi kullanmış. Anladığım kadarıyla bu yazıların hepsi birer koordinat.
Örnek olarak 35.028309, 135.753082 bir koordinat.
Bu koordinatın nereyi gösterdiğine bakmak için kopyalıyorum ve google haritalar üzerinde bir arama yapıyorum ve karşıma böyle bir sonuç çıktı.
89x6gzk.png



Gördüğüm kadarıyla bu koordinat Kyoto merkezi gösteriyor.
Bunun gibi bir sürü koordinat olduğu için ben ilk olarak her koordinatın gösterdiği yerin ilk harfini alacağım.
Aslında bütün koordinatların nereyi gösterdiğine teker teker bakabilirim fakat bununla uğraşmak istemiyorum bu yüzden python üzerinden bir otomasyon scripti yazıp bu işlemi hızlandıracağım.
İlk olarak bir metin editörünü açacağım. Ben terminal üzerinden nanoyu kullanacağım.

İlk olarak nanoyu kullanarak bir py dosyası oluşturuyorum.
Koordinatların gösterdikleri lokasyonları bulmak için ben geocode.xyz sitesini kullanacağım bunun içinde requests ve re modüllerini kullanacağım.
Kodumu hazırladım ve son hali böyle oldu.
Python:
import requests
import re

flag = "picoCTF{(35.028309, 135.753082)(46.469391, 30.740883)(39.758949, -84.191605)(41.015137, 28.979530)(24.466667, 54.366669)(3.140853, 101.693207)_(9.005401, 38.763611)(-3.989038, -79.203560)(52.377956, 4.897070)(41.085651, -73.858467)(57.790001, -152.407227)(31.205753, 29.924526)}"

def koordinattan_harf_al(match):
    lat = match.group(1)
    long = match.group(2)
    r = requests.get("https://geocode.xyz/{},{}?json=1".format(lat, long))
    j = r.json()
    return j["geocode"][0]

print(re.sub(r'\(([\d\.-]+), ([\d\.-]+)\)', get_letter_from_coordinate, flag))

Kodu açıklamak gerekirse ilk olarak flag üzerinden bir koordinat alıyor ve geocode.xyz üzerinden arama yapıyorum. Ardından aldığım sonucun ilk harfini alıyorum ve bir listeye kaydediyorum bu işlemleri bütün koordinatlara uyguluyor ve sonunda listemdeki bütün ögeleri birleştirip print ediyorum.

Dosyamı çalıştırdım ve flagimi aldım.

fhdpl6d.jpg

Flagimiz: picoCTF{KODIAK_ALASKA}

Bu CTF'ide çözmüş olduk.

Konumu okuduğunuz için teşekkür ederim.

Bugünlük bu kadar.

Herkese İyi Günler.
 

Napcaz

Anka Team Senior
28 Nis 2019
761
741
Cudi
Milkslap i çözmek için hayli ugrasmistik arkadaşlarla ama hiç bir şey elde edememiştik bilgimiz zayıftı ümidimiz tükenmeye yakın son çare sitedeki gif i indirip teker teker bütün frame lerini gezip acaba bir tanesinde bir yerde bayrak köşeye kenara yazılmış mıdır diye her kareyi kontrol ettiğimi hatırlıyorum.
 

SixCode

Üye
18 Haz 2021
100
30
Türkiye
Milkslap i çözmek için hayli ugrasmistik arkadaşlarla ama hiç bir şey elde edememiştik bilgimiz zayıftı ümidimiz tükenmeye yakın son çare sitedeki gif i indirip teker teker bütün frame lerini gezip acaba bir tanesinde bir yerde bayrak köşeye kenara yazılmış mıdır diye her kareyi kontrol ettiğimi hatırlıyorum.
:) Umarım bu konu size yol gösterir.
 

Napcaz

Anka Team Senior
28 Nis 2019
761
741
Cudi
:) Umarım bu konu size yol gösterir.
Sağolun, çözümü bulduk tabiki sonradan lakin bence burda esas lazım olan insanlara bu toolların tam olarak ne yaptığını araştırmak ve açıklamak, yöntemleri deneysel metotlar ile test etmek. En azından ben ezbere su soru için bu tool kullanılır tarzı basma kalıp cümleler duymaktan sıkıldım. İnovasyon yapılmalı.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.