Kelompok cybercriminal RTM telah mencuri uang dari pelanggan bank sejak 2015. Sebagian besar korbannya adalah perusahaan Rusia. Perangkat lunak berbahaya yang digunakan oleh penjahat dunia maya juga sering disebut sebagai RTM di komunitas keamanan informasi.
Cukup banyak laporan teknis yang telah ditulis tentang program ini, yang menjelaskan secara rinci mekanisme umum malware. Dalam artikel ini, kami akan fokus pada metode untuk mendapatkan alamat server RTM pengelola (C&C). Dalam setiap iterasi program, penyerang mendekati tugas ini: mereka mendistribusikan alamat melalui blog, menggunakan sistem server DNS alternatif dan jaringan Tor. Suatu hari, kami menemukan bahwa RTM mulai menyembunyikan IP dalam transaksi di dompet bitcoin.
Apa itu RTM?
Pada intinya, RTM adalah trojan perbankan. Tujuan utama dari program ini adalah untuk memungkinkan penyerang memanipulasi perintah pembayaran perusahaan korban untuk secara diam-diam mentransfer dana ke rekening penjahat cyber.
Biasanya, RTM dikirim ke komputer korban melalui milis, lebih jarang melalui situs yang diretas (seperti publikasi berita) atau sumber daya palsu untuk akuntan. Penjahat melampirkan file yang dapat dieksekusi yang dikemas ke surat. Sebagai alat pengemasan, penyerang menggunakan pengembangan mereka sendiri dan arsip penggalian diri.

Contoh file executable .exe yang didistribusikan oleh grup RTM
File sampel pada gambar diatur dalam urutan distribusi. Sebagian besar waktu, executable RTM dikemas dengan pengemas khusus dan disamarkan sebagai dokumen PDF. Pada awal 2019, sampel pertama mulai muncul, yang merupakan arsip RAR yang mengekstraksi sendiri dan disamarkan sebagai file dalam format DOCX. RTM saat ini didistribusikan sebagai arsip CAB yang mengekstraksi sendiri.

Representasi biner dari file "Pembayaran 11.06.exe"
Setelah memulai, file yang dapat dieksekusi menyalin DLL yang dikemas ke disk dan meluncurkannya menggunakan utilitas rundll32.exe. Sebagai aturan, nama internal perpustakaan ini adalah core.dll. Operasi selanjutnya terjadi di ruang alamat proses rundll32.exe.
Ini core.dll yang menyediakan interaksi utama dengan server kontrol RTM, di mana program menerima perintah dan modul tambahan dari penyerang.
Modul dikirimkan dalam bentuk terenkripsi dan dapat diluncurkan dengan berbagai cara. Komponen-komponen ini memberikan kemampuan penyerang untuk mengontrol komputer dari jarak jauh, mengganti dokumen pembayaran dalam sistem 1C, dll.
Cara menemukan server manajemen
Dalam versi RTM pertama, umpan RSS digunakan untuk memperbarui alamat server kontrol. Penyerang membuat blog di LiveJournal yang berisi alamat C&C dalam bentuk terenkripsi. Untuk mendapatkan alamat baru dari server kontrol, permintaan dikirim ke alamat hxxps: //.livejournal [.] Com / data / rss / dan respons diproses dalam format berikut (misalnya, https://f72bba81c921.livejournal.com/data/rss/ ) :

Konten umpan RSS. Bidang deskripsi berisi alamat terenkripsi dari server kontrol

Baris yang didekripsi dengan alamat awal server pengelola dan alamat umpan RSS
.bit
Pada bulan Maret 2016, RTM mulai menggunakan domain di zona .bit sebagai alamat server kontrol. Mereka didukung oleh pencatat DNS Namecoin alternatif berdasarkan teknologi blockchain. Sistem ini terdesentralisasi, sehingga domain .bit sulit diblokir.
Alamat IP server manajemen pada .bit RTM diperoleh dengan salah satu dari dua cara:
- melalui API Browser Namecoin Block;
- melalui resolusi nama domain menggunakan server DNS khusus.

Fungsi mendapatkan alamat IP dari server manajemen
Dalam fungsi mendapatkan alamat IP dari server kontrol melalui API browser Namecoin block, konten diproses di alamat hxxps: //namecoin.cyphrs [.] Com / api / name_show / d / stat-counter-7 (menggunakan stat-counter domain sebagai contoh -7 [.] Bit):

