Merhabalar bu yazımda katıldığım Siber Güvenlik Zirvesi etkinliğinden birazcık bahsedeceğim. Etkinliği Fırat Üniversitesi FÜTAG öğrenci topluluğu ve Canyoupwnme Fırat ekibi düzenledi. Etkinliğin ilk gününde sabah 09:30 dan akşam 16:00’a kadar konferans düzenlendi aynı günün akşamında çok değerli konuklarımızla beraber bir meet-up (buluşma) gerçekleştirildi. Ertesi 2 gün boyunca çeşitli konularda siber güvenlik eğitimleri verildi ve eğitimlerin sonunda 48 saat süren bir CTF (Capture The Flag) düzenlendi katıldığım bu CTF deki çözebildiğim soruların çözümlerini bu yazımda paylaşacağım ayrıca tüm soruların çözümlerine buradan ulaşabilirsiniz.
1 – Flag Formatı
İlk soruda flag formatının nasıl olması gerektiğini gösteren bir veri vardı direkt flag formatını kopyalıyıp submit ettiğimizde olumlu bir sonuç aldık.
2 – Open mı SSL ?
Bu soruya ilk baktığımızda sizinde tahmin edebileceğiniz üzere şifrelenmiş bir metin görüyoruz başta hangi algoritma ile şifrelendiğini çözemedik ve amatörce birsürü olasılığı değerlendirip denemeler yaptık. Sonuç elde edemeyince soruyu atlayıp diğer soruları birazcık inceledik tekrar soruya geri döndüğümüzde daha detaylı bir araştırma yaptık ve AES algoritmasıyla şifrelendiğini öğrendik fakat bir problemimiz vardı piyasada bir sürü AES türevleri vardı bizde bütün AES türevlerini bir txt dosyasına yazıp enc.txt şeklinde kaydettik daha sonra sorudaki hash’i bir txt dosyasına kaydedip fe.txt şeklinde kaydettik en son aşamada aşağıdaki kodu çalıştırıp birsürü txt dosyası sonucuyla karşılaştık.


0


for i in $(cat enc.txt);do openssl enc -d -$i -in fe -out $i.txt -a -k cypwn;done
Bütün txt dosyalarının arasında flag değerini yakalmak için ise aşağıdaki komutu çalıştırdık.


0


strings * | grep cypwn
flag = cypwn{fazil_say} değerini yakalayıp submit ettik ve olumlu dönüt aldık.
3 – Buda mı Gol Değil ?
Bu soruda bize bir rar dosyası verilmişti ve rar’ın içerisinde 3 tane dosya vardı bunlardan birinin uzantısı .exe idi ve bizim ilk dikkatimizi çeken buydu. dnSpy programı ile .exe dosyasını açtığımızda içerisinde base64 algoritmasıyla şifrelenmiş bir şifre elde ettik ve online decode araçları ile decode ettiğimizde flag değerini yakaladık.
şifre = cjN2M3JzM2RlQmlsaXkwcnVt
flag = cypwn{r3v3rs3deBiliy0rum}
4 – APK İncelemek Benim İşim
.apk uzantılı bir dosya verilmişti dosyayı indirip apktool ile açıp kodlarını incelediğimizde flag değerini direkt yakaladık.
flag = cypwn{m0b1l3b3n1m1s1m}
5 – Yansın mı ?
Resmi indirdiğimizde fotoğraf düzenleme aracı ile açmayı denedik “yansın mı yanmasınmı ?” derken acaba constast değerleriyle oynayıp farklı bir fotoğrafmı ki elde edeceğiz diye düşündük fakat resim düzenleme aracı ile açamadık hata aldık daha sonra not defteri ile açmayı denedik açtığımızda dosyanın metadata bilgilerinde “RAR” olduğunu gösteren bir satır farkettik ve dosyanın uzantısını .rar olarak değiştirdik daha sonra açıp flag değerini yakaladık.
flag = cypwn{salçası_boydan_yansın_abi}
6 – Oku.txt
Bu soruda bize oku.txt dosyası verilmişti dosyayı açtığımızda yukarıdaki gibi bir veri yazılı olduğunu gördük. İnternette yapmış olduğumuz uzun araştırmalar sonucu şunu öğrendikki yukarıdaki metinde “\x” karakteri sürekli tekrar ediyor bu karakterleri çıkarttığımızda bize uzun bir base64 algoritmasıyla şifrelenmiş veri verdi online decoder araçları ile decode ettiğimizde bize bir link verdi linke gittiğimizde uzunca bir metinle karşılaştık. Metnin alt satırında


0


