Mobile
Last updated
Last updated
Challenge | Link |
---|---|
-
Diberikan file APK dan source code
Jadi intinya flag disimpan pada library baby jni dan hanya ditampilkan address dari variable env dan result. Disini kita bisa gunakan jnitrace (https://github.com/chame1eon/jnitrace) untuk melihat data yang digunakan oleh fungsi-fungsi dari JNI dan salah satunya adalah NewStringUTF(flag).
Flag : INTECHFEST{Th1S_w4S_Ju5t_a_w4rM_Up_M0b1l3_Ch4LL___N0w_Ar3_Y0u_R3adY_f0r_th3_R3aL_m0b1L3_ChaLL?!}
-
Diberikan file APK, lakukan decompile
Pada MainActivity dapat diketahui bahwa ketika dilakukan klik terhadap button flag_sender maka akan dijalankan SecondActivity.
Pada SecondActivity dapat diketahui bahwa terdapat proses penambahan extra data dengan key flag menggunakan intent. Jadi malicious apk yang akan kita buat bertujuan untuk melakukan leak terhadap value dari key flag pada intent dengan . Caranya adalah dengan menjalankan SecondActivity dengan intent karena activity tersebut memiliki atribut exported=true
Berikut potongan kode dari APK yang kami buat
Dimana kami menambahkan textView pada layout untuk menampilkan flag yang dileak, jadi ketika activity dijalankan kemudian akan dilakukan listen pada fungsi onActivityResykt dan jika resultCode == 0 (setResut == 0 pada APK target) maka akan diset flag pada textView.
Selanjutnya tinggal kirim APK dan dapat flagnya
APK dapat diunduh pada link berikut https://drive.google.com/drive/folders/1X28MNhUWQyQNv-AMSn7JTwG5zjIpZBw3?usp=sharing
Flag : INTECHFEST{MaL1c10u5_1nt3nt10n}
-
Diberikan file APK, lakukan decompile
Pada MainActivity diketahui bahwa flag disimpan pada shared preference. Pada android, shared preference disimpan sebagai file yaitu pada directory /data/data/<package_name>/shared_prefs/<package_name>.xml.
Selanjutnya dapat kita lihat bahwa requestCode 133337 akan membaca file image dan mengubahnya ke bentuk base64. Disini kita bisa melakukan leak terhadap file flag dengan cara memaksa APK target membaca file flag (shared preference) ketika menggunakan action android.intent.action.PICK. Berikut potongan kode dari aplikasi yang kami buat
Intent-filter akan membuat aplikasi kita (malicious apk) tampil ketika dijalankan activity action pick.
Selanjutnya tinggal kirim APK ke target
Lakukan base64 decode dan dapat flag
File APK dapat diunduh pada link berikut https://drive.google.com/drive/folders/1X28MNhUWQyQNv-AMSn7JTwG5zjIpZBw3?usp=sharing
Flag : INTECHFEST{c3rN1fi3d_1nt3nt_f0rg3r}
baby-jni (139 pts)🥈
Intention (400 pts)
Image Converter (484 pts)
OTA (todo)
Here