Bellerophon tak pernah membayangkan. Trojan ChimeraWire meningkatkan popularitas website dengan meniru manusia secara lihai
Kata pengantar
Saat menganalisis salah satu program dari partner Doctor Web, para spesialis kami menemukan malware unik dengan fungsi clicker yang disebut Trojan.ChimeraWire. Malware ini beroperasi di komputer dengan OS Windows dan didasarkan pada proyek dengan source code terbuka zlsgo dan Rod untuk mengelola website dan aplikasi web secara otomatis.
Trojan.ChimeraWire membiarkan penyerang untuk meniru tindakan pengguna dan memanipulasi faktor perilaku website, sehingga meningkatkan peringkat pencariannya oleh mesin pencari secara artifisial. Untuk melakukannya, malware ini mencari sumber online yang dibutuhkan dalam sistem Google dan Bing, lalu membukanya. Malwarenya juga meniru tindakan pengguna dengan mengklik link di website yang diunduh secara independen. Trojan menjalankan semua tindakan berbahayanya melalui browser Google Chrome yang diunduh dari sumber tertentu dan diluncurkan dalam mode debug tersembunyi melalui protokol WebSocket.
Trojan.ChimeraWire diinstal ke komputer oleh beberapa program malware pengunduh. Malware tersebut menggunakan berbagai teknik peningkatan hak penggunaan istimewa berdasarkan eksploitasi kerentanan DLL Search Order Hijacking, serta teknik anti-debugging untuk menghindari deteksi. Laboratorium antivirus kami telah melacak setidaknya dua rangkaian serangan yang melibatkan malware tersebut. Salah satunya berfokus pada script berbahaya Python.Downloader.208, sementara yang lain melibatkan malware Trojan.DownLoader48.61444 yang memiliki prinsip operasi serupa dengan Python.Downloader.208 dan sebenarnya bertindak sebagai alternatifnya.
Dalam riset ini kami akan mengkaji karakteristik Trojan.ChimeraWire dan malware yang mengirimkannya ke perangkat pengguna.
Rangkaian serangan pertama

