Pico Bank

Writeups Reverse Engineering PicoCTF Pico-Bank

Home

Description

demo


Solving

Identify

kita diberi sebuah website yang didalamnya dapat mendownload aplikasi pico-bank.apk disini kita akan melakukan reverse engineering dengan menggunakan Jadx jadx setelah mengimpor file pico-bank.apk kita akan mencari string/karakter sesuai dengan yang ada di petunjuk soal, dimana ada credential user yang bocor dan user tersebut bernama johnson jadx dapat ditemukan adanya credential dengan username johnson dan password tricky1990 di com.example.picobank.Login
selanjutnya saya mencoba menginstall aplikasi dan memasukan credential tersebut jadx didalam aplikasi kita diminta untuk memasukan OTP, jadi kita coba cari OTP di source code aplikasinya jadx ditemukan kode OTP yang bocor di res/values/strings.xml dan saat dicoba di aplikasi, akhirnya kita bisa masuk ke menu utama aplikasi

Flag Part 2

jadx didalam menu notifikasi aplikasi, saya menemukan petunjuk dimana flagnya disimpan, flag pertama kemungkinan ada di respon server setelah kita memasukan OTP
di dalam source code com.example.picobank.OTP saya menemukan function dan endpoint yang menangani kode OTP jadx dapat terlihat dengan jelas, bahwa endpoint yang merespon permintaan OTP adalah endpoint /verify-otp, kita coba masukan OTP tadi ke endpoint tersebut jadx respon dari request yang kita buat berisi flag part ke2

{"success":true,"message":"OTP verified successfully","flag":"s3cur3d_m0b1l3_l0g1n_c0085c75}","hint":"The other part of the flag is hidden in the app"}

Flag Part 1

melalui hint respon server sebelumnya ditakan bahwa flag pertama disimpan didalam aplikasi, melalui hint yang kita dapat di awal, bisa disimpulkan bahwa flag, ada dibagian history transaksi jadx setelah dilihat history transaksi di aplikasi, jumlah uang di history terlihat suspicious, jumlah uang tersebut terlihat seperti angka biner
setelahnya kita coba convert seluruh jumlah history transaksi

1110000
1101001
1100011
1101111
1000011
1010100
1000110
1111011
110001
1011111
1101100
110001
110011
1100100
1011111
110100
1100010
110000
1110101
1110100
1011111
1100010
110011
110001
1101110
1100111
1011111

dan angka history transaksi tersebut juga dapat ditemukan di com.example.picobank.MainActivity
setelah di decode, dapat ditemukan flag bagian pertamanya

picoCTF{1_l13d_4b0ut_b31ng_

jadi flag dari chall ini adalah

picoCTF{1_l13d_4b0ut_b31ng_s3cur3d_m0b1l3_l0g1n_c0085c75}

On this page