Your browser does not support JavaScript! Teknofest - Hackistanbul - CTF ~~ Burtay.Org
    Follow @burtay  
  None

Teknofest - Hackistanbul - CTF

   

Oluşturma Tarihi : 25.09.2018 15:33:18
Son Güncelleme   : 21.10.2018 18:23:28



Biliyor musunuz bilmiyorum, geçen hafta düzenlenen teknofest'te birde CTF düzenlendi. Üzerine çok konuşuldu çizildi gruplarda. Bildiğiniz üzere ben CTFlere karşıyım ve oldukça komik buluyorum. Daha doğrusu CTF'nin içeriklerini komik buluyorum. Yoksa mantıklı CTF'ler yapılsa güzel şeyler çıkacağından eminim ama malesef ülkemizde ki CTF içerikli bana "zorla güzellik olmaz" sözünü hatırlatıyor.

Ilgaili CTF'ye giren bir arkadaşın burda yayınlanması için kaleme aldığı yazı aşağıdaki gibidir. Bundan sonrasını ondan dinliyoruz.

#hackistanbul

merhaba değerli arkadaşlar hackistanbulda neler yaşandı neler bitti bunları sizlerle paylaşayım.

hackistanbul için 3 aşama oluşturuldu ilk aşamadan başlayarak gidelim ;

Pre-Selection

bu aşamada 3 bölümden oluşuyordu rookie - skilled - wiseman olmak üzere her bölüm için 9 soru ayrılmıştı

belirli zaman aralıkları ile diğer bölümler açılıyordu

bu aşamalarda sorulan sorular

hello-wurld


indirilen dosyada unicode mevcut unicodeleri metinsel ifadeler çevirince flagi veriyor



noisy-network
bu soruda bir pcap dosyası verilmişti bu pcap dosyasından ftp şifresini istiyordu
pcap’ta doğrudan ftp ile ilgili filtreleri yaptıktan sonra ilgili şifre önümüze geliyordu.


hint-hint

bu soruda yukarıda tarafta verilen zebra fotoğrafı mevcuttu. fotoğrafı ilk önce binwalk ile baktığımızda bir şey yoktu steghide olacağını düşünüp bakmıştık ama flag resmin içinde saklıydı doğrudan not defteri ile açarsanız en son tarafta flag yazıyordu veya strings ile resmin içindeki string değerlerine bakıldığında en alta çıkıyordu.

good-old-caesar

4x 34 e4a tyt y9 qwqy3! q17ywx9 t43'9 cqy9 944 2asx za89 9q0u 9xu v1wq q3t 574suut 94 9xu 3ud9 43u. xu7u y8 e4a7 v1qw: lxhvnh3g7tj7l

verilen metni incelediğimizde içerisinde sayılarında geçtiğini görüyoruz bu yüzden caesar decode ederken alphabete sayılarıda dahil etmemiz gerekmekte

abcdefghijklmnopqrstuvwxyz0123456789

geriye tek bir şey kalıyor shift değerini bulmak onuda deneyerek 16 olduğunu gördük flag orada yazmakta ;

oh no you did it again! alright don't wait too much just take the flga and proceed to the next one. here is your flag: 5h1f71n0rd3r5 



mors sorusu ( ismini tam hatırlıyamadım )
bu soruda bir zip veriliyordu indirilen zipte Samuel F. B. isminde bir klasör ve klasörün içinde yanılmıyorsam 360 tane yakın parça resimler vardi, bu resimlerin bazılarında koordinat bilgileri mevcuttur ama biz önce ona odaklanmayı bırakıp resimleri birleştirmeyi denedik.
uzun bir süreç sonrasında 2 resimi birleştirmeyi başardık.
sorunun adı nop3 gibi bir şeydi yanılmıyorsam resimde on3 love’yi görünce ilk başta flag o sandık ama sonrasında koordinatlara yöneldik.
önce resimi size veriyim.



