Minggu, 16 Juni 2024

Mengelabui Mekanisme Pendeteksi Browser CBT Dengan User Agent Spoofing

Menjaga konsistensi adalah hal yang sangat penting ketika aktivitas ujian berbasis komputer (CBT) dilakukan, salah satu caranya dengan membuat sebuah browser yang memiliki fungsi untuk itu dan inilah yang ditawarkan oleh exam browser.

Exam browser adalah browser yang digunakan untuk membuat lingkungan yang aman yang artinya browser ini memiliki fitur untuk membatasi segala hal yang dapat mengganggu konsistensi ujian seperti tindakan membuka tab lain untuk mencari jawaban, beralih ke aplikasi lain, dan sebagainya.

Namun bagaimana jika keamanan browser yang telah dirancang sedemikian rupa tersebut dapat dikelabui dengan cara yang tergolong sederhana?


Menemukan alamat web server

Tentu hal pertama yang dilakukan adalah dengan menemukan alamat web servernya. 

Dengan menangkap paket dan mencari frame yang memuat informasi tertentu di jaringan hal yang kita cari akan ditemukan.

Alamat web server


Mengakses alamat web server

Ternyata setelah menemukan alamat server yang terkait tidaklah cukup, karena terdapat mekanisme pendeteksi jenis browser yang digunakan ketika mengakses alamat tersebut.



Untuk mengetahui cara kerja pendeteksi ini kita hanya perlu tahu dari mana web server bisa mengidentifikasi tentang aplikasi, sistem operasi dan vendor yang kita gunakan.

Ya, dari user agent header!

Webserver CBT menggunakan header user agent untuk mengidentifikasi browser yang digunakan sewaktu mengakses alamatnya.

Jika nilai header yang telah ditentukan web server sama dengan nilai header browser yang mengakses, maka halaman login bakal ditampilkan. 

Namun jika tidak tampilkan pesan error 402.

Adapun gambaran besar alur pengecekannya kira-kira seperti gambar di bawah ini:



Kita hanya perlu menemukan nilai header user agent exambrowsernya untuk menipu fungsi pendeteksi ini yang mana seakan-akan web server mendeteksi kita menggunakan exambrowser dalam mengakses alamatnya. 


Masalah lain

Terdapat masalah ketika mencoba melihat paket yang lewat, di mana paket-paket ini terenkripsi dengan TLS.

Paket yang masih terenkripsi


Kita dapat mendekripsi paket yang ada dengan fitur Pre-Master Secret dari wireshark. 



Kemudian setelah terdekripsi paket HTTP/2 akan terlihat, dengan mengikuti stream paket tersebut, kita akan menemukan nilai header user agentnya. 

Paket yang telah terdekripsi


Menggunakan nilai user agent

Langkah terakhir dengan menyalin nilai header telah didapatkan ke browser yang kita gunakan, 

Contohnya di sini saya menggunakan Fitur Network Condition di Google Chrome, selanjutnya tinggal mengakses kembali alamat webserver dan akhirnya kita bisa mengelabui mekanisme ini dengan digantikannya pesan Error 402 dengan munculnya halaman login CBT.

Menyalin nilai header ke google chrome

Berhasil memuat halaman login CBT


Dampak yang terjadi

Hanya dapat mengakses ujian di luar exambrowser sebenarnya sudah merusak batasan yang seperti dijelaskan di atas. 

Karena peserta ujian dapat membuka tab baru untuk mencari jawaban, beralih ke aplikasi lain, mengunduh soal ujian, dsb.

Contoh dapat membuka tab baru


Penutup

Sebenarnya pada postingan ini saya ingin memperlihatkan bagaimana sebuah fungsi pendeteksinya dapat dikelabui dengan cara yang sangat sederhana.

Sabtu, 08 Juni 2024

Analisis Lebih Dalam Tentang Undangan Pernikahan.apk

Informasi : Postingan ini ditulis pertama kali pada 9 September 2023.

Dalam era digitalisasi seperti sekarang ini, penggunaan internet semakin meningkat. Hal ini turut memicu maraknya penipuan online. Penipuan online adalah segala bentuk kejahatan yang memanfaatkan teknologi internet untuk menipu korbannya.

Akhir-akhir ini maraknya penipuan online dalam bentuk pengiriman file berekstensi .apk ini menjadi ketakutan tersendiri bagi masyarakat.

Dengan semakin banyaknya orang yang menjadi korban modus ini, membuat saya tergerak dalam melakukan analisis lebih dalam mengenai file ini.

Saya akan memaparkan hasil analisa saya bagaimana skenario yang pelaku gunakan, apa saja yang dilakukan apk ini dibalik layar, juga sampai dengan suatu grup yang memiliki hubungan dengan insiden ini.


Skenario yang dilakukan pelaku

