Showing posts with label CTF. Show all posts
Showing posts with label CTF. Show all posts

Monday, May 29, 2017

[Write UP] CTF INDOXPLOIT - Serupa

[Soal]

 Pola hampir sama


[Penyelesaian]

  Diberikan soal yang berisi text yang berisi NiNiNiIchi dll.
isi_file_serupa

Setelah dicari ternyata isi file itu dari bahasa Jepang, Ichi = 1 dan Ni = 2.

Setelah semuanya diubah jadi 1 dan 2 menggunakan gedit, hasilnya menjadi seperti ini :

pesan_ubah

Susunan angka itu  mirip dengan bilangan biner, jadi saya coba mengubah angka 2 menjadi 0 dan melakukan konversi bilangan biner tadi ke bilangan ASCII, dengan tool yang ada di Internet.

pesan_ubah_biner
Angka 2 diubah menjadi 0
pesan_ubah_biner_konversi
Hasil setelah di konversi ke ASCII

Hasil konversi ke bilangan ASCII tersebut ternyata tidak bisa di decode menggunakan tool binary to text. Setelah mencari-cari akhirnya diketahui ternyata bilangan ASCII hasil konversi tersebut merupakan Bacon Cipher, dengan merepresentasikan angka 0 menjadi huruf "A" dan angka 1 menjadi huruf "B" , menggunakan tool dari web ini, text pun berhasil di decode dan didapatkan flagnya.


Share:

Saturday, May 13, 2017

[Write Up] CTF ITobaFest 2017 - Web 2



Task :
Didapatkan website yang berisikan Input First Name, Last Name, dan File Name, ada juga text yang bertuliskan “File Flag : fileflagnya.txt

Screenshot from 2017-05-13 17-26-05.png


POC :
Kami mencoba memasukkan First Name dan Last Name serta Nama File secara acak, tetapi muncul hasilnya not found.
Screenshot from 2017-05-13 17-26-33.png
Ada hal yang unik yaitu setiap kami memasukkan password secara acak maka hasil yang ditampilkan yaitu password yang dienkripsi dengan base64.

Lalu kami mencoba meng-enkripsi nama file yaitu fileflag.txt menjadi base64 dan memasukkannya.

Screenshot from 2017-05-13 17-40-30.png
Didapatkan flag yaitu : ITF{Base64153asYR1GhT}

Share:

[Write Up] CTF ITobaFest 2017 - Web 3



Task :
Terdapat sebuah website yang berisi sebagai berikut :
Screenshot from 2017-05-13 17-42-36.png

POC :
Terdapat clue yaitu Only user that use DracosLinux Browser can login to this site No Mozilla, No IE or other allowed This page containing trap information “, clue tersebut yaitu menggunakan browser DracosLinux.

Dengan menggunakan command curl di terminal, kita bisa mengakses halaman web tersebut dengan mengganti UserAgent. Command yang digunakan sebagai berikut :



Didapatkan hasil sebagai berikut :

Flag yang didapatkan yaitu : ITF{U5eRA6entMakeY0uCo0l}

Share:

[Write Up] CTF ITobaFest 2017 - Rev 1



Task :  Didapatkan sebuah file rev1
POC : Menggunakan command File, tipe file tersebut merupakan file ELF 64-Bit dan Not Stripped.

gambar 1.png

Mencoba membaca pseudocodenya menggunakan IDA Pro seperti dibawah ini, inti dari programnya hanya melakukan perbandingan, jika flag yang dimasukkan benar, maka outputnya "Correct!" dan jika yang salah maka "Wrong".

gambar 2.png
Kami mencoba melakukan breakpoints terhadap alamat memory 0x00000000004006be menggunakan gdb-peda yang merupakan function cmd atau perbandingan, setelah itu kami mencoba menjalankan dan terlihat alamat RAX yang diduga berisi sebuah flag.
gambar 3.png

Lalu kami mencoba mengumpulkan semua value RAX yang didapat, maka didapatkan
Flag : ITobaFest{easy_reverse_is_easy}
Share:

[Write Up] CTF ITobaFest 2017 - Rev 2