masaüstü resmi yaptık yarışmadan sonra sonuçta uzun uğraşlar sonucu bu çıktı :=)
gel gelelim koordinatlara
koordinatlari googlede birer birer işaretlemek için kml formatına çevirip google haritalara aktardık akabinde Samuel F. B. ismimden mors alfabesinin ilgili detaya ulaştık sonrasında takımdan diğer arkadaşıma haritayi gönderdim haritadaki noktaları mors’a dönüştürüp flagi bulduk.
haritadan örnek fotoğraf :



depressed-image
soruda 1 jpg dosyası ve ipucu verilmiş sıkıştırma ile alakalı bir ipucu bu bizi doğrudan binwalka yönlendirdi binwalk sonucunda resim içinde 1 adet zip dosyası olduğunu gördükten sonra geriye resim.jpg’yi 7zip veya binwalktan ayrıştırarak zipten çıkarmak gerekliydi çıkardıktan sonra y0uRfl46.txt txt dosyası içerisinde flag yazıyordu.

malware-analysis-101
soruda bir dosya zaralı dosya verildi ve zararlı dosyanın istek attığı ip ve port istendi, dosyayı çalıştırmadan önce wireshark ile ağ trafiği izlediğinde ip ve port numarası düşüyordu.

wiseman
bu soruda bir şifreli zip verildi soruda bizden telefon numarası istiyordu aynı zamanda zipin şifresi hakkında ipucu da 4 basamaklı olduğuna dair bilgi vardı 1000 ile 9999 arasında sayılardan oluşan şifre deneme sonucunda zipin şifresi kırılmıştı ve içerisinde dcm uzantılı dicom dosyası çıkmıştı online araçlar ile açtığımızda hastanın beyin tomografisi olduğunu gördük. detaylar kısmına girildiğinde telefon numarası orada duruyordu yada buna ek olarak notepad ile açıldığında telefon numarasını orada görebiliriz.
flag ise +4920152377

the-count-of-monte-cisco
bu soruda bir yapılandırma dosyası vardı ipucu olarak ise 1 dakikadan uzun sürüyorsa yanlış yoldasınız vardı, inen dosyayı açtığımızda username mrdecoy password 0 $1$hYdHGy9T$tlqNJjA2tqqAAU20hjwUW1 olarak bir şey gördük direk atladık tabi rockyoular hava uçuşuyor sonra baktık ki 1 dakikadan uzun sürüyor bu değildir dedik ekip arkadaşım dosya ile ilgili bir döküman okudu ve şifrenin enable password no-password-created olduğunu söyledi gerçekten flag buydu.

mp3 sorusu : ( adını hatırlayamadım yarasa geçiyordu )
bu soruda bir mp3 verilmişti verilen mp3 dosyasını https://www.audacityteam.org/ buradan indirdiğim program ile açtığımda mp3 ile ilgili ayarlarda split stereo track seçeneğini seçerek ses dalgalarında yazan bir söz bulduk “ tool of thief toy of queen always used to be unseen “ bu sözü internette aradığımızda yazar olarak “ a mask “ verilmişti flag mask olacaktı.

ön eleme aşamasında hatırladığım sorular bunlar keşke bunlarla sınırlı kalsaydı çünkü diğer aşamalar kötü olduğunu düşünüyorum neden mi ? birlikte göz atalım.

CTF Aşaması
bu aşamada görseller almadım ama gittiğimiz yollardan söz edeyim.

Brezilya Makinesi
verilen makineye doğrudan 80 portundan eriştiğimizde önümüzde yönlenen bir adres ve bir resim vardı resim exif bilgilerin baktığımızda “ 12aN5oM “ dikkatimizi çekti kayıt ettik sonrasında sayfa kaynağında yönlenen adrese baktığımızda http://ransom.hck/oscommerce gidiyordu bunun için hosts dosyamıza ip “ ransom.hck “ tanımladık her seferinde değiştirmeyelim diye sonrasında incelemeye başladık önce elimizdeki veriyi değerlendirip admin girişi yaptık sonra admin panelinde yazma izinleri açık olan dizinleri araştırdık admin dizininde tek yazma izni vardı yoksa dil seçeneklerinden bc alabilirdik, bu sırada scripte farklı bir açıkta keşif etmiş olduk pek priv bir şey değil bu yüzden yazma gereksinimi bulmadım.