Skenarionya sama seperti pada modus yang sudah-sudah, pelaku berpura-pura menjadi kerabat korban dan mengirimkan sebuah pesan melalui aplikasi pesan singkat seperti Whatsapp ataupun Telegram untuk menghadiri sebuah acara pernikahan dan beserta file bernama Undangan Pernikahan.apk alih-alih sebagai bentuk kartu undangannya.

Contoh modus Undangan Pernikahan.apk


Namun jika korban mengklik file tersebut, pelaku dapat menyadap isi pesan korban untuk melakukan aksi selanjutnya seperti mengambil alih semua akun yang terhubung dengan nomor korban.

Sebenarnya saya tidak tertarik untuk menganalisis lebih lanjut namun karena melihat kasus tersebut terjadi pada salah satu kerabat saya, rasa penasaran saya menjadi tinggi untuk mengerti mekanisme Undangan Pernikahan.apk ini.


Memulai analisa

Sampel ini saya dapatkan dari salah satu kerabat dan pada pengujian ini saya menggunakan metode static analysis. 

File ini memiliki nama Undangan Pernikahan.apk dan memiliki ukuran sebesar 6.0 Mb dengan beberapa informasi tambahan sebagai berikut:


Tipe File    : Zip archive data, at least v2.0 to extract, compression method=deflate

MD5 Sum    : 5f3db99f27f0f6cb8ba7387148b765a5




Langkah selanjutnya adalah dengan mendekompilasi untuk mendapatkan kode sumbernya.



Memeriksa izin digunakan

Dengan memeriksa file AndroidManifest.xml, ternyata aplikasi ini meminta izin untuk mengakses SMS dan Internet.



Memeriksa class MainActivity

Pada sampel ini mekanismenya sedikit berbeda dengan modus yang hampir sama seperti "Cek Resi J&T.apk", karena pada class SmsEyeMainActivity tidak terdapat informasi mengenai endpoint server. 



Memeriksa class lainnya

Namun jika ditelusuri pada class lain seperti SmsEyeNetwork terdapat string yang sedikit menarik, karena string tersebut diencode dengan Base64, tepatnya pada variabel str3.



Setelah mendekode string tersebut ternyata ini adalah url untuk mengirimkan sesuatu ke bot telegram.

Kemudian saya memeriksa beberapa class SmsEyeListener dan SmsEyeNetwork terlihat bagaimana format pesan yang dikirimkan ke pelaku.



Adapun bentuk formatnya seperti ini:



Dari bentuk format di atas ternyata selain mengirimkan pesan korban ke pelaku, aplikasi ini juga mengirimkan beberapa informasi tentang perangkat yang digunakan korban seperti informasi model dan manufakturnya.



Masih pada class SmsEyeNetwork, pesan yang ada akan dikirimkan ke akun telegram pelaku melalui perantara bot telegram.



Selain menyadap pesan

Ternyata selain mengirimkan pesan ke pelaku, ternyata aplikasi ini juga mengenerate logs pada perangkat korban.

Ini bisa dilihat pada class LOG53021E yang mana aplikasi ini mengenerate file log pada lokal direktori "/data/data/com.google.undanganiphone/logs".



Mencari informasi tentang akun telegram pelaku

Tidak hanya mendapatkan gambaran tentang apa saja yang dilakukan aplikasi ini, saya juga mencari informasi ke akun telegram manakah pesan tersebut dikirim.

Karena pesan yang dikirimkan melalui perantara bot telegram, tentu di dalam aplikasi akan menyimpan informasi tentang TOKEN untuk mengakses ke API bot telegram pelaku.

Setelah saya memeriksa kembali hal yang terlewatkan ternyata pada fungsi getSmsEyeNetworkData pada class SmsEyeUtils, aplikasi ini mencoba mengakses file asset raw seperti token.txt, id.txt, dan url.txt.



Jika dilihat pada folder assets pada hasil dekompresi awal, token bot telegramnya tersimpan di file token.txt.



Untuk file id.txt saya berasumsi itu adalah file untuk menyimpan ID telegram yang digunakan pelaku untuk menerima pesan, sedangkan file url.txt hanya menyimpan URL yang akan dimuat aplikasi ketika dibuka.

Langkah terakhirnya saya tinggal menggali informasi melalui token dan ID tersebut dan hasilnya 

bot yang digunakan sebagai perantara yaitu dengan nama "Notif Investasi" dengan username "@Jejejdjddjdvwvrfk_bot"



Saya coba menyamakan ID yang tersimpan dalam file id.txt dengan ID yang ada dengan method getChat dan memang benar bahwa ID tersebut sama. 

Kemudian saya mencoba mendapatkan informasi lebih mengenai ID ini dan ternyata akun telegram yang pelaku gunakan untuk menerima pesan memiliki nama "Diana Cantika" dengan nomor ID "5765319748".



Kemudian saya mengunduh foto profil akun telegram tersebut dan inilah hasilnya:


