Tips Analisis Malware Android Anubis



T-News - Anubis adalah salah satu malware paling terkenal di keluarga Malware Android. Ini masih populer untuk aktor ancaman hari ini, mengingat kemampuannya dan kerusakan yang telah dilakukan untuk pengguna andorid di masa lalu. Di sisi lain, ia menawarkan banyak Pengembang Malware kesempatan untuk mencicipi kemampuan mereka untuk membuat malware baru.


Dimungkinkan untuk menemukan ribuan sampel Anubis berbeda yang diproduksi hingga saat ini di platform seperti Koodous dan Abuse.ch . Pada dasarnya, kita dapat mengatakan bahwa Anubis terdiri dari 2 tahap. Mari kita lihat tahap-tahap ini dan apa yang mereka lakukan.


Two Steps Anubis

Pelaku ancaman, jika mereka berencana untuk menghadirkan Anubis melalui aplikasi yang sah seperti Google Play, mereka menggunakan aplikasi yang akan kami sebut Dropper saat ini. Tugas Dropper adalah mengunduh dan menginstal malware Anubis yang sebenarnya di perangkat sejak mulai bekerja. Di sisi lain, dalam skenario di mana pelaku ancaman berencana menyebarkan Anubis melalui situs web, kampanye palsu, atau hadiah palsu, kita dapat melihat bahwa mereka membagikan aplikasi Anubis secara langsung tanpa menggunakan Dropper.


Droppers

Tampaknya, Droppers mencoba menyesatkan target mereka dengan meniru aplikasi sah populer lainnya di Google Play.


Aplikasi penetes harus menarik perhatian sesedikit mungkin dan senyap mungkin untuk menghindari layanan keamanan Google Play. Untuk alasan ini, kemampuan Droppers sangat terbatas. Ini akan lebih dari cukup bagi aktor ancaman untuk menginstal Anubis pada perangkat target dengan cara yang paling aman. Jadi bagaimana aplikasi Dropper dapat menginstal Anubis di perangkat? Mari kita lihat ini bersama-sama.


REQUEST_INSTALL_PACKAGES, lampu merah pertama yang muncul bersama matahari terbit, pahlawan kita yang pertama kali menyapa kita saat kita memulai cerita kita.

Dengan izin ini, aplikasi Android dapat memperoleh kemampuan untuk menginstal aplikasi eksternal pada perangkat.


Dan dengan demikian, malware Anubis berhasil diinstal pada perangkat. Seperti yang kami sebutkan di atas, Droppers meniru aplikasi yang sah di Google Play untuk menyembunyikan diri dan mendapatkan kepercayaan. Di sisi lain, Anubis melakukan hal yang hampir sama dengan Droppers. Ia menggunakan proses pandemi saat ini dan dampak dari proses ini pada masyarakat untuk menyembunyikan dirinya dan mendapatkan kepercayaan. Nama apk seperti contoh Dukungan Pandemi , Dukungan COVID-19 , Dukungan Lira Turki 2000 , Aplikasi Dukungan Pandemi dan lambang kementerian resmi banyak digunakan pada saat ini.







Checksum


  • Nama aplikasiDie Aile'ye 2000 TL Pandemi Devlet Desteği
  • MD5 : 9e2ebf224ef23e5d01a88e6bd06d6ad0
  • SHA-1 : defb1558ddc36fd10050f2cd65617dce7274dc01
  • SHA-256 a0eb4e0e7346422d18d3421d1f185fcb2b01ac3080ab3b3bc68d67aab1f4477d


Analisis Statis



Hal pertama yang perlu kita lihat di bagian analisis statis tentu saja adalah izin yang diminta oleh aplikasi di AndroidManifest.xml.




Terus terang, banyak malware seluler memberikan diri mereka sendiri pada saat ini, kita dapat mengatakan bahwa izin aplikasi hanyalah salah satu landasan bisnis ini. Demikian juga, Anubis memberi kita kesempatan untuk menebak apa yang dapat dilakukannya dengan begitu banyak kekuatan yang diinginkannya, tetapi di bagian artikel berikut, kita akan melihat bahwa Anubis sebenarnya adalah Malware yang berisi lebih dari yang kita pikirkan. Jika kita perlu memberikan contoh, kita dapat membuat beberapa pernyataan di RECEIVE_BOOT_COMPLETED antara izin yang diminta. Berkat izin penerima ini, aplikasi android dapat berjalan di latar belakang saat perangkat memulai dan memastikan kontinuitasnya di perangkat, dan dalam skenario yang kami lihat, kami menyadari bahwa izin ini juga ada dalam daftar permintaan oleh Anubis.