Skema yang menggambarkan rangkaian serangan pertama
Rangkaian pertama dimulai dengan Trojan.DownLoader48.54600. Trojan ini memeriksa apakah ia sedang beroperasi dalam lingkungan buatan, dan berhenti beroperasi jika mendeteksi tanda-tanda mesin virtual atau mode debug. Jika tidak ada tanda-tanda tersebut, trojan ini mengunduh arsip ZIP [string]python3.zip[/string] dari server C2. Arsip ini berisi script Python berbahaya Python.Downloader.208, serta file-file pendukung yang diperlukan untuk operasinya, pada khususnya, library berbahaya [string]ISCSIEXE.dll[/string] (Trojan.Starter.8377). Trojan.DownLoader48.54600 mengekstrak arsipnya dan meluncurkan script tersebut yang merupakan tahap serangan kedua dengan mengunduh tahap berikutnya dari server C2.
Perilaku Python.Downloader.208 bergantung pada hak yang didapatnya saat diluncurkan. Jika script diluncurkan tanpa hak administrator, script tersebut akan mencoba mendapatkannya. Untuk melakukannya, Trojan.Starter.8377 yang telah diekstrak secara bersamaan dengannya disalin ke direktori [string]%LOCALAPPDATA%\Microsoft\WindowsApps[/string]. Selain itu, script [string]runs.vbs[/string] akan dibuat dan selanjutnya digunakan untuk meluncurkan kembali Python.Downloader.208.
Python.Downloader.208 kemudian meluncurkan aplikasi sistem [string]%SystemRoot%\SysWOW64\iscsicpl.exe[/string]. Karena kerentanan kelas DLL Search Order Hijacking di dalamnya, aplikasi ini secara otomatis memuat library trojan [string]ISCSIEXE.dll[/string] yang namanya sama dengan nama komponen OS Windows yang sah.
Selanjutnya, Trojan.Starter.8377 meluncurkan script VBS [string]runs.vbs[/string] yang mengeksekusi ulang Python.Downloader.208, kali ini sudah dengan hak akses administrator.
Saat diluncurkan dengan hak akses yang diperlukan, Python.Downloader.208 mengunduh arsip yang dilindungi dengan kata sandi [string]onedrive.zip[/string] dari server C2. Arsip ini berisi tahap serangan berikutnya, yaitu malware Trojan.DownLoader48.54318 berbentuk library dengan nama [string]UpdateRingSettings.dll[/string] serta file-file tambahan yang diperlukan untuk operasinya (misalnya, aplikasi OS Windows yang sah [string]OneDrivePatcher.exe[/string] dengan tanda tangan digital yang valid, yang terkait dengan software OneDrive).
Setelah ekstraksi arsip, Python.Downloader.208 membuat tugas dalam sistem task scheduler untuk meluncurkan [string]OneDrivePatcher.exe[/string] saat peluncuran sistem. Kemudian ia meluncurkan aplikasi ini. Karena adanya kerentanan DLL Search Order Hijacking, library berbahaya [string]UpdateRingSettings.dll[/string] akan diunduh secara otomatis dengan nama yang sama dengan nama komponen software OneDrive.
Setelah mendapatkan kendali, Trojan.DownLoader48.54318 mengecek apakah trojannya sedang beroperasi dalam lingkungan buatan. Jika mendeteksi adanya indikasi operasi di mesin virtual atau mode debug, proses akan dihentikan.
Jika tidak ada indikasi tersebut yang terdeteksi, maka library trojan mencoba mengunduh payload dari server C2 serta kunci enkripsi untuk mendekripsinya.
Payload yang didekripsi adalah kontainer ZLIB yang berisi shellcode dan file yang dapat dieksekusi. Setelah mendekripsi kontainer, Trojan.DownLoader48.54318 mencoba mengekstraknya. Jika gagal, trojan akan menghapus dirinya sendiri, dan prosesnya dihentikan. Jika berhasil, kendali dialihkan ke shellcode yang bertugas untuk mengekstrak file yang dapat dieksekusi yang menyertainya. File ini adalah tahap serangan yang terakhir, yaitu trojan target Trojan.ChimeraWire.
Rangkaian serangan kedua
Rangkaian kedua dimulai dengan malware Trojan.DownLoader48.61444. Saat diluncurkan, malware ini memeriksa hak akses administrator dan, jika tidak ada, mencoba mendapatkannya. Trojan ini menggunakan teknik Masquerade PEB untuk menerobos sistem keamanan dengan menyamar sebagai proses [string]explorer.exe[/string] yang sah.
Selanjutnya trojan ini memasukkan patch dalam salinan library sistem [string]%SystemRoot%\System32\ATL.dll[/string]. Untuk melakukannya, Trojan.DownLoader48.61444 membaca isinya, menambahkan bytecode yang telah didekripsi dan jalur akses ke filenya, lalu menyimpan versi yang dimodifikasi dalam bentuk file dengan nama [string]dropper[/string] di direktori yang sama tempatnya berada. Trojan ini kemudian menginisialisasi objek model COM shell Windows untuk layanan [string]%SystemRoot%\System32\wbem[/string] dan library yang dimodifikasi. Jika inisialisasi berhasil, Trojan.DownLoader48.61444 mencoba mendapatkan hak administrator dengan menggunakan interface COM CMSTPLUA dengan memanfaatkan kerentanan yang sering ditemukan pada beberapa interface COM yang lama.
Jika berhasil, library [string]dropper[/string] yang dimodifikasi akan disalin ke direktori [string]%SystemRoot%\System32\wbem[/string] dalam bentuk file [string]ATL.dll[/string]. Trojan.DownLoader48.61444 lalu meluncurkan snap-in pengendalian sistem WMI [string]WmiMgmt.msc[/string]. Hasilnya, kerentanan DLL Search Order Hijacking pada aplikasi sistem [string]mmc.exe[/string] dimanfaatkan dan secara otomatis memuat library [string]%SystemRoot%\System32\wbem\ATL.dll[/string] dengan patch. Library ini selanjutnya meluncurkan kembali Trojan.DownLoader48.61444, tetapi kali ini sudah dengan hak administrator.