Task   :Disoalnya dikasih file berkestensi .pyc buat apa? direverse lah :( biar dapet flagnya :v


File : link

POC :

Pake command file di terminal linux bisa keliatan jenis filenya gan, jenisnya
python 2.7 byte-compiled.



Menggunakan tool bernama uncompyle2, ane melakukan proses decompile pada file python tersebut dengan command sebagai berikut:

uncompyle2  rev2.pyc

Hasil :


# 2017.05.13 18:03:01 WIB
#Embedded file name: medium.py
exec 'import re;import base64'
exec (lambda p, y: (lambda o, b, f: re.sub(o, b, f))('([0-9a-f]+)', lambda m: p(m, y), base64.b64decode('NSAzNwoKMWQgPSBbMjgsIDJjLCAyYiwgMWIsIDMwLCAxNCwgZSwgZSwgMjksIDJhLCBjLCAzNiwgMTMsIDI1LCAyZiwgMzEsIDcsIDM1LCAyMSwgMTYsIDgsIDMyLCAyMSwgMTUsIGQsIGQsIDEyLCA2LCBjLCAyMywgMzQsIDgsIDE3LCA2LCAyNywgMjQsIDMzLCAxMiwgMmUsIDJkLCA3LCAxYywgMjYsIDIyXQoKMTAgPSAiIgoxOCAxZSAxZiBhKDAsIDE5KDFkKSk6CgkxMCA9IDEwICsgMWEoMWUgXiAxZFsxZV0pCgpmID0gMygiMTE6ICIpCjIwICgzNy4yKDEwKSA9PSBmKToKICAxICI0ISIKYjoKICAxICI5ISI=')))(lambda a, b: b[int('0x' + a.group(1), 16)], '0|print|b64decode|raw_input|Correct|import|119|114|112|Wrong|range|else|68|65|64|f|s|Flag|72|105|104|125|126|122|for|len|chr|117|113|t|i|in|if|88|22|46|89|63|26|27|83|82|81|80|87|85|96|92|93|99|77|70|76|35|59|base64'.split('|'))
+++ okay decompyling rev2.pyc
# decompiled 1 files: 1 okay, 0 failed, 0 verify failed
# 2017.05.13 18:03:01 WIB


Output dari uncompyle2 ane simpan menjadi file baru, dan melakukan pengubahan yaitu mengubah sintaks exec didepan lamda menjadi print.


exec 'import re;import base64'
print (lambda p, y: (lambda o, b, f: re.sub(o, b, f))('([0-9a-f]+)', lambda m: p(m, y), base64.b64decode('NSAzNwoKMWQgPSBbMjgsIDJjLCAyYiwgMWIsIDMwLCAxNCwgZSwgZSwgMjksIDJhLCBjLCAzNiwgMTMsIDI1LCAyZiwgMzEsIDcsIDM1LCAyMSwgMTYsIDgsIDMyLCAyMSwgMTUsIGQsIGQsIDEyLCA2LCBjLCAyMywgMzQsIDgsIDE3LCA2LCAyNywgMjQsIDMzLCAxMiwgMmUsIDJkLCA3LCAxYywgMjYsIDIyXQoKMTAgPSAiIgoxOCAxZSAxZiBhKDAsIDE5KDFkKSk6CgkxMCA9IDEwICsgMWEoMWUgXiAxZFsxZV0pCgpmID0gMygiMTE6ICIpCjIwICgzNy4yKDEwKSA9PSBmKToKICAxICI0ISIKYjoKICAxICI5ISI=')))(lambda a, b: b[int('0x' + a.group(1), 16)], '0|print|b64decode|raw_input|Correct|import|119|114|112|Wrong|range|else|68|65|64|f|s|Flag|72|105|104|125|126|122|for|len|chr|117|113|t|i|in|if|88|22|46|89|63|26|27|83|82|81|80|87|85|96|92|93|99|77|70|76|35|59|base64'.split('|'))


Kemudian kami jalankan file tersebut, outputnya sebagai berikut :



import base64


t = [83, 87, 80, 117, 93, 104, 64, 64, 82, 81, 68, 59, 105, 63, 92, 99, 114, 35, 88, 126, 112, 77, 88, 125, 65, 65, 72, 119, 68, 46, 76, 112, 122, 119, 27, 89, 70, 72, 96, 85, 114, 113, 26, 22]


s = ""
for i in range(0, len(t)):
s = s + chr(i ^ t[i])


f = raw_input("Flag: ")
if (base64.b64decode(s) == f):
 print "Correct!"
else:
 print "Wrong!"



Didalam kode tersebut terdapat perulangan dengan variabel s serta kondisi if jika input sama dengan hasil variabel s yang sudah di decode maka akan menghasilkan output Correct.
Untuk mendapatkan flagnya, kami menambahkan kode sebelum f = raw_input (“Flag: “) yaitu :


print base64.b64decode(s)


Setelah dijalankan muncul flagnya yaitu : 


 ITobaFest{deobfuscate_the_snake}

Share:

[Write Up] CTF ITobaFest 2017 - Web 1



Soal : Can you get a username and password ?

 
POC :View source dari web challenge 1

Didapatkan kode sebagai berikut:


web-1



Terdapat sebuah code yang dicomment yaitu :

<!--admin:&lt;~1bpas1M/UU0P34T3+4g%2)d&lt;N1,h%%@:_H.@q@PQA25u$3FX^O~&gt;-->


