PluginPhantom: Trojan Baru Di Android Yang Memanfaatkan Framework DroidPlugin

 

Tim Peneliti Malware di Palo Alto Networks berhasil mendeteksi trojan jenis baru di android yang diberi nama PluginPhantom. Alasan dari penamaan ini karena kemampuan dari Trojan tersebut yang berhasil memanfaatkan FrameWork DroidPlugin untuk menjalankan aplikasi berbahaya. FrameWork DroidPlugin sendiri adalah sebuah framework open-source yang bisa menjalankan aplikasi lain secara virtual diatas aplikasi utamanya, aplikasi virtual ini kemudian dinamakan plugin. Kemampuan utama dari DroidPlugin ini adalah tidak dibutuhkannya instalasi dari aplikasi virtual atau plugin yang akan dijalankan.

PluginPhantom kemudian memanfaatkan kemampuan plugin dari DroidPlugin ini untuk menghindari deteksi dari program antivirus dan program keamanan lainnya. PluginPhantom menjalankan berbagai aplikasi berbahaya secara virtual sebagai plugin tanpa harus menginstallnya satu persatu. Masing-masing aplikasi berbahaya tersebut dikendalikan oleh satu aplikasi utama yakni aplikasi PluginPhantom itu sendiri. Kemampuan ini memberikan keleluasaan bagi PluginPhantom untuk melakukakn update terhadap aplikasi berbahaya yang sedang berjalan tanpa perlu melakukan install ulang.

Infeksi dari Trojan ini dimulai ketika pengguna baik secara sengaja atau tidak menginstall aplikasi yang telah terinfeksi PluginPhantom. Aplikasi utama ini kemudian disebut host yang akan menjalankan berbagai plugin berbahaya yang sebelumnya telah berada pada resource aplikasi host tersebut. Setiap plugin yang dijalankan memiliki fungsinya masing-masing yang berbeda satu sama lain

sumber gambar: http://researchcenter.paloaltonetworks.com
sumber gambar: http://researchcenter.paloaltonetworks.com

Tim dari Palo Alto Networks berhasil mendeteksi 9 plugin berbahaya yang dijalankan oleh aplikasi host ini. Dari 9 plugin tersebut terdapat 3 plugin yang berfungsi sebagai inti yakni plugin task, update dan online. Sementara 6 plugin sisanya akan menjalankan tugas berbahaya sesuai namannya yakni plugin file, location, contact, camera, radio, dan wifi.

Aplikasi host mempunyai kontrol secara penuh terhadap semua plugin tersebut termasuk memberikan perintah atau command. Pada kondisi awal ketika aplikasi host ini berjalan dia akan langsung menjalankan kesembilan plugin berbahaya tersebut

Plugin online bertugas untuk terhubung dengan server Command and Control (C2 atau CnC) untuk kemudian mengupload informasi terkait perangkat yang telah berhasil diinfeksinya. Di fase awal plugin ini akan melakukan inisiasi terhadap server C2 melalui protokol UDP untuk memastikan jika server masih tersedia. Selanjutnya plugin ini akan menerima command dari server C2 melalui WebSocket

Plugin Task berfungsi sebagai jembatan antara aplikasi host dan plugin yang lain. Tergantung dari command yang diberikan oleh host, plugin task akan meneruskan command tersebut ke plugin yang sesuai dengan command tersebut untuk melakukan aktifitas berbahaya. Selain itu plugin task juga bertugas untuk mengupload semua data yang berhasil dicuri dari perangkat android yang telah diinfeksi dan dikirimkan melalui WebSocket ke server C2. Plugin task juga bisa melakukan update terhadap semua plugin yang lain termasuk dirinya sendiri jika mendapatkan command update dari aplikasi host sebelumnya. Setelah update diterima, plugin task akan meminta aplikasi host untuk melakukan reload terhadap semua plugin tanpa perlu melakukan install ulang.

Tujuan utama dari Trojan ini adalah melakukan pencurian data dan informasi dari perangkat yang berhasil diinfeksinya. Melalui 6 pluginnya yang lain, aplikasi host dapat memberikan command yang spesifik untuk mencuri berbagai informasi.

  • Plugin File dipakai untuk melakukan pencurian berbagai file yang berada pada perangkat
  • Plugin Location digunakan untuk mendapatkan informasi lokasi dari perangkat
  • Plugin Contact dipakai untuk mencuri data SMS, riwayat telepon, informasi kontak, dan melakukan penyadapan terhadap telepon masuk dari nomor tertentu
  • Plugin Camera dipakai untuk mengambil foto baik dari kamera depan maupun belakang termasuk juga mengambil skrinsut dari tampilan layar. Untuk menghindari kecurigaan korban, plugin ini menggunakan frame yang sangat kecil untuk preview fotonya saat melakukan pengambilan foto melalui kamera
  • Plugin Radio melakukan perekaman suara secara diam-diam baik untuk telepon masuk atau suara lain tergantung dari command yang diberikan dari server
  • Plugin WIFI dipakai untuk mencuri informasi seputar WIFI seperti SSID, password, IP Address, dan MAC Address. Plugin ini juga dipakai untuk melihat berbagai proses yang sedang berjalan pada perangkat dan mengambil informasi riwayat peramban atau browser.