Skema operasi Trojan.DownLoader48.61444 tanpa hak administrator
Saat diluncurkan atas nama administrator, Trojan.DownLoader48.61444 mengeksekusi beberapa Script PowerShell untuk mengunduh payload dari server C2. Salah satu objek yang diunduh adalah arsip ZIP [string]one.zip[/string]. Arsip ini berisi file-file yang merupakan analog file dalam arsip [string]onedrive.zip[/string] dari rangkaian pertama (khususnya program sah [string]OneDrivePatcher.exe[/string] dan library berbahaya [string]UpdateRingSettings.dll[/string] yaitu Trojan.DownLoader48.54318).
Trojan.DownLoader48.61444 mengekstrak arsip dan membuat tugas dalam sistem task scheduler untuk meluncurkan [string]OneDrivePatcher.exe[/string] secara otomatis saat sistem di-boot. Trojan juga langsung meluncurkan aplikasi ini. Sama seperti pada rangkaian pertama, saat diluncurkan [string]OneDrivePatcher.exe[/string] mengeksploitasi kerentanan DLL Search Order Hijacking dan secara otomatis mengunduh library trojan [string]UpdateRingSettings.dll[/string]. Lalu rangkaian serangan mengulangi skenario pertama.
Pada saat yang sama, Trojan.DownLoader48.61444 juga mengunduh arsip ZIP kedua yaitu [string]two.zip[/string]. Arsip ini berisi script berbahaya Python.Downloader.208 ([string]update.py[/string]), serta file yang diperlukan untuk meluncurkannya. Di antaranya ada [string]Guardian.exe[/string], sebuah interpreter konsol Python [string]pythonw.exe[/string] yang namanya telah diganti.
Setelah mengekstrak arsip, Trojan.DownLoader48.61444 membuat tugas dalam sistem task scheduler untuk meluncurkan [string]Guardian.exe[/string] secara otomatis saat sistem di-boot. Trojan ini juga langsung mengeksekusi script berbahaya Python.Downloader.208 melalui aplikasi ini.
Dengan menduplikasi sebagian dari rangkaian serangan pertama, para penyerang tampaknya bertujuan untuk meningkatkan kemungkinan keberhasilannya dalam mengunduh Trojan.ChimeraWire ke dalam sistem yang dijadikan target.

Skema operasi Trojan.DownLoader48.61444 dengan hak administrator
Trojan.ChimeraWire
Trojan.ChimeraWire mendapatkan namanya dari kombinasi kata "chimera" (jika diterjemahkan dari bahasa Inggris, artinya adalah makhluk mitos dengan bagian tubuh dari beberapa hewan) dan "wire" (dalam bahasa Inggris artinya “kabel”). Kata "chimera" menggambarkan sifat hibrida metode yang digunakan penyerang, yaitu penggunaan trojan pengunduh yang dibuat dalam berbagai bahasa, serta teknik anti-debugging dan penambahan hak istimewa selama proses serangan. Hal ini juga mencerminkan sifat trojan yang merupakan kombinasi dari berbagai framework, plugin dan software sah yang digunakan untuk melakukan pengelolaan traffic secara diam-diam. Dari sinilah kata kedua, "wire", berasal, merujuk pada interaksi trojan dengan jaringan, sebuah interaksi tak terlihat dan berbahaya.
Setelah masuk komputer yang dijadikan target, Trojan.ChimeraWire mengunduh arsip ZIP [string]chrome-win.zip[/string] dari website pihak ketiga dengan browser Google Chrome untuk OS Windows. Perlu dicatat bahwa website ini juga menyimpan arsip dengan versi Google Chrome untuk sistem lain pula, seperti Linux dan macOS, termasuk versi untuk berbagai platform perangkat keras.

