Magisk merupakan aplikasi root dan systemless interface untuk Android. Saat ini saya selalu memakai Magisk di semua device yang saya gunakan untuk pentesting.
Singkatnya dengan Magisk ini:
- Kita bisa mendapatkan akses root
- Akses root tidak terdeteksi aplikasi apapun, termasuk juga oleh Safety Net dengan fitur Magisk Hide (jadi saya bisa tetap menjalankan Pokemon Go)
- Kita bisa memakai Frida untuk memanipulasi program
Instalasi Magisk
Magisk hanya bisa diinstall dengan mudah pada device yang bootloadernya unlocked. Karena masalah bootloader ini, saya sekarang ini memakai HP Xiaomi Poco F1, dan tidak memakai merk lain seperti Huawei yang tidak mengijinkan bootloader unlock.
Jadi hal pertama yang harus dilakukan adalah unlock bootloader. Caranya berbeda di tiap merk HP, dan kadang harus mendaftar dan menunggu sekian hari baru bisa dilakukan. Jika sudah, kita bisa menginstall software custom recovery TWRP baik secarapermanen maupun sementara. Saya lebih suka cara sementara dengan “fastboot boot twrp*img” supaya gampang mengupdate OS Android.
Setelah TWRP terinstall, kita bisa mempush file installer magisk ke SD card dengan adb (adb push Magisk*zip /sdcard/). Kemudian di TWRP kita bisa memilih install, lalu memilih installer Magisk. Setelah itu reboot.
Untuk memastikan aplikasi lain tidak bisa mendeteksi magisk, aktifkan setting: “Hide Magisk Manager”. Agar sebuah aplikasi tidak melihat magisk sama sekali, centang aplikasi tersebut di menu “magisk hide”. Kita bisa juga menginstall banyak modul Magisk, biasanya gunanya untuk mengubah atau mengaktifkan fitur tertentu. Saya sendiri tidak pernah memakai berbagai modul yang ada karena kebanyakan akan terdeteksi oleh Safety Net.
Frida
Frida merupakan software instrumentasi untuk reverse engineering dan riset security pada umumnya. Kombinasi Magisk dan Frida ini sangat cocok untuk pentesting. Dengan Magisk Hide aplikasi apapun bisa dijalankan, ini penting karena aplikasi yang saya test biasanya tidak mau jalan jika device sudah diroot. Dengan akses root, saya bisa menjalankan. Secara sederhananya: dengan Frida saya bisa mengintercept hampir semua API call di Android. Dengan Frida saya bisa melakukan hal-hal berikut:
- unpinning SSL
- melog method call (biasanya untuk mempelajari enkripsi yang dipakai sebuah aplikasi)
- mengganti method tertentu
Instalasi frida dilakukan di PC dengan Python (pip install frida). Di sisi Android kita perlu mempush server ke /data/local/tmp lalu menjalankan server tersebut sebagai root. Sebenarnya ada juga cara lain agar Frida dijalankan tanpa root, tapi cara ini cukup merepotkan.
Saat ini ada aplikasi objection yang memakai Frida yang memudahkan kita melakukan pentesting. Objection ini bisa dipakai untuk kebanyakan aplikasi, sayangnya aplikasi yang saya test sering kali tidak berjalan dengan baik dengan objection jadi sering kali yang dilakukan adalah:
- membuka APK dengan apktool dan jadx
- mempelajari titik yang perlu diintercept
- membuat skrip manual untuk target saat ini
XPosed Framework
Sebelum memakai Magisk + Frida, saya biasanya memakai XPosed, tapi masalahnya XPosed ini bis terdeteksi oleh safety net (artinya: saya tidak bisa main Pokemon Go di HP tersebut dan beberapa aplikasi banking juga tidak jalan). Sekarang ini saya kadang masih memakai XPosed juga tapi di HP lain (bukan HP utama). Alasannya masih memakai XPosed adalah: karena sudah terbiasa dan modul customnya lebih banyak.
Sebagai informasi, saat ini tersedia juga edxposed yang bisa menjalankan sebagian modul XPosed di atas magisk, tapi tidak semua modul berjalan dengan baik dan kadang terdeteksi aplikasi tertentu. Saat aplikasi ini ditulis, Snapchat bisa mendeteksi edxposed.
Penutup
Demikian penjelasan singkat mengenai sebagian tool yang saya pakai untuk pentesting aplikasi Android. Di waktu lain saya akan menjelaskan lagi aplikasi ekstra yang saya pakai.
Hai Admin Yonahes, saya mau bertanya. Aplikasi apakah untuk kita menemukan method yg digunakan app untuk mendeteksi xposed dan rootcloak Min? Saya pernah membaca artikel, ada satu game dan linkaj* itu menggunakan xigncode.
Saat ini yg belum berhasil teratasi itu aplikasi Mand*r* Online dan On*Mobil*.
Bni, linkaja, BCA semua bisa dengan Magisk Hide dan hide Magisk ke package name baru.
Sebelumnya terimakasih banyak Min.