HackTheBox Challange SAW Write up
Hint :
Malware forensics lab identifies new techniques for hiding and executing code dynamically. Samples that appear to use this technique have just arrived in their queue. Can you help them?
STATIC ANALYSIS
Oke langsung kita install apk tersebut pada device mobile tetapi disini APK tersebut tidak bisa kita buka atau tidak bisa berjalan setelah kita install.
Mari kita lihat dekompilasi dengan Jadx-Gui, sepertinya kita perlu menjalankan aktivitas dengan maksud seperti gambar dibawah untuk melanjutkan atau menjalankan aplikasi ke langkah berikutnya.
Selanjutnya kita mencoba melihat file AndroidManifest.xml, tampaknya disini dilakukan dengan mengeksekusi “android.intent.action.MAIN” dari aktivitas com.stego.saw.MainActivity
Kita mencoba masuk di adb shell dan mengeksekusi payload dibawah untuk menjalankan apk tersebut
Namun, disini saat kita mengklik tombol CLICK ME..
aplikasi tersebut akan tertutup. Menurut hasil dekompilasi, saat tombol CLICK ME..
diklik, tombol baru akan dibuat, dan saat tombol baru diklik, AlertDialog yang menerima nilai pengguna akan muncul.
Jika kita disini melihat isi logcat, disini kita dapat melihat pesan “permission denied for windows type 2038”
Menurut stackoverflow.com, kesalahan dapat diselesaikan dengan mengatur izin aplikasi di Pengaturan. Buka pengaturan izin Aplikasi dan centang allow display over other app
.
Kita jalankan lagi aplikasi tersebut dan CLICK ME..
dan klik tombol yang dibuat untuk melihat AlertDialog
Menurut source code, jika kita ada nilai yang dimasukkan di jendela alarm dan XORIFY disentuh, nilai input ditransmisikan bersama dengan FILE_PATH_PREFIX
ke metode asli a
Kita menggunakan source code javascript yang kita akan kaitkan dengan frida.
DYNAMIC ANALYSIS
Jika kita mengklik XORIFY pada aplikasi setelah memasukan string acak, kita dapat melihat bahwa /data/user/0/com.stego.saw/
diteruskan sebagai argumen pertama dari fungsi _Z17_Z1aP7_JNIEnvP8_1PKcS0_
dan string acak yang kita masukan sebagai argumen kedua.
Setelah memasukan string fl0ating
dan mengklik tombol “XORIFY”. jika kita pergi ke directory atau folder aplikasi /data/data/com.stego.saw
yang ditersukan sebagai argumen pertama dari fungsi _Z17_Z1aP7_JNIEnvP8_1PKcS0_
diatas akan melihat file bernama “h” setelah kita memasukan string “fl0ating”
Kita mencoba membacanya file h
disini kita mendapatkan