Salah satu fitur yang biasa kita lihat di banyak malware seluler adalah pemuatan kelas runtime. Ketika kami melanjutkan untuk memeriksa AndroidManifest.xml file kami , mungkin untuk melihat bahwa kelas-kelas yang tidak ada di bagian aktivitas terdaftar. Mulai sekarang, sudah pasti Anubis akan melakukan sesuatu untuk memuat kelas yang hilang saat dimulai.




Ada beberapa cara untuk mengakses kelas kami yang akan dimuat nanti, dalam laporan kami, kami akan merujuk ke pengait fungsi pemuat kelas dan metode pembongkaran manual. Untuk analisis statis kami, kami akan mencapai kelas kami yang akan dimuat nanti dengan mengaitkan dalvik.system.DexClassLoader fungsi, tetapi di bagian terakhir, kami akan bertujuan untuk mencapai kelas-kelas ini dengan membongkar manual.




BINGO!!! File dex kami, yang ingin dimuat menggunakan DexClassLoader fungsi, ada di sini, dan kelas yang dikandungnya adalah kelas yang hilang yang muncul di yang AndroidManifest.xml kami sebutkan di atas.




Sebenarnya, saat pertama kali membuka file hLc.json , kami menyadari bahwa ada lusinan enum kelas yang tidak perlu ditambahkan untuk tujuan mengaburkan , tetapi garpu jadx eybisi memungkinkan kami untuk dengan mudah menghilangkan masalah ini dengan fitur Sembunyikan Kelas Enum .

Ketika kami memeriksa file dex kami yang dimuat dan kelas di dalamnya, kami dihadapkan dengan banyak string yang dienkripsi di parrot.ski.frog.akelas.



string terenkripsi


Dekripsi String
Melihat string terenkripsi kami, kami melihat bahwa mereka semua pergi ke a(String str) fungsi sebelum didefinisikan ke variabel apa pun. Ketika kita memeriksa fungsi dan aliran kode ini, kita dihadapkan pada sebuah proses yang kita kenal.

RC4 + BASE64





Dengan fungsi decryptor kami, string terenkripsi kami pertama-tama dibagi menjadi 2 bagian, 12 karakter pertama dari bagian ini digunakan sebagai kunci dekripsi dan ekspresi yang tersisa digunakan sebagai chipertext.




Setelah string kami, yang dibagi menjadi 2 bagian, dikonversi ke format yang sesuai, dikirim ke fungsi RC4 kami .

Anddd Inilah Fungsi Implementasi RC4 Kami




Anubis menggunakan string terenkripsi yang kita lihat saat runtime dengan mendekripsinya. Ayo sekarang mari kita lihat isinya menggunakan skrip yang saya tulis untuk mendekripsi semua string di sini dan ketika kita melihat outputnya, kita dapat mencapai informasi yang lebih detail tentang kemampuan Anubis, setiap string yang kita dekripsi di sini sangat penting, tapi saya menandai beberapa yang pertama yang menarik perhatian saya.




Ketika saya memeriksa string yang kami dekripsi, saya menyadari bahwa beberapa di antaranya baru saja ditentukan dan tidak pernah digunakan lagi. Pertama, saya berpikir bahwa variabel yang terhubung dengan string akan menjadi hasil dekripsi. Tetapi saya tidak dapat menemukan fungsi apa pun dari jenis ini, lalu saya menemukan DexClassLoaderstring :D




String str2 = this.a.du; // this.a.du =DexClassLoader




Sampel yang kami periksa memuat modul yang diterimanya dari Panel C&C dengan action=getModule&data=permintaan saat runtime menggunakan DexClassLoader dan menjalankan kelas yang dimuatnya com.example.modulebot.mod, yang saya temui dalam string. Ada beberapa string yang tidak digunakan di dalamnya, termasuk yang memiliki nama paket aplikasi seperti Telegram, Whatsapp, Tencent, Ubercrab, Viber, Snapchat, Instagram, Twitter .




