Thursday, December 22, 2016

Write Up CTF GKSK - Reverse Simplex

December 22, 2016

Kali ini kita membahas reverse engeneering yang level medium dengan nama Simplex. Mari kita pseucode langsung elf filenya.


Diatas merupakan screenshot pseucode assembly main function dari file simplex . Mari kita sedikit melihat lebih dalam apa yang di lakukan pada fungsi ini.
  • fwrite(0x400a4f, 0x1, 0x19, var_38); merupakan penambahan header "=== OWNED_BY_SIMPLEX ===\n" pada hasil enkripsi.
  • Kemudian di lakukan looping sampai byte di dalam file asli habis. Kemudian per byte di lakukan operasi subtitusi dengan 105 sebanyak 5x.
  • Kemudian di tambahkan dengan char padding \m/(~_^)\m/ 
  • Dan di tambahkan footer "\n=== END_OF_SIMPLEX ===\n".
Dan file flagnya di lakukan enkripsi sebanyak ekstensi "gksk"  dan jumlah ekstensinya sebanyak 3 buah berarti kita harus melakukan dekripsi sebanyak 3x untuk mendapatkan flagnya. Script dibawah akan menjawab semua tantangan ini.







Cara penggunaanya python simplex-decode.py flag.gksk.gksk.gksk . Cara kerja script ini seperti di bawah ini.

  • Pertama tampung nama file dengan split "." kemudian tampung lagi disini berfungsi mengambil berapa banyak ekstensi gksk.
  • Kemudian melakukan loop sampai gksk habis di delete.
  • Mengambil perbyte kemudian di kurang 105 dan di & dengan 0xff untuk memenuhi kode ascii.
  • Simpan hasil ke tmp_chiper  kemudian balikan ke variable chiper untuk melakukan hal yang sama selama gksk berada di variable split_gksk.
  • Hapus ekstensi dari belakang 1 per 1 dengan pop().
  • Kemudian melakukan regex untuk merapikan hasil flag yang di dapatkan.
Hasilnya yang di dapat seperti di bawah.


Hal yang sama dengan soal transomware saya kekurangan waktu dan akal berfikir ketika kompetisi berlangsung sehingga flagnya gagal di submitkan ke server. Tapi setidaknya saya sudah membagikan gimana caranya melakukan reverse engineering walaupun apa yang saya ketahui masih belum cukup untuk ini semua.

Written by

aringan komputer (jaringan) adalah sebuah sistem yang terdiri atas dua komputer atau lebih yang didesain untuk dapat berbagi sumber daya ...

0 comments:

 

© 2015 Learning Basic Network. All rights resevered. Designed by Templateism

Back To Top