Link | Difficulty | Creator |
---|---|---|
ABT CTF’22 | Medium | Adli Bilişim Topluluğu |
Task 3
Görevde verilen görselin metadata’sını exiftool
ile incelediğimizde görevde istenen bütün bilgilere ulaşıyoruz.

Task 4
Görevde verilen görseli önce exiftool
, sonra strings
aracılığıyla inceliyorum fakat işime yarayabilecek bir bilgi bulamıyorum. Görselin içerisine gizlenmiş bir dosya olabileceğini düşünerek steghide
aracını kullanarak herhangi bir parola belirtmeden dosya çıkarma işlemi gerçekleştiriyorum ve keys.txt
dosyasını elde ediyorum.
steghide extract -sf <file>

Çıkan dosya içerisindeki 3 farklı yöntemle encode edilmiş key’leri birleştirerek yeni bir elde edeceğimizi tahmin ediyorum. Birinci key’i CyberChef’i kullanarak önce base32
sonra base64
olarak decode ediyorum.

İkinci key’i binary
‘den ascii
‘ye çeviriyorum.

Üçüncü key’i de önce morse
kodu ile sonra base32
ile decode ederek elde ettiğim üç key’i de birleştiriyorum.

Bu üç key’in birleşimini de base64
ile decode ederek flag’i elde ediyorum.

Task 5
Bu görevde bize verilen text dosyasının içerisinde gizlenen flag’i bulmamız isteniyor. Text dosyalarının içerisine veri gizlemek ve çıkarmak için kullanılan stegsnow
aracını kullanarak dosyanın içerisindeki flag’i elde ediyorum.
stegsnow -C <file>

Task 6
Bu görevde Gulleringulu_1
kullanıcı adına sahip hesapları araştırmamız isteniyor. Bu kullanıcı adına sahip bir twitter hesabı ve eskiden bu kullanıcı adını kullandığı için arama motorunun indexlediği bir github hesabı ile karşılaşıyorum.

Bulduğum twitter
hesabını incelerken bir postunda base64
ile encode edilmiş bir yorum görüyorum.

Bulduğum yorumu decode ettiğimde flag’e ulaşıyorum.

Task 7
Bu görevde bize verilen dosyayı bir şekilde decode etmemiz ve flag’e ulaşmamız bekleniyor.

Dosyayı gördüğümde kullanılan encoding metoduna aşina olmam sayesinde kullanılanın Base85 (ASCII85)
olduğunu anlıyorum ve dcode sitesini kullanarak decode ediyorum.

