88032023006 | ZICO

Praktik Minggu 4 Pentest Mobile

Environment Pentest Mobile

1. Pendahuluan

Artikel ini mendokumentasikan praktik terpadu Environment Pentest Mobile yang bertujuan menyiapkan lingkungan pengujian aplikasi Android untuk kebutuhan analisis keamanan jaringan dan komunikasi aplikasi. Praktik dilakukan dengan fokus pada emulator Android rooted, konfigurasi proxy interception menggunakan Burp Suite, serta penggunaan ADB dan tools pendukung seperti Frida dan tcpdump.

2. Environment Pengujian

  • Host OS: Windows 11 (tanpa WSL, tanpa virtual machine Linux)
  • Emulator: Android Emulator (Google AVD)
  • Android Version: Android 11 (x86_64, development image)
  • ADB Version: 1.0.41
  • Burp Suite: Burp Suite Community Edition
  • Tools Tambahan: MobSF, Frida Server, tcpdump

3. Persiapan Awal

3.1 Verifikasi koneksi emulator

Perintah di atas menunjukkan emulator terdeteksi. Image

3.2 Verifikasi akses root

Output menampilkan uid=0(root) yang menandakan emulator berjalan dalam kondisi rooted.

Image

3.2 Menjalankan dan Akses MobSF

Jalankan container MobSF dengan melakukan mapping port 8000 container ke port 8000 host:

Setelah container berjalan, buka browser dan akses alamat berikut: http://localhost:8000/
Jika berhasil, halaman dashboard MobSF akan tampil dan siap digunakan untuk analisis APK.

Gunakan kredensial default MobSF untuk masuk ke dashboard:
Username: mobsf
Password: mobsf

Setelah login, Dapatkan package name target.

3.3 Instalasi Frida Server dan tcpdump

Disesuaikan dengan ABI emulator lalu di-push ke device:

Instalasi Frida Server

Image

Verifikasi dilakukan dengan memastikan proses Frida berjalan:

Image

Instalasi tcpdump

Image

Pada Android/Linux, pesan error “No such file or directory” saat menjalankan tcpdump tidak berarti file tersebut hilang, melainkan binary tidak dapat dijalankan oleh sistem. Hal ini biasanya terjadi karena tcpdump yang digunakan merupakan dynamic binary yang membutuhkan dynamic linker (misalnya /lib/ld-linux.so), sementara Android emulator tidak menyediakan linker tersebut. Akibatnya, meskipun file sudah ada dan permission sudah benar, sistem tetap menolak mengeksekusinya. Kondisi ini sangat umum terjadi pada environment pentest mobile berbasis emulator dan merupakan keterbatasan lingkungan, bukan kesalahan konfigurasi pengguna.

3.4 Instalasi Burp CA Certificate

Buka Burp Suite → Proxy → Proxy Settings → aktifkan listener 127.0.0.1:8080.

Image

Export Sertifikat Burp: Proxy → Import/Export CA → Export Certificate in DER Format (.cer)

Image

CA Certificate dari Burp Suite diekspor dalam format .cer lalu dikirim ke emulator:

Image

Instalasi dilakukan pada emulator melalui menu: Buka Settings → Security & privacy → More security & privacy → Encryption & credential → Install certificate → pilih CA certificate → install anyway → cari dan pilih file cacert.cer. Sertifikat berhasil terpasang sebagai User CA (screenshot dilampirkan).

Image

3.5 Konfigurasi ADB Reverse

Untuk aplikasi yang mengakses localhost, dilakukan port reverse:

Image

Konfigurasi ini memungkinkan aplikasi Android mengirim traffic ke Burp Suite yang berjalan di host Windows.

Konfigurasi Wifi emulator: AndroidWifi

Image

3.6 Intercept Traffic dengan Burp Suite

Burp Proxy dijalankan dengan mode Intercept On. Aplikasi kemudian dijalankan dan dilakukan interaksi untuk memicu request HTTP/HTTPS.

Image

3.7 Capture Traffic Menggunakan tcpdump

Pada tahap perekaman traffic jaringan menggunakan tcpdump, file binary berhasil dipush ke emulator dan diberikan hak eksekusi. Namun saat dijalankan, sistem Android menampilkan error No such file or directory.

Error ini dianalisis bukan disebabkan oleh ketiadaan file atau masalah permission, melainkan karena binary tcpdump yang digunakan bersifat dynamic dan membutuhkan dynamic linker yang tidak tersedia pada environment Android emulator.

Hal ini merupakan kendala umum dalam mobile pentest ketika menjalankan native tools di emulator. Solusi teknis yang direkomendasikan adalah menggunakan tcpdump versi static build yang sesuai dengan ABI emulator atau menjalankan capture melalui metode alternatif seperti proxy interception menggunakan Burp Suite.

Dalam praktik ini, bukti utama analisis jaringan diperoleh melalui intercept traffic HTTPS menggunakan Burp Proxy, yang telah mencukupi tujuan pengujian.

4. Hasil Pengujian

4.1 Instalasi CA Certificate

CA Burp berhasil diinstal sebagai User CA pada emulator Android. Beberapa aplikasi dapat langsung mempercayai sertifikat ini, terutama aplikasi tanpa konfigurasi certificate pinning.