Karena C&C Panel tidak aktif, saya tidak dapat memeriksa modul yang akan dimuat saat runtime, tetapi ada banyak aktivitas berbahaya yang dapat disebutkan di kelas yang kami miliki. Untuk menyebutkan mereka secara berurutan;




Anubis dapat mencuri kode 2FA dengan menggunakan getText()fungsi acara Aksesibilitas .

Selain itu, dengan hak aksesibilitas, Anubis juga dapat memberikan izin apa pun yang diinginkannya.




Di sini saya ingin menunjukkan beberapa hal tentang performAction(16)fungsi. Berkat izin aksesibilitas, aplikasi Android dapat mengklik tombol yang muncul di layar.





Setelah aplikasi mulai bekerja, itu membuat persiapan yang diperlukan untuk mengubah informasi dasar tentang perangkat dan informasi penting seperti statBanks , statCard ke dalam format Json.




Saat memeriksa AndroidManifest.xml file, kami melihat izin seperti SEND_SMS, READ_SMS, RECEIVE_SMSdalam kontennya, tetapi tampaknya Anubis tidak ingin puas dengannya. Diperkirakan tujuan Anubis, yang ingin menjadi aplikasi SMS perangkat, pada saat ini adalah untuk menghapus pesan yang masuk agar tidak meninggalkan bukti apa pun.




Saat Anubis pertama kali dijalankan, Anubis menggunakan Preferensi Bersama untuk menggunakan kembali string terenkripsi dalam kontennya.







Seperti dapat dilihat di atas, informasi tertentu disimpan dalam format data nilai kunci untuk digunakan nanti.




Dengan banyak fungsi dan loop tak berujung dalam konten Anubis, ini menyebabkan beban kerja pada perangkat yang memuatnya terus-menerus. Karena salah satu akibat dari beban kerja ini adalah konsumsi energi yang tinggi, pengembang Anubis bertujuan untuk mengatasi masalah ini dengan REQUEST_IGNORE_BATTERY_OPTIMIZATIONS izin.






Aplikasi ini dapat mengungkapkan beberapa kemampuan luar biasa dengan izin Aksesibilitas pada perangkat target. Misalnya, itu dapat mematikan Play Prottec untuk menghindari tertangkap dan mencegah segala upaya untuk menghapus dirinya sendiri dari perangkat, sekali lagi berkat Aksesibilitas.




Pada blok kode yang kita lihat di atas, ia dapat melakukan operasi dengan konstanta 1 dan 2 dari a() fungsi dan performGlobalActionfungsi. Nah, jika Anda bertanya operasi apa yang sesuai dengan 1 dan 2 ini, inilah jawabannya;





Selain itu, kami perlu menyebutkan bahwa pengembang Anubis memperhatikan detail penting seperti versi Build SDK dan mengimplementasikan fungsi escape secara terpisah untuk versi SDK yang lebih rendah .





Anubis menggunakan blok kode ini terhadap upaya penghapusan pengguna dan mengembalikan pengguna langsung ke menu utama dari tempat mereka berada :D, itu pasti sangat mengganggu.

Sebagai contoh, mari kita periksa blok kode di bawah ini :




  • cE = com.android.vending:id/toolbar_item_play_protect_settings
  • cD = com.android.vending:id/play_protect_settings
  •  cF= com.google.android.gms.security.settings.verifyappssettingsactivity

Berkat kemampuan aksesibilitasnya, Anubis dapat menyimpulkan apa yang sedang dilakukan pengguna di layar pada saat itu, dan menjalankan a() fungsi secara langsung dalam skenario apa pun yang akan membahayakannya. Seperti yang dapat kita lihat di blok kode contoh kita, jika mendeteksi salah satu konstanta string cE / cD / cF , fungsi escape a() akan berjalan secara langsung.

Analisis Dinamis

Dalam sampel kami, kami menemukan aplikasi dengan nama Dukungan Negara Pandemi 2000 TL untuk Setiap Keluarga dan menggunakan lambang Kementerian Kesehatan Republik Turki.




Dengan Anubis berjalan di sistem target, kami melihat bahwa hal pertama yang diinginkan pengguna adalah hak aksesibilitas . Karena banyak kemampuan sederhana namun efektif ( Mengklik Tombol , Menggulir Halaman , Membaca Konteks Windows ) yang pada dasarnya dimiliki malware tersembunyi di balik kekuatan ini. Di sisi lain, kami melihat di awal analisis kami bahwa Anubis juga menggunakan cara untuk menyembunyikan ikonnya dari peluncur aplikasi agar sulit untuk menghapusnya dari perangkat saat mulai berjalan.







