Manipulasi Transaksi Mobile Banking dengan Burp Suite

Sebagai analis keamanan aplikasi mobile banking, tentunya kita ingin mengetahui sampai sejauh mana keamanan aplikasi terhadap berbagai teknik serangan, termasuk Man-in-the-Middle (MiTM) attack berupa manipulasi transaksi HTTP.

Untuk mendukung skenario attack, saya menggunakan Burp Suite, Kali Linux sebagai server Bank dan Android Virtual Devices yang telah diinstal dengan mobile banking apps.  Gambar berikut menunjukkan skenario untuk melakukan penetration test atas mobile banking apps tersebut.

Clients Interception

Pada Android Virtual Device, saya telah menginstall mobile banking apps yang telah disetting agar semua packet data yang terkait dengan transaksi akan diforward ke Burp.  Gambar berikut ini menunjukkan screenshot dari mobile banking apps yang telah dijalankan.

Mobile banking apps 1

Selanjutnya, saya melakukan transfer sebanyak USD 3 dari dan rekening saya sendiri. Selanjutnya kita bisa melihat bagaimana data transaksi tersebut dapat di-intercept oleh Burp Suite (POST).

Burp Suite 01

Dari gambar tersebut terlihat jumlah transaksi transfer sebesar USD 3 serta nomor account simpanan baik sumber dan tujuan transaksi transfer.  Selanjutnya atas transaksi tersebut, saya lakukan send to Repeater.  Pada tab repeater tersebut saya melakukan rekayasa transaksi berupa transfer dari satu rekening orang lain ke dalam rekening saya.  Mengingat ada parameter yang membatasi jumlah transfer maksimal sebesar USD 100, maka saya mencoba membalik transfer sebesar minus USD 100,000. Ternyata transaksi ini berhasil.

Burp Suite 02

Jika melihat account balance dari savings account saya, maka akan terlihat jumlah uang masuk tersebut.

Mobile banking apps 2

Tentunya ini semua hanya skenario semata-mata untuk mengetahui ada tidaknya celah keamanan dari satu mobile banking apps melalui teknik penetration test.  Tujuan dari tulisan ini adalah menunjukkan penggunaan Burp Suite sebagai salah satu tools yang sangat efektif dalam penetration testing atas satu mobile apps.

Pentesting Mobile Application untuk perangkat Android

Sebelum melakukan analisis atas mobile apps untuk Android, tenaga analis harus memahami setidaknya empat komponen (components) fundamental dari aplikasi Android yaitu Activities, Services, Content Providers, dan Receivers. Serta Androd Intents sebagai mekanisme messaging antar komponen untuk dapat berinteraksi atau lebih dikenal sebagai Inter-Process Communication (IPC).

Seperti halnya pentesting mobile apps untuk iDevices (iOS), maka terdapat teknik dan tools untuk perangkat Android.  OWASP telah mengembangkan cheat sheet untuk dapat dijadikan acuan bagi para tenaga analis mobile apps yang tersaji pada URL sbb: https://www.owasp.org/index.php/Android_Testing_Cheat_Sheet

Analis bisa menggunakan beberapa tools untuk melakukan analisis atas mobile apps Android:

a. Androwarn;

Tools ini umumnya digunakan pada static analysis tool.  Androwarn akan membaca file APK dan memberikan laporan terkait potensi malicious behaviour termasuk: akses atas telephony identifier, akses atas device setting parameter, penyalahgunaan geolocation, akses dan manipulasi atas PIM data dan native code execution & filesystem binary execution.

b. Androsim;

Androsim dapat membandingkan 2 file APK untuk mengetahui sejumlah metode/code yang identik, mirip, baru atau dihapus dari kedua file APK tersebut.  Tool ini sangat berguna untuk:

  1. Mengindentifikasi app rip-offs yaitu ketika beberapa pengembang aplikasi memasukkan aplikasi mereka masing-masing pada Play Store yang pada kenyataannya bersumber dari satu aplikasi yang sama;
  2. Mengidentifikasi perbedaan dari 2 aplikasi.  Umumnya digunakan untuk mengidentifikasi perbedaan dari 2 mobile malware yang diduga berasal dari malware family yang sama atau untuk mengetahui 2 versi dari satu aplikasi.

c. Drozer Framework;

Tools ini merupakan client/server framework untuk mengevaluasi aplikasi Android yang terdiri atas Android application agent dan console component dari Windows/Linux.  Dengan tool ini, kita bisa menganalisis lebih jauh dari mekanisme Android IPC, mengetahui jumlah komponen dari aplikasi dan juga melakukan ‘crafting’ atas Intent messages atas services-services tertentu tanpa harus menulis Java code.

Pentesting Mobile Application untuk iDevices (iOS)

Proses analisis atas mobile apps terutama terkait penilaian keamanan aplikasi mulai berkembang saat ini, walaupun terbilang masih terbatas terutama terkait tools yang tersedia.

Secara umum terdapat 2 jenis metode analisis yaitu secara MANUAL dan menggunakan AUTOMATING app analysis dengan menggunakan tools dari pihak ketiga (third party).

Sejauh ini metode manual menghasilkan output yang terbaik dari sisi detil laporan, walaupun membutuhkan waktu pengerjaan yang relatif lama dan membutuhkan skill set yang mencukupi dari tenaga analis. Sedangkan penggunaan tools yang bersifat otomatis lebih mudah dan cepat, walaupun hasilnya relatif masih terbatas.  Analis bisa menggunakan tools ini sebagai pelengkap dari teknik manual.

Analis harus mengetahui keterbatasan dari penggunaan tools tersebut, mengingat sampai saat ini masih belum ada commercial tools yang cukup valid dalam melakukan analisis.  Umumnya, tools yang tersedia saat ini masih bersifat open-source (free projects), sehingga masih memiliki banyak keterbatasan.

Analis dapat menggunakan tools automated tersebut dalam beberapa kondisi sebagai berikut:

a. Evaluasi atas mobile apps yang baru sebelum mendapatkan persetujuan dari pihak internal;

b. Melalukan pen-test atau audit terkait aspek security dari mobile apps;

c. Evaluasi atas malware pada perangkat mobile;

d. Sebagai bagian dari Incident Response jika terjadi insiden pada perangkat mobile.

Salah satu tahapan dalam pengujian keamanan terhadap mobile apps adalah melalui prosedur pentesting atas applikasi tersebut.  Untuk aplikasi yang digunakan pada perangkat iOS atau iDevices terdapat satu referensi yang sangat menarik buat saya saat ini yaitu https://www.owasp.org/index.php/IOS_Application_Security_Testing_Cheat_Sheet.  Dari cheat sheet tersebut, kita bisa menyusun suatu check list yang harus atau akan dilakukan terkait analisis terhadap keamanan satu aplikasi.  Selain itu, dalam page URL tersebut ditampilkan daftar tools yang tersedia yang dapat digunakan.

Salah satu tools yang sering digunakan untuk perangkat iOS adalah snoop-it. Sudah cukup banyak tutorial yang dapat dijadikan acuan dalam menggunakan snoop it, antara lain:

https://reverse.put.as/wp-content/uploads/2011/06/pentestingiosapps-deepsec2012-andreaskurtz.pdf,

http://resources.infosecinstitute.com/ios-application-security-part-9-analyzing-security-of-ios-applications-using-snoop-it/ dan

http://andressjsu.blogspot.co.id/2015/02/snoop-it-setup-ios-pentesting-tool.html