RunMe1

  • SOAL
    Jalankan filenya. Jika kamu bisa, kamu akan mendapat flagnya.
    Note: Setelah melakukan sedikit perubahan pada file. Kemudian, fungsi hash yang diperlukan adalah md5. Pastikan untuk menjalankan file tersebut di Windows OS (bukan Wine, dll.)
  • FILE

https://goo.gl/8KdZMh

  •  SOLVE

Dari soal, intinya kita harus bisa menjalankan sebuah file (RunMe1) di Windows OS. Sebelum mengexecute file, saya check terlebih dahulu, dengan command

File RunMe1 ternyata sebuah Portable Executable 32 (PE32), untuk MS Windows, selanjutnya saya coba run terlebih dahulu di Windows 10, hasilnya

Selanjutnya saya cek info file untuk melihat header file pada file tersebut dengan objdump.

Dalam objdump terlihat seperti ini,

Terlihat bahwa Subsystem memiliki value 00000001, sedangkan saat saya mencoba menelusuri dan mempelajari tentang Header Portable Executable Format pada Windows di link ini: PE FORMAT WINDOWS
Disebutkan pada Optional Header Standard Fields (Image Only) bagian Windows Subsystem, ternyata ada 3 bagian penting Subsystem agar image file berjalan,

Pada value 1: Subsystem Native – diperlukan untuk proses driver dan native Windows.
Pada value 2: Subsystem Windows_GUI – merupakan Windows GUI subsystem.
Pada value 3: Subsystem Windows_CUI – merupakan Windows Character subsystem.

Jadi kesimpulannya, PE32 yang harus di run menggunakan Windows (sesuai soal), seharusnya memiliki nilai subsystem di angka 2, selanjutnya kita perlu mengganti nilai Subsystem, dengan LordPE.

Ubah nilai Subsystem dari 0001 menjadi 0002, lalu ubah menjadi RunMe1.exe, dan flagnya merupakan hash md5 file, sesuai clue yang di cantumkan di soal

Leave a Reply

Your email address will not be published. Required fields are marked *