QARK-Tool untuk Otomasi Assessment Android Apps

Selain Drozer-tools untuk melakukan assessment atas satu aplikasi Android, maka terdapat aplikasi gratis lainnya yang termasuk dalam the best tools.

Menurut pengembangnya, aplikasi QARK memiliki tujuan sebagai berikut:

Quick Android Review Kit – This tool is designed to look for several security related Android application vulnerabilities, either in source code or packaged APKs. The tool is also capable of creating “Proof-of-Concept” deployable APKs and/or ADB commands, capable of exploiting many of the vulnerabilities it finds.

Jika anda berminat untuk belajar menggunakan QARK, maka terdapat beberapa sumber referensi yang layak untuk dicoba:

http://resources.infosecinstitute.com/qark-a-tool-for-automated-android-app-assessments/#gref

https://github.com/linkedin/qark

https://www.slideshare.net/ChandanKumarSonkar/quick-android-review-kit-qark

http://jensklingenberg.de/allgemein/android-penetration-testing-with-qark/

Apktool Front End: APK Studio

Pada umumnya, para security analyst menggunakan APKTool untuk melakukan reverse-engineering serta manipulasi atas aplikasi Android (apk).  Proses dekompilasi file apk menjadi Dalvik Bytecode, men-generate signing keys, lalu signing file apk yang telah dimodifikasi semuanya dapat dilakukan dengan menggunakan APKTool.

Selain APKTool, kita juga bisa menggunakan APK studio dengan source code khusus yang dikembangkan oleh Vaibhav Pandey.  Prinsipnya APK Studio menyederhanakan proses disassembling dari file APK dengan Smali syntax-aware editor yang terintegrasi, dan dengan opsi one-click untuk melakukan rekompilasi dan signing aplikasi yang telah dimodifikasi dan akhirnya meng-install file APK ke dalam perangkat Android dengan menggunakan ADB.  Dengan kata lain, APK Studio menggunakan APKTool untuk disassembly, bersama dengan ADB serta jarsigner untuk signing file APK yang telah dimodifikasi.

Untuk proses signing dengan APK Studio, analis tetap harus menghasilkan keystore dengan keytool executable yang ada dalam Java Development Kit (JDK).  Selanjutnya APK Studio akan sign file APK dengan keystore, tetapi tidak secara otomatis menghasilkan keystore untuk analis.

http://www.vaibhavpandey.com/apkstudio/

Satori + Wireshark = Akurasi Proses Analysis Platform Fingerprinting

Salah satu tahapan dalam melakukan Pentesting atas Mobile Phone-terutama terkait Network-adalah melakukan fingerprinting atas semua client yang terhubung dengan satu Access Point.  Terdapat 2 (dua) tools yang dapat digunakan yaitu Wireshark dan Satori.

Untuk melakukan fingerprinting ini, tentunya analyst harus melakukan capturing data packet.  Untuk kasus ini, saya menggunakan mobile-traffic.pcap untuk bahan analisis.  Selanjutnya dengan menggunakan Wireshark, diperoleh hasil sebagai berikut:

Picture 2016-09-04 18_00_28

Tampak host name berupa Blackberry-C17C.  Untuk lebih mudahnya, kita bisa menggunakan tools yaitu Satori.  Untuk proses analisis platform, penggunaan Satori lebih straightforward ketimbang penggunaan Wireshark.  Hasilnya adalah sebagai berikut:

Picture 2016-09-04 17_56_17

 

 

Drozer: Security Assessment Tools untuk Android

Di hari minggu yang cerah ini, sejak pagi tadi saya kembali bermain-main dengan Drozer yaitu framework yang dikembangkan oleh MWR labs untuk menguji keamanan dari satu aplikasi berbasis sistem operasi Android.  Hingga saat ini, Drozer termasuk tools terbaik yang banyak digunakan oleh para security analyst untuk menguji keamanan satu aplikasi.

Saat ini saya sedang menguji satu aplikasi Android berupa web form yang umumnya digunakan untuk kuesioner.  Dengan menggunakan Drozer, saya bisa memanipulasi Android Intent yang menunjukkan adanya kelemahan dalam aplikasi tersebut.

Jika rekan-rekan berminat mempelajari tools tersebut, setidaknya ada 2 tautan yang menarik untuk dikaji:

https://labs.mwrinfosecurity.com/tools/drozer

Introduction to Drozer

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