Dengan menggunakan HTML Online editor, ditambahkan tag <html> diawal dan di akhir code, dan uncomment code tadi, didapat kan test seperti ini :


<~1bpas1M/UU0P34T3+4g%2)d<N1,h%%@:_H.@q@PQA25u$3FX^O~>


Setelah di decode menggunakan ASCII85 decoder, didapatkan text sebagai berikut :


420f3f8b0f6f8a915738274fae9bce61d2489b1a

Text tersebut ternyata dienkripsi dengan SHA-1, dan setelah didecrypt didapatkan password sebagai berikut:


kambing

Setelah mendapatkan password yang didapatkan dari hasil decode SHA-1 lalu login di menggunakan username admin dan password kambing dan didapatkan hasilnya berupa flag : 


 ITF{B0Nu5Nya25P0inTAjaYah}

Share:

Saturday, April 29, 2017

[Write UP] CTF INDOXPLOIT - Hard Forensic

[Soal]

dua orang pelaku kriminal merencanakan pertemuan di sebuah kota di bumi (bukan planet lain)
polisi menyadari gerak-gerik mereka dan berhasil menyadap percakapan mereka, akan tetapi polisi masih tidak menemukan lokasi pertemuan mereka
cyber police akhirnya meminta bantuan mu yang telah terkenal sebagai pro elite forensic
polisi memberikan paket lalu lintas data untuk di analisis yang di curigai terdapat lokasi pertemuan mereka
bantu polisi menemukan lokasi tempat pertemuan mereka, siapa tau dapet jodoh, kan kamu jomblo :v

https://www.dropbox.com/s/vuivvsmp1di6nn9/31337_master_forensic.pcap?dl=0

format flag = idx{nama_kota_negara}
spasi di ganti underscore "_" (tanpa kutip) dan tanpa huruf kapital
contoh = idx{surakarta_indonesia} / idx{banda_aceh_indonesia}



[Penyelesaian]

Didapatkan sebuah file berekstensi .pcap alias packet capture, yang kalo di buka pake command "file" terminal, maka akan keliatan infonya seperti ini :



Terbaca tipe file berupa tcp dump capture file, jadi bisa dibuka pake wireshark.

Tapi sebelum dibuka pake wireshark, kita coba pake command strings buat mengekstrak string apa aja yang ada di dalam file tsb.






Dah mulai keliatan kan XD

Dari output command strings didapatkan clue yaitu :
1.  Ada email dengan subject rendezvous
2. Isi dari email itu ada kata "Address attached" yang brarti alamat yang kita cari mungkin aja ada disitu
3. ada file attachment yang bernama "secretrendezvous.docx" tapi kayaknya di enkripsi ya :v

Langkah selanjutnya buka wireshark, karena mereka berdua komunikasi pake email kita cari protokol yang biasa dipake buat kirim-kirim email yaitu SMTP, langsung di follow stream.

Cari yang ada kata rendezvous



Kopi semua itu gan yang text dienkripsi itu, kita bisa pake tool online di sini

http://www.motobit.com/util/base64-decoder-encoder.asp
Pastekan disitu trs  pilih decode the data sama export to file , kasih nama filenya kayak aslinya aja, rendezvous.docx, trs klik Convert Source Data



Buka tuh hasil decode tadi, trs dapet deh flagnya.


Inget, format flag = idx{nama_kota_negara}.



Share:

This Blog is protected by DMCA.com