Elde ettiğim binary
değeri decode ettiğimde elde ettiğim sonuç ilk başta pek mantıklı gelmiyor.
ee ``f ba hg `_d ``c hf `aa ba `aa ``` ``c `_g hf `a` `_d hh `_d ba ``` `_g `__ ``f ba ``d hf ``_ `_f `_d ba dg c` c` c`
Fakat bir kaç deneme sonra elde ettiğimin sonucun Rot47
ile çözülebildiğini fark ediyorum. Rot47
ile elde ettiğim decimal
değeri de decode ettiğimde flag’i elde ediyorum.

Task 8
Bu görevde bize verilen görseli incelememiz isteniyor. Görseli exiftool
ile kontrol ettiğimde copyright değerinde daha önce görmüş olduğumuz Gulleringulu_1
kullanıcı adını görüyorum.

Eskiden bu kullanıcı adına ait olan ve henüz kontrol etmediğim github hesabını hatırlıyorum ve onu kontrol etmeye başlıyorum. Kullanıcının ilk reposunda herhangi bir şey bulamasam da ikince reposundan aradığım flag’i elde ediyorum.

Task 9
Burada bize verilen dosyayı strings
komutu ile incelerken dosyanın içerisinde find
isminde bir dizin olduğunu ve bu dizinin de suprize.wav
isminde bir ses dosyası içerdiğini görüyorum.

Görselin içerisindeki bu dosyayı çıkarmak için binwalk
komutunu kullanıyorum.
binwalk -e <file>
Çıkardığım ses dosyasını dinlediğimde bir morse
kodu olduğunu anlıyorum. Ses dosyasının içerdiği morse kodunu decode etmek için bulduğum bir websitesini kullanıyorum.

Task 10
Görevde bize verilen görsel hakkında araştırma yapmamız isteniyor. Verilen görseli, google’ın görsel ile arama özelliğini kullanarak arıyorum ve ilk sorunun cevabı olan hangi konumda olduğunu öğreniyorum.

İkinci sorunun cevabı için de basit bir google araması yapıyorum.

Task 11
Görevde bize verilen ses dosyasını incelememiz isteniyor. Ses dosyasını audacity
ile açarak spectrogram
olarak incelediğimde flag’i elde ediyorum.

Task 12
Görevde verilen QR kodu online bir QR code reader kullanarak okuyorum ve elde ettiğim text’in rot13
olduğunu tahmin ederek CyberChef aracılığıyla decode ediyorum.

Bahsedilen reddit hesabını incelemeye başlıyorum. Hesabın profil resmine baktığımda göreve ait flag’i elde ediyorum.

Task 13
Görevde bize verilen dosyayı incelediğimde, base64
ile encode edilmiş bir text içerdiğiğini anlıyorum. Bir kaç kez decode ettiğimde dosyanın yavaş yavaş küçülmeye başladığını görsem de daha fazla decode etmem gerektiğini anlıyorum. Bunun için basit bir bash script yazıyorum kullanıyorum ve flag’i elde ediyorum.

Task 14
Görevde network paketlerini içeren bir pcapng
dosyasını incelememiz isteniyor. Dosyayı wireshark
ile açıp paketleri incelerken bir paket içerisinde clear text olarak gönderilen flag’i elde ediyorum.

Task 15
Bu görev için bize bir websitesi veriliyor ve incelememiz isteniyor. Verilen sitenin kodlarını incelerken bir yorum satırı buluyorum.

Websitesinde bulduğum yorum satırının rot13
ile encode edildiğini tahmin ediyorum ve decode ederek websitesi üzerinde bir dizin hakkında verilen bilgiye erişiyorum.

Belirtilen dizinin de kaynak kodlarını incelerken yine bir yorum satırında göreve ait flag’i buluyorum.

Task 16
Görevde verilen corrupted PNG
dosyasını düzeltmemiz isteniyor. Dosyayı düzeltmek için öncelikle magic byte
‘ını düzeltiyorum. Görselin hex kodlarını düzenleyebilmek için vim
‘i :%!xxd
komutuyla kullanarak dosyayı hex haline çeviriyorum. Dosyanın 52 23 21 68
olan ilk 4 byte’ını PNG’dosyasının olması gereken magic byte‘ı olan 89 50 4e 47
haline getiriyorum.

Dosyayı hex modundan çıkarmak için :%!xxd -r
komutunu kullandıktan sonra kaydediyorum. Görsel dosyası bir miktar düzelse de hala alt tarafı düzgün görünmüyor.

Dosyadaki problemi anlamak amacıyla pngchec
aracını kullandığımda invalid IDAT row-filter type
hatasını görüyorum. Düzeltmek için bir süre uğraşsam da başaramıyorum ve online bir tool kullanmaya karar veriyorum. Corrupted png’leri düzeltme işlemini yapan bir websitesi buluyorum ve bunu kullanarak görseli düzeltiyorum.

Task 17
Görevde verilen zip
dosyasının parolasını kırmamız isteniyor. Verilen zip dosyasının parolasını brute force ile kırmak için john
aracını kullanıyorum. Aracın zip2john
script’ini kullanarak zip dosyasını john aracının anlayabileceği bir formata çeviriyorum. Çevirdiğim dosyayı direkt olarak john aracına vererek default wordlist’i ile kırmayı deniyorum ve parolayı elde ediyorum.
zip2john <file> > output
john output

Zip dosyasının içinden çıkan görseli exiftool
ile incelediğimde kırmaya devam etmen gerekiyor yazısını görüyorum ve stegcracker
aracıyla rockyou.txt wordlist’ini kullanarak brute force ile resim dosyasının içinden başka bir dosya elde etmeyi deniyorum.