Hasil ekstraksi foto Telegram yang digunakan Pelaku


Mengerjai pelaku

Sebenarnya informasi yang didapatkan sudah cukup untuk mendapatkan gambaran besar tentang file Undangan Pernikahan.apk ini. namun karena kebetulan saya orangnya ramah, jadinya saya mencoba menyapa pelaku dengan beberapa cara.


1. Mengubah profil informasi bot telegram pelaku

Saya juga mengubah informasi bot telegram pelaku.

Profil bot pelaku sebelum saya ubah


Anda bisa mengecek perubahannya melalui https://t(.)me/Jejejdjddjdvwvrfk_bot

Profil bot pelaku setelah saya ubah


2. Mengirim pesan ke pelaku

Saya coba mengirimkan pesan pelaku melalui bot yang digunakannya. Disini pesan yang dikirim melalui API bot telegram dengan pemanggilan method sentMessage.

Tapi mengirim pesan biasa tidak akan berkesan buat pelaku, jadi saya mencoba melakukan spam request untuk mengirim pesan dengan bantuan BURP Intruder dan hasilnya seperti ini:

Dengan ini berbagai pesan masuk dari korban akan tertimpa dengan pesan yang saya kirimkan. 


Mengapa saya melakukan ini?

Alasan saya melakukan aksi seperti di atas bertujuan agar pelaku sadar bahwa bot telegram miliknya telah tertakeover, yang berarti pelaku harus merevoke token agar saya tidak bisa lagi mengakses bot telegramnya.

Yang berarti file Undangan Pernikahan.apk yang telah disebarluaskan maupun yang telah berjalan di perangkat para korban tidak lagi bisa mengirimkan pesan dari korban ke pelaku karena ada perbedaan token, dan pelaku harus membuat kembali dan memperbaharui token Undangan Pernikahan.apk ini agar dapat berjalan kembali.


Informasi tambahan

Jika diperhatikan dengan seksama pada nama class yang saya tebalkan dan menyalin nama package tersebut pada mesin pencari, informasi pembuat package tersebut akan muncul dan ternyata merupakan buatan salah satu forum gray hat yang bernama AbyssalArmy.

Grup ini berhubungan terjadinya fenomena ini


Setelah menelusuri melalui telegram grup mereka, ternyata grup ini sering membuat tools yang berhubungan dengan aktivitas penyadapan.

Pelaku menggunakan package dari grup ini


Rangkuman

Penipuan berbasis undangan pernikahan.apk adalah salah satu modus penipuan yang marak terjadi di Indonesia dalam beberapa waktu terakhir. yang mana modus ini memanfaatkan kegembiraan masyarakat akan adanya acara pernikahan untuk mengelabui korbannya.

Para pelaku penipuan ini biasanya akan mengirimkan undangan pernikahan yang berbentuk file .apk melalui aplikasi per pesanan, seperti WhatsApp atau Telegram. 

Jika korban mengklik file .apk tersebut, maka akan terinstal sebuah aplikasi di perangkatnya kemudian akan menyadap isi pesan serta informasi perangkat korban, lalu mengirimkannya ke akun Telegram pelaku yang memiliki nama Diana Cantika melalui perantara bot dengan nama Notif Investasi.

Selain melakukan aksi di atas, file apk ini juga mengenerate log pada perangkat korban dan menyimpan file log tersebut pada direktori /data/data/com.google.undanganiphone/logs.

Aplikasi ini sebenarnya adalah spyware yang dirancang untuk mencuri data pribadi korban, seperti nomor rekening, PIN ATM, dan OTP.

Saya sudah buat diagram bagaimana gambaran besar file Undangan Pernikahan.apk ini bekerja.



Penutup

Pengetahuan keamanan informasi merupakan hal yang penting bagi setiap orang, baik dalam kehidupan pribadi maupun profesional.

Dengan memperhatikan aspek keamanan informasi, kita dapat melindungi diri dari berbagai ancaman, seperti penipuan bermodus Undangan Pernikahan.apk ini.

Itulah hasil pemaparan yang saya lakukan dalam menganalisis file Undangan Pernikahan ini, semoga dengan adanya postingan ini masyarakat sedikit terbantu untuk mengerti ataupun mengenal salah satu jenis penipuan online yang marak sekarang ini.

Karena dengan semakin banyak orang yang mengenal modus penipuan ini, jumlah korban secara linear juga akan ikut menurun.

Jika terdapat kesalahan dalam penulisan, pemberian istilah sampai dengan penjelasan yang kurang jelas saya mohon maaf.

Saya akhiri dengan mengucapkan Terima kasih.

Postingan Lainnya

Death Bed Challenge: Petualangan Menemukan Lokasi Asli Sebuah Foto

Death bed merupakan salah satu challenge yang menarik, karena pada challenge ini kita tidak mencari suatu kerentanan pada suatu sistem, mela...