19:30, 01:02, 03:45, 14:19, 01:05, 19:01, 16:16, 20:01, 01:42, 04:03, 02:03, 03:03, 18:01, 21:02, 17:03
gibi ifadeler yer alıyordu ilk başta belki çok abarttık ama koordinat olabileceğini düşündük 🙂 daha sonra farkettikki 19:30 dan kastı “19. satır 30. harf” imiş tek tek bütün harfleri yan yana sıraladığımızda flag değerini elde ettik.
flag = cypwn{okumak_GüzelDir}
7 – Bul Şu Adamı ?
Bu soru üzerine epey bi düşündük ve uğraştık açıkçası. Bilgi toplama kısmında Coder Jonathan James kod adlı birini aradıklarını söylüyorlardı ve internetten adam üzerine araştırma yapmamızı istiyorlardı başta epey bi araştırdık adamın hayatını yaklaşık 10 defa okuduk 🙂 daha sonra GitHub’da aratmak aklımızda geldi GitHub’da arattığımızda flag değerini yakaladık.
flag = cypwn{k4r1s1k_v4Rm1}
8 – Ah Şu Eğitmenler -1
Soruda şöyle bir cümle geçiyordu “SGZ ’18 etkinliğindeki eğitmenlerden biri fotoğraf yanlışlıkla paylaşırken flag de paylaşmış.” bizde bu cümleden yola çıkarak araştırmalarımıza başladık.
flag = cypwn{RefL3c7}
9 – Aradığın Güç İçinde
Soruya baktığımızda “Aradığımız adamı buldun. İstihbarat toplamaya devam et. Aradığın güç içinde İÇİNDE !” cümlesi yer alıyordu. Bizde bu cümleye dayanarak GitHub’da araştırma yapmaya devam ettik
GitHub profilindeki yukarıdaki link dikkatimizi çekti linke tıklayıp baktığımızda flag değeriyle karşı karşıya geldik 🙂
flag = cypwn{g4r4v3L_u5T4y4_S3L4ML4R}
10 – Ah bu eğitmenler – 2
Soruda “Şimdi de Teknoloji Fakültesine kod bırakmışlar, neymiş saat 23.00’dan sonra balkabağına dönüşecekmiş… Bak sen !” ibaresi yer alıyordu. İlk başta okuduğumuzda anlam veremedik acaba gerçekten teknoloji fakültesine gizli bir mesaj bıraktılarmı diye düşündük. Daha sonra şöyle bir fikir aklımıza geldi saat 23.00 dan sonra balkabağına dönüşeceğini söylüyordu bizim okul saat 23.00 da kapanıyor sanırım bunu kastediyordu. Ertesi gün okula gittik ve ilk aklımıza gelen yer FUTAG öğrenci topluluğunun odası oldu çünkü etkinliği düzenleyen FUTAG topluluğuydu, odaya gittiğimizde kapısında bir QR kod dikkatimizi çekti sonradan yapıştırılmış bir QR kod vardı daha sonra QR kodu okutup flag değerini elde ettik daha sonra bizden sonrakilere bir mesaj göndermek için QR kodun üzerine imzamızı attık :))
flag = cypm{g3ld1m_g0rdum_y3nd!m}
11 – Basit Düşün ve Kazan
Soruda Bir sunucuya ait IP adresi yer alıyordu (http://220.127.116.11/). Siteye girdiğimizde karşımıza bir kullanıcı adı ve şifre giriş ekranı çıktı ve yukarıda “Yönetici Paneli” ibaresi yer alıyordu bu dikkatimizi çekti eğer yönetici paneli ise kullanıcı adının “admin” olabileceğini düşündük ilk başta kullanıcı adı ve şifreyi admin-admin şeklinde denedik bize “kullanıcı adı doğru, şifre yanlış” diye bir çıktı verdi buradan anlıyoruz ki kullanıcı adı admin parola kısmına gelecek olursak basit bir kaba kuvvet saldırısı ile (BurpSuite) şifreninde “123123” olduğunu öğrendik giriş yaptığımızda base32 algoritması ile şifrelenmiş bir metin verdi daha sonra decode edip flag değerini yakaladık.
12 – Header Bilgisi Önemli !!!
Soruda bize http://18.104.22.168/header/index.php web sitesine gitmemizi istiyordu gittik birazcık inceledik kaynak kodlarına baktık fakat bir şey elde edemedik daha sonra “Header Bilgisi Önemli” ipucusu dikkatimizi seçti BurpSuite programı ile bizden çıkan paketi yakaladık ve incelediğimizde cookie kısmında “dikkatlibak” şeklinde bir yazı vardı ve base64 algoritmasıyla şifrelenmiş bir metin gördük decode ettiğimizde flag değerini yakaldık.
flag= cypwn{Elazıglı_olmak_misafir_doydum_dediği_zaman_ekmeksiz_ye_o_zaman_gardas_deyip_sofradan_kaldırmamaktır}
13 – Gizlenen Bilgi En Değerli Bilgidir
http://22.214.171.124 şeklinde bir IP adresi verilmiş siteye gittiğimizde ilk yapacağımız iş kaynak kodlarına bakmak oldu kaynak kodlarında en alt kısımda bir yorum satırı dikkatimizi çekti “s1fr3z0rmusGardas” ciddi ciddi böyle bir yazı vardı biz tam da “aha çözdük” derken şifreyi girdiğimizde kabul etmedi daha sonra dizin tarama işlemi yapmayı düşündük ve dirbuster yazılımı ile dizin taraması yaptık “/robots” şeklinde bir dizin olduğunu farkettik dizine gittiğimizde
/
/bulamazsinbeni
şeklinde 2 satır yazı geldi bunların dizinleri işaret ettiğini anlamak çok fazla zamanımızı almadı 🙂
http://126.96.36.199/bulamazsinbeni adresine gittik ve şifre gireceğimiz bir ekran geldi bizde hemen “s1fr3z0rmusGardas” şifresini girip flag değerini elde ettik :).
flag = cnpwm{Nice_memleketler_gezsen_de_Gakkoşlar_Diyarı_Elazığ_bir_başka}
SONUÇ !
Çok keyifli bir CTF gerçekleştirdik, gerçekten çok keyif aldım. Çözebildiğimiz sorularıda bu blog sayfamda paylaştım belki birilerine faydalı olur diye ve bende böylelikle bilgilerimi pekiştirmiş oldum :).
Görüşmek Üzere Selametle Kalın.