Mari berikan semua izin dan periksa apa yang dikirim Anubis ke C&C. Karena Panel C&C kami tidak aktif selama proses analisis, Anubis tidak dapat menerima tanggapan apa pun dari Panel C&C.




Kami berbicara tentang file JSON yang dibuat selama fase inisialisasi dalam analisis statis. Detail lain yang saya perhatikan selama analisis statis adalah bahwa Anubis mengenkripsi file JSON yang disiapkan untuk dikirim ke Panel C&C menggunakan Base64 dan RC4 . Tapi saya pikir akan lebih akurat untuk menyebutkan bagian ini di sini. Mari kita lihat jenis blok kode yang digunakan Anubis untuk proses ini.




Ketika saya melihat tempat di mana implementasi RC4 dalam aplikasi digunakan, saya perhatikan bahwa itu digunakan di tempat tambahan, bukan hanya untuk string yang dikodekan dengan keras. Kemudian saya mulai memeriksa struktur ini.




Apakah Anda pikir itu kebetulan sangat dekat dengan data JSON :D ?

Seperti yang kita lihat, fungsi membutuhkan 2 String (str,str2). Sedangkan str2 digunakan sebagai kunci enkripsi, strmemiliki data dalam format JSON .




Minta Enkripsi Kunci RC4 =CRViysGgKzt6i




YA!!!

Pembongkaran Manual

Di awal laporan kami, kami menyebutkan bahwa sampel yang kami periksa memuat kelas saat runtime. Kami mengaitkan DexClassLoader fungsi untuk menemukan kelas yang dimuat ini. Tapi kita juga bisa melakukannya secara manual. Dengan cara ini, kita akan menemukan bagaimana pengepak, yang digunakan secara luas di dunia Malware Android, melakukan pekerjaan ini. Pertama, mari kita lihat AndroidManifest.xml file kita .




Seperti yang bisa kita lihat, semua aktivitas termasuk MAIN disebut di bawah parrot paket, tapi kita tidak memiliki parrot paket yang terlihat. Bagaimana ini mungkin?

Packer ini, yang banyak digunakan di antara Malware Android, memuat semua kelas yang hilang dengan menggunakan kelas di bawah tag aplikasi.




Meskipun tampaknya penuh dengan kelas yang tidak kami miliki, kami sebenarnya memiliki kelas pertama yang berjalan dan mengambil tugas membongkar.

pigeon.theme.earth.IUhUkAkGfQxFbEwMiUtWuIuBrReSmPjPqEiWkAcJiSq




Fungsi 2 diatas adalah attachBaseContext(Context context) fungsi unpack yang digunakan pada common packer ini :D

Selain itu, pada tipe pengepak umum ini, PPpYrMnQwArZqXpLlNsNj variabel yang saya tandai pada gambar di atas berisi nama file yang akan didekripsi.






Nama Dex Terenkripsi = hLc.json ( nama file.py )




RC4 digunakan saat mendekripsi kelas yang akan dimuat dalam jenis pengepakan ini. Jadi sudah waktunya untuk menemukan kunci RC4 . Ketika kita pergi ke kelas dengan liftnorth fungsi tersebut, tujuan kita adalah menemukan implementasi RC4 yang menunggu kita. Ini akan menjadi ide yang masuk akal untuk memanggil 256% untuk ini, tetapi mencoba menyembunyikan proses ini dengan variabel yang menampung 256 dalam sampel yang kami periksa.





The array integer dibangun sebelum for lingkaran dimulai mengandung kami kunci dekripsi .








KUNCI RC4 UNTUK KELAS TERMUAT = fCiUMm( rc4.py )




GG!!!

Kesimpulan

Anubis adalah malware yang layak untuk diperiksa dalam setiap aspek dan sangat mengesankan, aplikasi yang merugikan puluhan ribu pengguna android dengan ribuan sampel di seluruh dunia ini, merupakan sumber malware android masa depan. Saya harap Anda menyukai posting saya, terima kasih telah membaca. Jika Anda memiliki pertanyaan,  tulis di kolom komentar 

Source : 0x1c3N



Lihat Versi PDF











About the author

alkafebe
Hamba Allah

Posting Komentar