Website dengan berbagai versi browser Google Chrome yang digunakan trojan untuk mengunduh arsip yang dibutuhkan
Setelah mengunduh browser, Trojan.ChimeraWire mencoba secara diam-diam menginstal ekstensi NopeCHA dan Buster ke dalamnya, yang dirancang untuk pengenalan Captcha otomatis. Ekstensi ini selanjutnya akan digunakan oleh trojan selama proses operasinya.
Selanjutnya trojan meluncurkan browser dalam mode debug tanpa jendela yang kelihatan, cara ini memungkinkannya melakukan aktivitas berbahaya tanpa menarik perhatian pengguna. Trojan kemudian terhubung ke port debug yang dipilih secara otomatis melalui protokol WebSocket.
Lalu trojan melanjutkan ke tahap mendapat tugas. Trojan mengirimkan permintaan ke server C2 dan menerima string base64 sebagai balasan, berisi konfigurasi dalam format JSON yang dienkripsi dengan algoritma AES-GCM.

Contoh konfigurasi yang dikirim kepada trojan dari server C2
Di dalamnya ada tugas-tugas dan parameter terkait yaitu:
- mesin pencari yang ditargetkan (sistem yang didukung adalah Google dan Bing);
- frasa kunci untuk pencarian website oleh mesin pencari yang ditentukan untuk selanjutnya dibuka;
- jumlah klik maksimal berturut-turut pada halaman-halaman web;
- distribusi acak untuk mengklik secara otomatis pada halaman-halaman web;
- waktu tunggu saat halaman dimuat;
- domain target.
Untuk lebih bisa mensimulasikan aktivitas orang sungguhan dan melewati sistem yang memantau aktivitas seterusnya, konfigurasinya juga menyertakan parameter khusus untuk menjamin adanya jeda antara sesi kerja.
Imitasi klik mouse pengguna
Trojan.ChimeraWire dapat melakukan jenis klik sebagai berikut:
- untuk navigasi dalam hasil pencarian;
- untuk membuka link yang relevan dalam dalam background tab baru.
Trojan.ChimeraWire pertama-tama mencari website menggunakan mesin pencari yang sesuai berdasarkan domain dan frasa kunci yang ditentukan dalam konfigurasi. Kemudian trojannya membuka website yang didapat dari hasil pencarian dan menemukan semua elemen HTML yang mendefinisikan hyperlink. Trojan menempatkan elemen-elemen ini dalam kumpulan data dan mengacaknya sehingga objek-objek tersebut tersusun dalam urutan yang berbeda dari yang ada di halaman web. Hal ini dilakukan untuk melewati perlindungan anti-bot yang dapat melacak urutan klik.
Selanjutnya Trojan.ChimeraWire akan memeriksa apakah link yang ditemukan berfungsi dan apakah string di dalamnya cocok dengan pola yang ditentukan dalam konfigurasi, lalu menghitung jumlah total kecocokannya. Tindakan trojan selanjutnya bergantung pada jumlah yang dihasilkan.
Jika jumlah link yang cocok yang ditemukan di halaman cukup, maka Trojan.ChimeraWire akan memindai halaman dan mengurutkan link yang ditemukan berdasarkan relevansi (link yang paling sesuai dengan kata kunci akan dicantumkan terlebih dahulu). Satu atau beberapa link yang cocok kemudian diklik.
Jika kecocokan dengan template yang ditentukan tidak mencukupi atau tidak ada, malware menggunakan model perilaku probabilistik yang berupaya meniru tindakan pengguna sebenarnya semaksimal mungkin. Berdasarkan parameter konfigurasi dan distribusi acak terbobot Trojan.ChimeraWire menentukan jumlah link yang akan diklik. Misalnya, distribusi [string]["1:90", "2:10"][/string] berarti Trojan.ChimeraWire akan mengklik 1 link dengan kemungkinan 90%, dan 2 link dengan kemungkinan 20%. Oleh karena itu, malware kemungkinan besar akan mengklik satu link. Trojan secara acak memilih link dari kumpulan yang telah dikompilasi sebelumnya dan mengkliknya.
Setelah setiap klik pada link dari hasil pencarian dan setiap klik pada halaman yang dimuat, trojan, tergantung pada tugasnya, akan kembali ke tab sebelumnya atau berpindah ke tab berikutnya. Algoritma ini diulang hingga batas klik untuk website target tercapai.
Berikut adalah contoh website yang parameter interaksinya dikirim ke trojan melalui tugas dari server C2:



Deskripsi teknis lengkap trojan ChimeraWire dan malware yang digunakan untuk mengunduhnya dapat dipelajari dalam versi PDF riset ini dan juga dalam library virus Doctor Web.
Baca selengkapnya tentang Trojan.ChimeraWire
Baca selengkapnya tentang Trojan.DownLoader48.54600
Baca selengkapnya tentang Trojan.Starter.8377
Baca selengkapnya tentang Python.Downloader.208
Baca selengkapnya tentang Trojan.DownLoader48.54318
Baca selengkapnya tentang Trojan.DownLoader48.61444
Penutup
Saat ini aktivitas berbahaya Trojan.ChimeraWire pada dasarnya terbatas pada tugas-tugas klik yang relatif sederhana untuk meningkatkan popularitas website. Di sisi lain, fungsionalitas utilitas yang mendasarinya memungkinkan trojan ini untuk melakukan berbagai tugas yang lebih luas, termasuk melakukan tindakan otomatis yang disamarkan sebagai aktivitas pengguna yang asli. Misalnya, penyerang dapat menggunakannya untuk mengisi formulir web, seperti yang ada di website yang melakukan survei untuk tujuan periklanan. Mereka juga dapat menggunakannya untuk membaca konten halaman web dan membuat screenshot, baik dengan tujuan spionase siber maupun guna mengumpulkan informasi untuk berbagai database secara otomatis (misalnya, alamat e-mail, nomor telepon dll.).
Dengan demikian, ada kemungkinan versi-versi baru Trojan.ChimeraWire akan muncul di masa mendatang dan mengimplementasikan fungsi-fungsi ini dan fungsi lainnya sepenuhnya. Spesialis Doctor Web terus memantau perkembangan trojan ini.
Matrix MITRE
| Tahap | Teknik |
| Pelaksanaan | Pelaksanaan dengan partisipasi pengguna (T1204)
File berbahaya (T1204.002)
Library berbahaya (T1204.005)
PowerShell (T1059.001)
Command shell Windows (T1059.003)
Visual Basic (T1059.005)
Python (T1059.006)
Task scheduler Windows (T1053.005) |
| Penetapan | Kunci peluncuran dalam registry Windows / Katalog pengunduhan otomatis (T1547.001)
Tugas / perintah yang dijadwalkan (T1053) |
| Penambahan hak istimewa | Mencegat alur pelaksanaan: mencegat pencarian DLL (T1574.001)
Melewati kontrol akun pengguna (T1548.002) |
| Pencegahan deteksi | File yang terenkripsi / berkode (T1027.013)
Menghindari debugging (T1622)
Jendela tersembunyi (T1564.003)
Pengecualian untuk file atau jalur (T1564.012)
Deobfuscation / decoding file atau data (T1140)
Mencegat alur pelaksanaan: mencegat pencarian DLL (T1574.001)
File yang terenkripsi / berkode (T1027.013) |
| Penyelenggaraan pengelolaan | Komunikasi dua arah (T1102.002)
Protokol Web (T1071.001) |
Indikator kompromi