sadece admin dizinin yazma izni açık olduğunu görünce bu işte bir şey var dedik scriptin bir açığı var mı yok mu diye exploit-db de araştırmaya girdik bu sırada mevcut sürümde “ Authenticated Arbitrary File Upload “ açığının olduğunu gördük buradan sisteme backconnect olduktan sonra /home dizininde bir kullanıcının olduğunu gördük içerisinde ssh key vardı buradan ssh key ile giriş yaptık ilk işimiz sudo yetkisi var mı kontrol etmek bu sırada ftp’den sudo yetkisinin olduğunu gördük hemen

sudo ftp
! /bin/bash
whoami
veya
! /bin/sh
id
whoami
bunlardan birini yazmanız yeterlidir daha ayrıntılı bilgi için
http://www.hackingarticles.in/linux-privilege-escalation-using-exploiting-sudo-rights/

bu makinede alternatif çözüm mevcuttur.
Algeria sorusu
bu soru 1 defa güncellendi makineyi sıfırladıktan sonra tekrar eriştiğimizde windows makine olduğunu tespit ettik ilk aşamada makineye 80 portu üzerinden girdiğimizde XAMPP dashboard sayfası karşıladı bizi oradan phpinfo’ya baktık hedef makinemizin bir windows makine olduğunu gördük o sırada dirbuster’den yanıt geldi drupal’da kurulu.

biz drupal şifresi ile uğraşırken ekip arkadaşlarımdan biri taramaları sonucunda makinede “ MS17-010 EternalBlue SMB “ bulduğunu hatta makineye eriştiğini söyledi, önce yeni bir admin hesabı oluşturup uzak masaüstü bağlantısı yaptık burada belki bizden admin şifresini ister diye düşündük, girdikten sonra administrator hesabın masaüstünde root.txt ve içinde bir not vardı içerisinde “ branches “ ile alakalı bir cümle vardı biraz uğraştıktan sonra bizden istediği dosya burda o halde bu dosyada bir şeyler var diyerek yola koyulduk masaüstünde gizli bir dosya v.b bir şey olabilir diyerek örnek olması adına şu görüntüyü bırakıyorum



dir /r göndererek o dosyaya ait dallara baktığımızda 900 taneye yakın vardı öyle aşağı yukarı baktığımızda çoğunun boyutu aynıydı biri farklıydı doğrudan onu okuduk okumak içinde kullanılması gereken komut ; more

resim örnek olması adına eklenmiştir yarışma ile bir alakası yoktur.

United States
bu soruda direk 80 portundan erişim sağlayıp dirbuster ile incelediğimizde birden fazla wordpress klasörü çıkmıştı hepsi aynı siteyi gösteriyordu ama biri html dosyası olduğu belli oluyordu, bu html olan klasörün içinde en alta kaynak koda baktığınızda binary şeklinde bir şifre çıkıyor onu dönüştürdükten sonra bu bizim admin parolamız.

geriye panele giriş yapip backconnect olmak var bu aşamadan sonra makinede yetki yükseltmek için uğraştık ama birşey bulamadık etc dizini altında bir şeyler aramaya başladık bu soruda doğrudan ” cd /etc; cat * > /tmp/sonuc.txt “ komutunu göndererek can sıkıntısından sonuc.txt yi analiz etmeye başladım bu sırada ilginç bir şey gördüm base64’te benziyordu