Fungsi mendapatkan alamat IP dari server kontrol melalui API browser blok Namecoin
Alamat IP server manajemen diperoleh dari badan respons. Selain permintaan ke hxxps: //namecoin.cyphrs [.] Com / api / name_show / d /, penyerang juga menggunakan permintaan untuk hxxps: // namecha [.] Di / name / d /, memproses bidang "Nilai saat ini":

Konten halaman web di URL hxxps: // namecha [.] Di / name / d / stat-counter-7
Jika tidak mungkin mendapatkan alamat IP dengan cara ini, penyerang menyelesaikan nama domain dari server kontrol dengan fungsi DnsQuery_A menggunakan server DNS khusus (diambil, misalnya, dari sini ).
Menggunakan fungsi DnsQuery_A dalam kode pustaka core.dll terlihat seperti ini:

Fungsi memperoleh alamat IP server manajemen melalui resolusi nama domain menggunakan server DNS khusus
Fungsi DnsQuery_A memiliki prototipe berikut:

Prototipe fungsi DnsQuery_A dideklarasikan dalam file header WinDNS.h
Argumen ke-4 untuk fungsi DnsQuery_A adalah alamat dari struktur _IP4_ARRAY pada stack. Ini berisi array alamat IP dari server DNS khusus:

Struktur _IP4_ARRAY pada stack
Jika fungsi DnsQuery_A berhasil dieksekusi, alamat IP server pengelola dapat diperoleh dengan membaca nilai berikut: pDnsRecord -> Data.A.IpAddress.
Itu dapat dilihat dari kode yang di-decompile dari salah satu instance yang menggunakan server DNS khusus 188.165 [.] 200.156 digunakan untuk menyelesaikan nama domain C&C. Dan jika terjadi kegagalan, daftar tiga server DNS digunakan: 91.217 [.] 137.37, 188.165 [.] 200.156, 217.12 [.] 210.54.
Tor
Pada 15 Februari 2019, kami pertama kali menemukan sampel RTM yang server manajemennya terletak di jaringan Tor (hxxp: // 5aaw3unbkm5jqx7d [.] Bawang / indeks [.] Php).

Alamat server manajemen Tor di antara string yang didekripsi

Bagian kode dibongkar di mana URL server kontrol diuraikan
Sampel semacam itu dikirim hingga 9 April 2019, setelah itu RTM kembali beralih menggunakan zona domain bit.
Bitcoin
Pada 10 Juni 2019, kami menemukan sampel RTM yang menerima alamat IP server C&C dari transaksi pada dompet kripto tertentu. Setiap alamat IP disembunyikan dalam jumlah bitcoin yang terdaftar dalam dua transaksi.
Untuk mendapatkan alamat IP, C&C VPO membuat permintaan di hxxps: // chain [.] Jadi / api / v2 / get_tx_received / BTC /. Responsnya berisi serangkaian transaksi ke akun crypto wallet. Contoh ditunjukkan pada tangkapan layar:

Pertimbangkan bagian kode di mana alamat IP server manajemen diperoleh:

Fungsi FindValue mencari bagian pecahan dari jumlah transfer. Pencarian dilakukan dari ujung buffer, dan dengan setiap panggilan fungsi berikutnya, data diproses, mulai dari indeks saat ini. Yaitu, dengan panggilan beruntun ke fungsi FindValue, nilai 8483, 40030, 14728 dan seterusnya akan diperoleh. Program ini menghasilkan dua alamat IP: setiap alamat disembunyikan dalam dua terjemahan berurutan.

Kode yang dibongkar untuk mendapatkan alamat IP dari transfer ke dompet crypto
Kode ini melakukan hal berikut:
ip_address = str(value_1 & 0xff) + "." + str(value_1 >> 0x8) + "." + str(value_0 & 0xff) + "." + str(value_0 >> 0x8)
Yaitu, dengan mendaftarkan 0,00008483 BTC dan kemudian 0,00040030 BTC, para penyerang menyembunyikan alamat IP 94,156 [.] 35,33 untuk program mereka. Demikian pula, dari dua transaksi sebelumnya, RTM memperoleh alamat IP kedua dari server manajemen.
Dengan demikian, malware RTM sedang dikirim ke hari ini.
Kesimpulan
Anda mungkin memperhatikan bahwa ketika mengatur transfer alamat server C&C, RTM suka menggunakan pendekatan yang memungkinkan Anda mengubah IP secara dinamis tanpa mengubah kode sumber malware.
Di satu sisi, ini membuat hidup lebih mudah bagi penyerang dan dapat menyebabkan analis tersesat. Di sisi lain, ini memungkinkan spesialis untuk memprediksi alamat server kontrol sebelum surat berbahaya dilakukan.