Selain melalui berbagai plugin diatas, aplikasi host juga memiliki kemampuan lain sebagai keylogger. Kemampuan ini memungkinkan aplikasi host dapat merekam semua ketikan yang dimasukkan oleh korban dan mengirimkannya ke server. Meskipun begitu, teknik ini masih belum bisa merekam dan mengambil inputan berupa password menurut Tim Peneliti di Palo Alto Networks.

Melihat kemampuan yang dimiliki oleh Trojan ini yang berhasil memanfaatkan kemampuan plugin untuk menghindari deteksi bukan tidak mungkin jika di masa yang akan datang akan lebih banyak lagi malware lain yang juga akan ikut menggunakan teknik yang sama.

Untuk perlindungan dari serangan malware anda bisa mengikuti tips berikut

Sumber:

https://netsec.id/pluginphantom-trojan-android-manfaatkan-framework-droidplugin/

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.

Reverse Engineering & Analysis Mobile Malware

Examiner dapat melakukan reverse engineering atas file .apk yang telah diperoleh yang diduga merupakan malware.  Terdapat beberapa tools baik berupa web service maupun aplikasi untuk melakukan reverse engineering yaitu:

  1. Dexter: merupakan web service untuk analisis malware secara statis. Examiner dapat mengupload file .apk ke dalam website tersebut dan selanjutnya Dexter akan melakukan analisis secara ringkas terutama metadata dan packages dari malware;
  2. Anubis/Andrubis: merupakan web service untuk analisis malware secara statis dan dinamis. Artinya selain menganalisa seluruh kode programming yang ada di file .apk, web service Andrubis akan menjalankan file .apk dalam sandbox.
  3. APK Inspector: merupakan kumpulan tools dengan menggunakan satu interface. APKInspector memiliki JAD untuk Java decompiler.
  4. Dex2Jar: tool untuk decompiler file .apk.
  5. JD-GUI: tool untuk decompiler file .apk dalam GUI format.
  6. Santoku: merupakan kumpulan tools yang selain berfungsi sebagai mobile phone forensics tools juga berfungsi sebagai tool untuk analysis malware.

Berikut ini URL/link untuk mengunduh software-software tersebut:

No Aplikasi URL
1 Android Developer Toolkit – Android Studio (SDK Tools) https://developer.android.com/studio/index.html
2 Convert .dex file to .jar file – Dex2Jar https://sourceforge.net/projects/dex2jar/
3 Java Decompiler – JD GUI http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/JD-GUI.shtml
4 Java Development Toolkit http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
5 Santoku https://santoku-linux.com/

Tinjauan Umum File Backup Forensics

File backup dari smartphone merupakan bagian yang penting disamping investigasi atas perangkat smartphone itu sendiri.  Pengguna dapat men-wipe atau menghapus data secara permanen dalam smartphone tetapi tidak berarti data tersebut hilang selamanya.  Masih terdapat alternatif data dalam file backup yang tersimpan dalam komputer, media penyimpanan eksternal atau bahkan di cloud.  File backup dihasilkan ketika pengguna memilih untuk menyimpan dan membackup data atau saat proses upgrade atau downgrade atas versi Sistem Operasi yang digunakan.  Sebagai contoh, BlackBerry secara otomatis menghasilkan file backup ketika Sistem Operasi sedang dimodifikasi untuk mencegah data yang hilang ketika terjadi satu kesalahan dalam proses.  File backup tersebut diberi nama yang berbeda dengan file backup yang dibuat oleh pengguna dan mungkin memiliki informasi yang lebih banyak dibandingkan dengan file backup personal. Umumnya file backup seperti ini keberadaannya tidak disadari oleh pengguna.

File backup berisi data yang mungkin oleh menurut pengguna sudah tidak ada lagi, karena sebelumnya sudah dihapus.  Pada kenyataannya, seringkali data yang sudah dihapus tadi masih terdapat dalam file backup dan dapat dipulihkan oleh examiner.  Bergantung pada jenis smartphone dan metode backup, maka banyak file backup mungkin tersedia.  Artinya perubahan data dalam smartphone akan terangkum dan tersedia dalam berbagai file backup yang ada.  Pada perangkat iOS, proses backup akan menghapus file backup terdahulu.  Namun ada kemungkinan file backup tersedia di Cloud dan dalam komputer, dan keduanya mungkin memiliki data yang berbeda bergantung seleksi backup dan tanggal proses backup.

Dalam beberapa kondisi, mungkin saja file backup atas smartphone menjadi satu-satunya opsi yang tersedia untuk proses ekstraksi data digital atas smartphone. Pada saat penulisan buku ini, terdapat lima sistem operasi yang paling banyak digunakan oleh produsen smartphone yaitu Android, iOS, Nokia, Windows dan BlackBerry.  Masing-masing sistem operasi atau produsen smartphone memiliki dan menggunakan aplikasi untuk melakukan backup.  Dalam praktik smartphone forensics, seringkali lebih dari satu forensic tools dibutuhkan oleh examiner untuk secara utuh mengekstrak data dari file backup.  Selain itu-khusus untuk BlackBerry-examiner dapat memperoleh data lebih lengkap dari file backup dibandingkan data ekstraksi atas handset.  Sebaliknya, jumlah data dari file backup sangat terbatas untuk smartphone Android.

