Trojan
DanaBot modular yang berkembang
pesat telah mengalami perubahan baru. Versi yang dirilis pada akhir Januari 2019 mengimplementasikan protokol komunikasi yang sama sekali baru yang menambahkan beberapa tingkat enkripsi pada komunikasi Trojan dan server C&C-nya. Selain itu, arsitektur DanaBot dan ID kampanye telah diubah.
Evolusi DanaBot
Setelah
ditemukan pada Mei 2018 sebagai bagian dari kampanye spam yang menargetkan Australia, DanaBot muncul dalam sejumlah serangan lain, termasuk kampanye spam di
Polandia, Italia, Jerman, Austria dan Ukraina , serta
Amerika Serikat . Dalam kampanye Eropa, fungsionalitas Trojan telah ditingkatkan dengan plugins baru dan
kemampuan spamming .
Pada 25 Januari, kami menemukan file yang tidak dapat dieksekusi terkait dengan DanaBot dalam data telemetri. Pemeriksaan lebih lanjut mengungkapkan bahwa file-file biner ini memang versi DanaBot, tetapi mereka menggunakan protokol komunikasi yang berbeda untuk berkomunikasi dengan server C&C. Sejak 26 Januari, operator Trojan telah berhenti merakit file biner dengan protokol lama.
Pada saat penulisan, versi baru DanaBot didistribusikan dalam dua skenario:
- sebagai "pembaruan" dikirim ke korban DanaBot;
- via email spam (di Polandia).
Protokol komunikasi baru
Dalam protokol, yang digunakan hingga 25 Januari, paket tidak dienkripsi, seperti yang ditunjukkan pada Gambar 1.
Gambar 1. Paket capture menunjukkan protokol lama dengan data dalam bentuk tidak terenkripsiSetelah selesai, DanaBot menggunakan algoritma enkripsi AES dan RSA dalam komunikasi dengan server C&C. Protokol komunikasi baru lebih kompleks karena menggunakan beberapa tingkat enkripsi, seperti yang ditunjukkan pada gambar di bawah ini.
Gambar 2. Skema protokol komunikasi DanaBot baruPerubahan ini menghindari deteksi menggunakan tanda tangan jaringan yang ada dan membuatnya sulit untuk menulis aturan baru untuk deteksi intrusi dan sistem pencegahan. Selain itu, tanpa akses ke kunci RSA yang sesuai, tidak mungkin untuk memecahkan kode paket yang dikirim atau diterima; dengan demikian, file RSAP dari sistem analisis berbasis cloud (seperti
ANY.RUN ) tidak cocok untuk penelitian.
Gambar 3. Menangkap paket dengan protokol komunikasi baruSetiap paket yang dikirim oleh klien memiliki header 24 (0x18) -byte:

Untuk setiap paket, header diikuti oleh data paket yang dienkripsi oleh AES, kemudian nilai 4-byte yang menunjukkan ukuran shift AES, dan kemudian kunci AES, dienkripsi oleh RSA. Semua paket dienkripsi dengan kunci AES yang berbeda.
Respons server menggunakan format yang sama. Tidak seperti versi sebelumnya, data paket di respons server tidak sesuai dengan struktur tertentu (dengan beberapa pengecualian).
Struktur paket data
Struktur data paket sebelumnya dijelaskan secara rinci oleh
Proofpoint pada Oktober 2018. Dalam versi terbaru DanaBot, skema ini sedikit dimodifikasi, seperti yang ditunjukkan pada gambar di bawah ini.
Gambar 4. Perbandingan struktur data paket dalam versi lama dan baru DanaBotPerubahan Arsitektur DanaBot
Selain protokol komunikasi, DanaBot memiliki arsitektur yang sedikit berubah. Versi trojan sebelumnya termasuk komponen yang mengunduh dan menjalankan modul utama. Kemudian modul utama mengunduh dan menjalankan plugin dan konfigurasi.
Pada versi terbaru, fungsi-fungsi ini dilakukan oleh bootloader baru, yang digunakan untuk mengunduh semua plugin bersama dengan modul utama. Kegigihan dipastikan dengan mendaftarkan komponen bootloader sebagai layanan.
Gambar 5. Perbandingan arsitektur DanaBot versi lama dan baruTim
Menurut analisis, komponen pemuat menggunakan perintah berikut:
- 0x12C - Halo. Perintah pertama dikirim dari klien ke server
- 0x12D - memuat komponen peluncur 32/64-bit
- 0x12E - meminta daftar plugin dan file konfigurasi
- 0x12F - memuat plugins / file konfigurasi
Plugin yang diunduh dan file konfigurasi dienkripsi dengan kunci AES yang diperoleh dari ID klien. Selain itu, plugin diarsipkan dalam format ZIP menggunakan kompresi LZMA, sementara file konfigurasi diarsipkan menggunakan zlib.
Perintah dengan ID 0x130-0x134 dikirim oleh modul utama:
- 0x130 - mentransfer informasi yang dikumpulkan ke server C & C (misalnya, tangkapan layar komputer korban; data sistem)
- 0x131 - mentransfer informasi yang dikumpulkan ke server C & C (misalnya, daftar file di hard disk komputer yang terinfeksi)
- 0x132 - meminta perintah lebih lanjut dari server C&C. Ada sekitar 30 perintah khas backdoors, termasuk meluncurkan plugin, mengumpulkan informasi sistem dan mengubah file dalam sistem klien
- 0x133 - perbarui daftar server C&C melalui proxy Tor
- 0x134 - tujuan pastinya tidak diketahui, kemungkinan besar digunakan untuk komunikasi antara plug-in dan server C&C
Ubah ID Kampanye
Penelitian sebelumnya menunjukkan bahwa DanaBot didistribusikan di bawah ID yang berbeda.
Dalam versi sebelumnya dari DanaBot,
sekitar 20 pengidentifikasi kampanye digunakan . Dalam versi terbaru, pengidentifikasi telah sedikit berubah. Pada 5 Februari 2019, kami mengamati ID berikut:
- ID = 2 tampaknya, versi uji yang melayani sejumlah kecil file konfigurasi, tanpa suntikan web
- ID = 3 didistribusikan secara aktif, ditargetkan pada pengguna di Polandia dan Italia, melayani semua file konfigurasi dan suntikan web untuk keperluan Polandia dan Italia
- ID = 5 melayani file konfigurasi untuk keperluan Australia
- ID = 7 hanya berlaku untuk Polandia, melayani suntikan web untuk tujuan Polandia
- ID = 9, ternyata, juga merupakan versi uji dengan distribusi terbatas dan tanpa penargetan khusus, ia melayani sejumlah file konfigurasi, tanpa suntikan web
Kesimpulan
Pada tahun 2018, kami mengamati perkembangan DanaBot dalam hal
distribusi dan
fungsionalitas . Pada awal 2019, Trojan mengalami perubahan "internal", yang menunjukkan karya aktif penciptanya. Pembaruan terbaru menunjukkan bahwa pencipta DanaBot berusaha untuk menghindari penemuan tingkat jaringan. Ada kemungkinan bahwa penulis Trojan memperhatikan studi yang diterbitkan untuk segera membuat perubahan pada kode, di depan pengembang produk untuk keamanan.
Produk ESET mendeteksi dan memblokir semua komponen dan plugin DanaBot. Nama deteksi diberikan di bagian selanjutnya.
Indikator Kompromi (IoC)
Server C&C digunakan oleh versi baru DanaBot84.54.37[.]102
89.144.25[.]243
89.144.25[.]104
178.209.51[.]211
185.92.222[.]238
192.71.249[.]51
Server untuk injeksi dan redirect web47.74.249[.]106
95.179.227[.]160
185.158.249[.]144
Contoh HashBangunan DanaBot baru dirilis secara berkala, sehingga kami hanya dapat memberikan sebagian hash:
98C70361EA611BA33EE3A79816A88B2500ED7844
Win32 / TrojanDropper.Danabot.O
Bootloader (x86), ID = 3
0DF17562844B7A0A0170C9830921C3442D59C73C
Win32 / Spy.Danabot.L
Bootloader (x64), ID = 3
B816E90E9B71C85539EA3BB897E4F234A0422F85
Win64 / Spy.Danabot.G
Bootloader (x86), ID = 9
5F085B19657D2511A89F3172B7887CE29FC70792
Win32 / Spy.Danabot.I
Bootloader (x64), ID = 9
4075375A08273E65C223116ECD2CEF903BA97B1E
Win64 / Spy.Danabot.F
Modul utama (x86)
28139782562B0E4CAB7F7885ECA75DFCA5E1D570
Win32 / Spy.Danabot.K
Modul utama (x64)
B1FF7285B49F36FE8D65E7B896FCCDB1618EAA4B
Win64 / Spy.Danabot.C
PluginRDPWrap
890B5473B419057F89802E0B6DA011B315F3EF94
Win32 / Spy.Danabot.H
Stealer (x86)
E50A03D12DDAC6EA626718286650B9BB858B2E69
Win32 / Spy.Danabot.C
Stealer (x64)
9B0EC454401023DF6D3D4903735301BA669AADD1
Win64 / Spy.Danabot.E
Sniffer
DBFD8553C66275694FC4B32F9DF16ADEA74145E6
Win32 / Spy.Danabot.B
VNC
E0880DCFCB1724790DFEB7DFE01A5D54B33D80B6
Win32 / Spy.Danabot.D
TOR
73A5B0BEE8C9FB4703A206608ED277A06AA1E384
Win32 / Spy.Danabot.G