MDExMDEwMDEgMDExMTAxMDAgMDAxMDExMDEgMDExMTAxMDAgMDExMDExMTEgMDExMDExMTEgMDEx
MDEwMTEgMDAxMDExMDEgMDExMDAwMDEgMDAxMDExMDEgMDExMDExMDAgMDExMDExMTEgMDExMTAx
MDAgMDAxMDExMDEgMDExMDExMTEgMDExMDAxMTAgMDAxMDExMDEgMDExMTAxMDAgMDExMDEwMDEg
MDExMDExMDEgMDExMDAxMDEgMDAxMDExMDEgMDExMTAxMDAgMDExMDExMTEgMDAxMDExMDEgMDEx
MDAwMTAgMDExMDAxMDEgMDAxMDExMDEgMDExMDEwMDAgMDExMDAwMDEgMDExMDAwMTEgMDExMDEw
MTEgMDExMDAxMDEgMDExMTAwMTAg


base64 evet kırdığımızda binary veriyordu sonrasında bir parola veriyordu kullanıcı adı için /etc/passwd’yi incelemek yeterliydi

hesabın su yetkisi vardı “ sudo su “ dedikten sonra geriye bir tek flagi okumak kalıyordu.

ctf aşaması buraya kadardı burada bir kaç soruda ilerleme kayıt etmiştik ama bir şey elde edemedik.

bir python bot vardı Werkzeug Debugger 5000 portunda çalışıyordu soruyu hatırlayamadım ama botun kaynak kodlarını indirdik sonrasında 5000 portunda çalışan botun kaynak kodlarını indirdik yapısını bildiğimiz için bir kaç şey farklıydı knock knock yazınca wh0sth3r3 cevap atıyordu knock-knock vardı mühtemelen çözemedik biz bunu “ https://github.com/sohelamin/chatbot/ “



Aşaması : The Anti Drone Command&Control Center Cyber Security Test System Challenge
CTF aşamasında ilk 10 giren takımlar final aşamasına davet edilecekti ama bir telegram grubu vardı burada birileri bir şeyler paylaştığı için yazışmaya dahil olsun olmasın o grupta olupta yarışmaya katılan bir birey var ise grubu elendi.ama burada kafaları karıştıran olaylar oldu ?kanıtlar 22 eylülden sonra atılacağını söylediler.

final aşamasına gelmeden önceki ctf skor tablosu :
bu görseler elemelerden önce çekilmiştir.






Final aşamasına gelelim ; önce sorulardan başlayacağım

toplamda 3 makine açıldı 75 - 40 - 40 puan olmak üzere
75 lik makineyi birçok takım çok hızlı çözdü
75 makineden başlayalım ;
makineye ilk erişim sağlandığında 80 portu açık 80 portunda lisp dilinde bir fonksiyon verilmişti.


(defun sin (n)

(if (< n2>)

        n

        (+ (sin (- n 1))

           (sin (- n 2)))))

sin(30)        

bu şekildeydi yanlış hatırlamıyorsam soruda eğer tavşan deliğine kaçarsa tarzında bir ipucu vardı yani recursive function gerekliydi bu durumda biraz araştırmalar sonucunda bu dilde sin fonksiyonun önceden tanımlı olduğunu gördük bu yüzden tekrar tanımlanmaması gerekliydi ilk işimiz fonksiyonun adını düzelttik sadece üst kısımda sonrasında satır 3 ‘Te bir hata olduğunu gördük biraz bu dilin değişken yapısına bakınca

olması gereken if (< n 2 ) olmalıydı sonuç olarak ortaya böyle bir fonksiyon çıkıyordu

(defun cin (n)

(if (< n 2)

        n

        (+ (cin (- n 1))

           (cin (- n 2)))))

cin(30) değerini bulmalıydık bunun içinde
(format t "~% sonuc =  ~d" (cin 30)) 



832040 sayısını elde ettik geriye ip/832040/ girmemiz gerekliydi giriş yaptığımızda status code 200 döndü 404 değil hemen kaynağa baktığımızda bizi bir stack overflow yada benzer bi siteye yönlendirmişti birde kaynakta şifre mevcuttu.
açtığımız dökümanda bir kullanıcı adı mevcut bu kullanıcı home dizinine oluşturulmadan sadece / kök dizinde bir klasörde barınıyordu bizde ilgili dökümanda kullanıcı adını aldık, kaynaktan elde ettiğimiz şifre ile makineye giriş yaptık

