Writeup CTFR Obfuscate .NET

Khairu Aqsara Sudirman

Khairu Aqsara Sudirman

Mar 24, 2021 — 1 min read
Belum pernah mendengar kalo .NET bisa di Obfuscate ? Nah klo blum ini pertama kalinya kalian mendengar. Saran dari mimin selesaikan challenge pertama kemudian yang ke-2 karena challenge ini akan membuat brain-damage klo tidak tau cara pemakaian decompilernya.

Download : https://mega.nz/#!V5hiBIwT!eOTz99UBvLdn6WHxyPhio1V52cIblyCgZgb2Gx0vfCA

Dari deskripsi dan judul Challengenya sudah jelas jika aplikasinya di-obfuscate, jadi akan sangat sulit jika mereversenya dalam kondisi ter-obfuscate, saya menggunakan beberapa tool untuk menyelsaiakan challenge ini, pertama saya menggunakan tools dengan nama de4dot tetapi sayang nya repo tersebut sudah diarsipkan oleh siempunya, jadi harus compile fork dulu kemudian compile ulang untuk bisa menggunakan https://github.com/khairu-aqsara/de4dot/ kemudian menggunakan tools https://devextras.com/decompiler/ untuk yang ini banyak pilihan, bisa menggunakan decompiler lain juga

Deobfuscator File Obfuscate.NET.exe dengan menjalankan perintah ./de4dot-x64.exe Obfuscate.NET.exe kemudian dilanjutkan dengan men-decompiler dengan tool decompiler, hasil decompilernya kira-kira seperti ini

private static void Main(string[] args)
{
    "CTFR{y0u_c4n_b34t_0bfu5c4t3_d0t_n3t???}";
    Console.WriteLine("Welcome CTFR");
    Console.WriteLine("Your flag is somewhere in this application");
    Console.ReadLine();
}
writeup ctf Reverse
Read More

Writeup CTFR HP

Karena extensionya jpg jadi pertama-tama discan dulu menggunakan tools JPEGSnoop untuk mencari tau informasi dari gambar yang diberikan, karena ukuran gambar cukup besar, awalnya saya mengira ini bukan challenge Forensic, karena ukuran nya yang cukup besar kemungkinan ada embeded file didalam filenya, tetapi setelah menggunakan binwalk dan foremost tetapi tidak ditemukan ada data lain

Read More

Writeup CTFR Tinggal Dimana

jika dilihat dari source yang diberikan, kita bisa simpulkan jika vulnerability nya berada pada pada bagian gets(target); kemudian dengan melakukan buffer overflow dan meng-overwrite ((void(*)())target)();