Mobile

ChallengeLink

baby-jni (139 pts)🥈

Intention (400 pts)

Image Converter (484 pts)

OTA (todo)

Here

baby-jni (139 pts)

Description

-

PoC

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?!}

Intention (400 pts)

Description

-

PoC

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}

Image Converter (484 pts)

Description

-

PoC

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}

Last updated