Hardcoding Issues - Part 2
Identifying Hardcoded Sensitive Values in Native Library Files
Last updated
Was this helpful?
Identifying Hardcoded Sensitive Values in Native Library Files
Last updated
Was this helpful?
Sama seperti kali ini kita akan mencari kerentanan hardcoded pada aplikasi diva, hanya saja kali ini kita akan mencari credentials pada library yang digunakan.
Anda mungkin sudah tahu bahwa Android APK bisa dibuat menggunakan Java, Kotlin serta seperti C, C++,dll. Dengan menggunakan , komponen Java dan C++ bisa saling berkomunikasi.
Bagian aplikasi yang akan kita bahas kali ini memiliki fitur validasi vendor key untuk mendapatkan akses.
Terlihat bahwa terdapat konstanta VENDORKEY
yang bernilai olsdfgad;lh
.
Setelah dicoba, nilai tersebut berhasil digunakan untuk mendapatkan akses masuk.
Ini membuktikan bahwa Attacker bisa mendapatkan vendorkey dengan mudah yang disebabkan kesalahan developer yang menyimpan credentials di dalam source code.
Selain menggunakan metodologi white box yang melihat source code, kita juga bisa melihat file library yang ada di aplikasi sanbox. Hal tersebut bisa dilakukan pada perangkat yang di-root atau konfigurasi debug=true
pada perangkat non-root.
Jalankan perintah berikut dan Anda akan melihat olsdfgad;lh
pada file libdivajni.so.
Kita akan mencoba mencari vendor key yang valid dengan melakukan pada APK dan mencari kerentanan hardcoding yang mungkin developer menyimpan informasi vendor key pada source code.
Setelah menganalisis source code di atas kita bisa tahu bahwa DivaJni
direferensikan. Karena dari itu kita akan memeriksa file .c
atau .h
pada direktori .
Dengan menggunakan metodologi white box kita bisa membaca file seperti berikut:
Developer seharusnya tidak menyimpan informasi sensitif seperti credentials ke dalam source code. Walaupun terdapat teknik untuk mempersulit seseorang melakukan reverse engineering, hal tersebut tidak sepenuhnya menghentikan kegiatan reverse engineering.