File backup dari iOS dan BlackBerry lebih umum dan sering ditemukan dibandingkan file backup Android dan Nokia, sehingga lebih jarang digunakan untuk proses restore.  Oleh karena itu, peranan file backup iOS dan Blackberry dalam proses investigasi sangat penting dan harus menjadi fokus pencarian oleh examiner.

Sistem Operasi Android – Tinjauan Umum

Sejarah Sistem Operasi Android

Sistem Operasi Android dimulai dengan didirikannya Android Inc. pada tahun 2003 oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White yang kemudian diakuisisi oleh Google pada tahun 2005.  Pada tahun 2007, Open Handset Alliance (OHA) yaitu satu konsorsium yang berisikan perusahaan-perusahaan teknologi, pabrikan handset, pabrikan chipset dan operator seluler bergabung untuk menciptakan satu standar terbuka (open standard) untuk platform telepon seluler.  Akhirnya OHA berhasil mengembangkan sistem operasi Android yaitu platform telepon seluler yang bersifat terbuka dan gratis yang dibangun diatas Linux kernel 2.6.  Pada bulan Oktober 2008 dikeluarkan produk HTC Dream (T-Mobile G1) yaitu telepon seluler pertama yang menggunakan sistem operasi Android yang dipasarkan di Amerika Serikat dan beberapa negara Eropa.  Sejak saat itu, terdapat perkembangan yang pesat dari Android dengan berbagai versi untuk mendukung perbaikan dan fitur-fitur terbaru seperti tampak pada Tabel .

No Versi Nama Versi (Code Name) Tahun Dikeluarkan
1 Android 1.0 Apple Pie 2008
2 Android 1.1 Banana Bread 2009
3 Android 1.5 Cupcake 2009
4 Android 1.6 Donut 2009
5 Android 2.0 Eclair 2009
6 Android 2.2 Froyo 2010
7 Android 2.3 Gingerbread 2010
8 Android 3.0 Honeycomb 2011
9 Android 4.0 Ice Cream Sandwich 2011
10 Android 4.1 Jelly Bean 2012
11 Android 4.4 KitKat 2013
12 Android 5.0 Lollipop 2014
13 Android 6.0 Marshmallow 2015

Sampai bulan April 2016, pengguna perangkat Android dengan versi 4.4 (KitKat) dan 5.0 (Lollipop) masih mendominasi distribusi secara global yaitu lebih dari 70%.

Tinjauan Telepon Seluler Android

Smartphone (dan alat-alat elektronik lainnya) yang menggunakan Android sebagai sistem operasi sangat bervariasi baik itu pada tipe dan produsen. Hal ini mengakibatkan mobile phone forensic baik itu proses ekstraksi dan analisis atas smartphone Android sangat menantang.  Secara umum, smartphone Android memiliki karakteristik sebagai berikut:

  1. Menggunakan NAND Flash Memory sebagai internal memory;
  2. Sistem operasi yang digunakan berbasis Linux 2.6 Kernel dan berjalan pada Dalvik Virtual Machine (DVM);
  3. Terdapat tiga besar file system yang umumnya digunakan dalam sistem operasi Android. Namun perlu dicatat, berbagai file system dapat berfungsi dalam smartphone Android. Prinsipnya jika file system tersebut dapat di-mount dalam Linux dan berjalan dalam platform Android, maka satu file system dapat berfungsi dalam smartphone Android;
  4. Data disimpan dalam database SQLite.

Data pengguna disimpan secara internal dan eksternal pada Smartphone Android.  Data yang disimpan secara internal disimpan dalam NAND Flash Memory.  NAND merupakan media penyimpanan data yang bersifat non-volatile, artinya data elektronik yang disimpan dalam NAND Flash Memory TIDAK AKAN HILANG ketika tenaga listrik yang ada dalam smartphone hilang (loss power).  Umumnya NAND Flash memory digunakan untuk menyimpan boot loader, sistem operasi dan data milik pengguna.  Di sisi lain, Random Access Memory (RAM) dalam Smartphone Android digunakan untuk menyimpan data elektronik yang bersifat volatile, artinya data elektronik tersebut AKAN HILANG ketika tenaga listrik yang ada dalam smartphone hilang (loss power).  Oleh karena itu, data elektronik yang ada dalam RAM bersifat data sementara (temporary data) terkait aplikasi yang berjalan.

Salah satu fitur keamanan yang ada dan semakin canggih pada perkembangan sistem operasi Android adalah pengamanan data menggunakan teknologi enkripsi.  Teknologi enkripsi ini digunakan untuk menjaga kerahasiaan (confidentiality) dari data yang tersimpan baik itu dalam internal maupun eksternal memory (optional).  Artinya, jika seseorang bisa mengekstraksi data elektronik dari dalam smartphone Android, sepanjang data tersebut masin terenkripsi, maka data eletronik tersebut tidak bisa dianalis.