restricted_user:hey_it's_me!


giriş yaptıktan sonra /home dizini altında final kullanıcısı olduğunu gördük bu aşamada ne yapacağımızı bilemedik yine /etc dizininde gezinirken normalde linux sistemlerde etc dizini altında olmayan bir dosya bulduk .out uzantılıydı sanırım çalıştırdığımızda bir şeyler vermemişti ama strings olarak incelendiğinde binary şeklinde bir veri mevcut, bu veriyi dönüştürdüğümüzde final kullanıcısının parolasını vermekteydi geriye sadece bağlanıp sudo su çekmek vardı ki öyle oldu.75 puan cepte.

yararlı olabilecek bir döküman soru ile alakası yok.
https://www.exploit-db.com/docs/english/44592-linux-restricted-shell-bypass-guide.pdf


Diğer 2 soru hakkında ;
diğer iki soruyu çözemedik ama yarışma sonrasında çözen takımlara sorarak elde ettiğim bilgileri söylemek istiyorum ;

öncelikle bir makine vardı 80 portundan girdiğimizde forbiden ile karşılaştık dirbuster çare vermedi bu sırada başka bir araçla tarama sonuçlarında humans.txt olduğunu orada Sweetrice yazıyordu araştırdık bu bir scripti ilk harfini küçük yazarak girdiğimizde kaynak koda baktık 1.5.1 sürümü olduğunu gördük exploit araştırmaya başladık bu sırada scriptide indirip açık aramaya başlamıştık belki bizden bir defa da olsa kaynak kodu analiz et istemişler düşüncesiyle...

neyse devam ettik o sırada admin sayfasını görmüştü site başlığı madsite’ di yanılmıyorsam bizde bir kaç tool yazarak admin paneline brute gönderdik nede olsa bütün sorular brute ve dirbuster değil miydi ?
ama mesela şifreyi kırmak değilmiş dirbuster atıp orda dirbusterin big listesinde bir php uzantısı denk geliyor kaynakta js var js ise brainfuck onu decode edince admin şifresi çıkıyor çıktıktan sonra admin panelinde dosya yükleme açığı var oradan gidilmesi gerekliydi.

diğer bir soru ise ilk girdiğinde tarayıcıya 57 bayt bir şey veriyordu bunu araştırınca nginx ile alakalı olduğunu gördük görmekle kaldık :)sonrasında bu sorununda http2 ile alakalı olduğunu söylediler bir admin paneli geliyormuş cookieler’den bir şeyler akıyormuş buda böyle kaldı.

yarışmayı değerlendirmeye gelirsek.önce sonucu paylaşmak isterim


anti drone hacklemeyi bekliyorduk anti drone için sanırım 3 makinenin sonucunda bir ip, ip te uzak masaüstü, uzak masaüstünden değil farklı bir yerden doğrudan erişim. sonuç aşağıdaki ekrana girmek.


çiçekler ile kapatmak zorundayım oraları bir problem çıkmaması adına.yarışmada çapraz sorgular oldu elenen takımlar oldu ilginç şeyler döndü hangi takımlar elendi bilgisini vermek hoş olmaz ama bunu söylemek istiyorum.

ortada bir haksızlık oldu birinci olması gereken takım farklı bir sıralamada.elenen takımları düşünürsek finale girerken arasında farklı takım isimlerini de gördük.sonuç olarak bu bir yarışma bu yarışmanın gerçekten bi hack yarışması mı değil mi onu sorgulamak lazım. dirbuster, strings veya ha bire brute force değil hack, hack reklamda değil, hack hak yemekte hiç değil.bu yarışmada yaşanan olaylar hakkında tek bildiğim şey bir bok bilmediğimdir ki o kadar farklı şeyler oldu ki ellerine yüzlerine bulaştırdılar her şeyi.