Image

4.2 Intercept Request HTTP/HTTPS

Request HTTP dan HTTPS berhasil ditangkap di Burp Suite. Hal ini membuktikan bahwa aplikasi masih mempercayai User CA dan tidak menerapkan certificate pinning yang ketat.

Image

Berdasarkan hasil pengujian menggunakan Burp Suite, terlihat beberapa request HTTP berhasil ditangkap, seperti permintaan ke endpoint connectivitycheck.gstatic.com/generate_204 dan www.google.com/gen_204. Request ini merupakan trafik standar Android untuk melakukan pengecekan konektivitas jaringan. Fakta bahwa request HTTP tersebut muncul di tab Proxy → HTTP history menunjukkan bahwa konfigurasi proxy Burp sudah benar dan emulator berhasil diarahkan ke Burp.

Namun, request HTTPS dari aplikasi target tidak terlihat atau tidak dapat di-intercept sepenuhnya. Hal ini mengindikasikan bahwa meskipun Burp CA telah terpasang sebagai User CA, aplikasi target kemungkinan tidak mempercayai User CA atau menerapkan mekanisme keamanan tambahan.

4.3 Bukti Tambahan: Output Frida

Image

Sebagai bukti tambahan, dilakukan pengujian menggunakan Frida untuk melakukan dynamic instrumentation pada aplikasi yang berjalan di emulator Android. Hasil output Frida menunjukkan bahwa:

  • Frida berhasil terhubung ke emulator (Connected to Android Emulator)
  • Script hook berhasil dijalankan, ditandai dengan log Hook Log.d berhasil dan Hook String.toString berhasil
  • Terdapat pesan error MainActivity tidak ditemukan, yang menunjukkan bahwa script mencoba melakukan hook pada class atau package yang tidak sesuai dengan aplikasi yang sedang berjalan
  • Terdeteksi event android.intent.action.PROXY_CHANGE, yang menandakan adanya perubahan konfigurasi proxy pada sistem Android selama pengujian

Meskipun terdapat error pada pencarian MainActivity, keberhasilan proses hooking dan terdeteksinya event perubahan proxy membuktikan bahwa Frida berjalan dengan baik di environment pengujian. Hal ini juga memperkuat indikasi bahwa aplikasi merespons perubahan proxy yang digunakan untuk intercept traffic melalui Burp Suite. Frida dapat digunakan sebagai metode lanjutan dalam lingkungan lab untuk menganalisis perilaku aplikasi maupun melakukan bypass certificate pinning pada build pengujian.

4.4 Bukti Tambahan: tcpdump

Percobaan capture traffic menggunakan tcpdump tidak berhasil dijalankan karena kendala kompatibilitas binary pada emulator Android. Error ini telah dianalisis sebelumnya dan disebabkan oleh keterbatasan environment (dynamic binary / linker). Meskipun demikian, bukti intercept Burp dan output Frida sudah cukup valid untuk memenuhi tujuan pengujian.

5. Mitigasi Keamanan

Berdasarkan hasil pengujian, berikut rekomendasi mitigasi yang disarankan:

1. Implementasi Certificate Pinning

Pastikan certificate pinning diterapkan dengan benar pada aplikasi produksi untuk mencegah MITM.

2. Gunakan Network Security Config

Batasi kepercayaan hanya pada system CA dan backend certificate resmi.
Nonaktifkan kepercayaan terhadap User CA pada build produksi.

3. Hardening Build Produksi

Nonaktifkan mode debug.
Hapus log sensitif.
Aktifkan obfuscation (ProGuard/R8).

4. Deteksi Root & Instrumentation

Tambahkan deteksi root, emulator, dan Frida untuk meningkatkan keamanan aplikasi.

5.Pisahkan Build Testing dan Production

Gunakan build khusus testing untuk kebutuhan pentest agar bypass tidak dapat dilakukan pada aplikasi produksi.

6. Kesimpulan

Secara keseluruhan, praktik Environment Pentest Mobile ini berhasil menunjukkan bagaimana menyiapkan dan menggunakan emulator Android rooted untuk menganalisis keamanan komunikasi aplikasi. Konfigurasi ADB, instalasi Burp CA, serta pengaturan proxy berhasil dilakukan sehingga trafik HTTP dapat diintercept sebagai bukti bahwa environment pengujian berjalan dengan benar. Meskipun intercept HTTPS dan perekaman trafik menggunakan tcpdump mengalami kendala akibat mekanisme keamanan aplikasi dan keterbatasan emulator, hal tersebut justru memperlihatkan adanya proteksi seperti pembatasan User CA dan potensi certificate pinning. Penggunaan Frida sebagai bukti tambahan menunjukkan bahwa dynamic instrumentation dapat berjalan di lingkungan lab. Dari praktik ini dapat disimpulkan bahwa pemahaman environment, kompatibilitas tools, dan mekanisme keamanan aplikasi sangat penting dalam mobile pentesting, serta hasil pengujian menegaskan perlunya penerapan kontrol keamanan jaringan yang kuat pada aplikasi Android.