Kami melanjutkan serangkaian artikel tentang analisis malware. Pada bagian
pertama , kami berbicara tentang bagaimana Ilya Pomerantsev, pakar analisis kode berbahaya di CERT Group-IB, melakukan analisis terperinci atas file yang diterima melalui pos dari salah satu perusahaan Eropa dan menemukan
spyware AgentTesla di sana . Dalam artikel ini, Ilya menyajikan hasil analisis bertahap dari modul
AgentTesla utama.
Agen Tesla adalah perangkat lunak spionase modular yang didistribusikan sebagai malware-as-a-service dengan kedok produk hukum keylogger. Agent Tesla dapat mengekstraksi dan mengirimkan kredensial pengguna dari browser, klien email dan klien FTP ke server untuk penyerang, mendaftar data clipboard, dan menangkap layar perangkat. Pada saat analisis, situs web resmi pengembang tidak tersedia.
File konfigurasi
Tabel di bawah ini mencantumkan fitur yang digunakan dalam sampel yang digunakan:
Memperbaiki modul utama dalam sistem
Jika flag yang sesuai diatur, modul utama disalin di sepanjang jalur yang ditentukan dalam konfigurasi sebagai jalur untuk perbaikan di sistem.
Bergantung pada nilai dari konfigurasi, file diberi atribut "Tersembunyi" dan "Sistem".
Autostart disediakan oleh dua cabang registri:
- HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \% insregname%
- HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ StartupApproved \ Run \% insregname%
Karena bootloader menyuntikkan ke dalam proses
RegAsm , pengaturan flag persisten untuk modul utama menghasilkan konsekuensi yang cukup menarik. Alih-alih menyalin sendiri, malware mengamankan file
RegAsm.exe asli ke dalam sistem, di mana injeksi dilakukan.
Interaksi dengan C&C
Terlepas dari metode yang digunakan, interaksi jaringan dimulai dengan memperoleh IP eksternal dari korban menggunakan
checkip [.] Amazonaw [.] Com / resource.
Berikut ini menjelaskan metode jaringan yang disajikan dalam malware.
panel web
Interaksi ini melalui protokol HTTP. Malware mengeksekusi permintaan POST dengan tajuk berikut:
- User-Agent: Mozilla / 5.0 (Windows U Windows NT 6.1 ru rv: 1.9.2.3) Gecko / 20100401 Firefox / 4.0 (.NET CLR 3.5.30729)
- Koneksi: Keep-Alive
- Content-Type: application / x-www-form-urlencoded
Alamat server diatur ke
% PostURL% . Pesan terenkripsi dilewatkan dalam parameter
"p" . Mekanisme enkripsi dijelaskan di bagian
“Algoritma Enkripsi” (Metode 2) .
Pesan yang dikirimkan adalah sebagai berikut:
type = {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreenadd = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nclient = {8} \ nlink = {9} \ nusername = {10} \ npassword = {11} \ nscreen_link = {12}Parameter
tipe menunjukkan tipe pesan:
hwid - hash MD5 ditulis dari nilai-nilai nomor seri motherboard dan ID prosesor. Kemungkinan besar digunakan sebagai ID Pengguna.
waktu - berfungsi untuk mentransmisikan waktu dan tanggal saat ini.
pcname - didefinisikan sebagai
<Username> / <Computer Name> .
logdata - data log.
Saat mengirimkan kata sandi, pesannya tampak seperti:
type = {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreen = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nscreen_link = {8} \ n [kata sandi]Berikut ini adalah deskripsi data yang dicuri dalam format
\ nclient [] = {0} \ nlink [] = {1} \ nusername [] = {2} \ npassword [] = {3} .
smtp
Interaksi ini melalui protokol SMTP. Pesan yang dikirim dalam format HTML. Parameter
BODY adalah:
Judul surat memiliki bentuk umum:
<NAMA PENGGUNA> / <NAMA KOMPUTER> <JENIS KONTEN> . Isi surat itu, beserta lampirannya, tidak dienkripsi.
Interaksi adalah melalui protokol ftp. File dengan nama
<TYPE KONTEN> _ <NAMA PENGGUNA> - <NAMA KOMPUTER> _ <TANGGAL DAN WAKTU> .html ditransfer ke server yang ditentukan. Isi file tidak dienkripsi.
Algoritma enkripsi
Metode enkripsi berikut digunakan dalam kasus ini:
Metode 1
Metode ini digunakan untuk mengenkripsi string dalam modul utama. Untuk enkripsi, algoritma
AES digunakan .
Input adalah angka desimal enam digit. Transformasi berikut dilakukan di atasnya:
f (x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3Nilai yang dihasilkan adalah indeks untuk array data yang disematkan.
Setiap elemen array adalah urutan
DWORD . Saat menggabungkan
DWORD, array byte diperoleh: 32 byte pertama adalah kunci enkripsi, diikuti oleh 16 byte vektor inisialisasi, dan byte yang tersisa adalah data terenkripsi.
Metode 2
Algoritma
3DES digunakan dalam
mode ECB dengan padding di seluruh byte (
PKCS7 ).
Kunci ditentukan oleh parameter
% urlkey% , tetapi hash MD5-nya digunakan untuk enkripsi.
Fungsionalitas berbahaya
Sampel yang diteliti menggunakan program-program berikut untuk mengimplementasikan fungsi jahatnya:
Keylogger
Jika ada flag VPO yang sesuai menggunakan fungsi WinAPI,
SetWindowsHookEx memberikan penangannya sendiri untuk acara keyboard keystroke. Fungsi pawang dimulai dengan mendapatkan judul jendela aktif.
Jika tanda untuk melakukan penyaringan aplikasi diatur, penyaringan dilakukan tergantung pada jenis yang ditentukan:
- nama program terlihat di header jendela
- nama program terlihat di nama proses jendela
Selanjutnya, catatan ditambahkan ke log dengan informasi tentang jendela aktif dalam format:
Kemudian informasi tentang tombol yang ditekan direkam:
Dengan frekuensi yang diberikan, log yang dikumpulkan dikirim ke server. Jika transfer tidak berhasil, log disimpan ke file
% TEMP% \\ log.tmp dalam format:
Ketika penghitung waktu mati, file akan ditransfer ke server.
Screenlogger
Dengan frekuensi yang ditentukan, malware menciptakan tangkapan layar dalam format
Jpeg dengan nilai
Kualitas 50 dan menyimpannya ke file
% APPDATA% \\ <Urutan sewenang-wenang 10 karakter> .jpg . Setelah transfer, file dihapus.
Clipboardlogger
Jika bendera yang sesuai diatur, penggantian dilakukan dalam teks dicegat sesuai dengan tabel di bawah ini.
Setelah itu, teks dimasukkan ke dalam log:
PasswordStealer
Malware dapat mengunduh kata sandi dari aplikasi berikut:
Menangkal analisis dinamis
- Menggunakan fungsi Tidur . Memungkinkan untuk melewati beberapa kotak pasir berdasarkan batas waktu
- Menghancurkan Zone.Identifier stream. Memungkinkan Anda menyembunyikan fakta mengunduh file dari Internet
- Parameter % filter_list% menetapkan daftar proses yang akan diselesaikan malware dengan interval satu detik
- Menonaktifkan UAC
- Menonaktifkan Task Manager
- Menonaktifkan CMD
- Menonaktifkan jendela Jalankan
- Menonaktifkan Panel Kontrol
- Menonaktifkan Alat RegEdit
- Menonaktifkan Poin Pemulihan Sistem
- Menonaktifkan menu konteks di Explorer
- Menonaktifkan msconfig
- Bypass UAC :
Fitur tidak aktif dari modul utama
Selama analisis modul utama, fungsi yang bertanggung jawab untuk menyebar melalui jaringan dan melacak posisi mouse diidentifikasi.
Cacing
Dalam aliran terpisah, acara koneksi media yang dapat dilepas dimonitor. Ketika terhubung ke root dari sistem file,
malware disalin dengan nama
scr.exe , setelah itu mencari file dengan ekstensi
lnk . Setiap
perintah lnk berubah menjadi
cmd.exe / c mulai scr.exe & mulai <perintah asli> & keluar .
Setiap direktori di root media diberikan atribut
Tersembunyi dan file dengan ekstensi
lnk dibuat dengan nama direktori tersembunyi dan perintah
cmd.exe / c mulai scr.exe & explorer / root, \ "% CD% <NAMA DIREKTORI> \" & keluar .
Perangkap tikus
Metode intersepsi mirip dengan yang digunakan untuk keyboard. Fungsi ini masih dalam pengembangan.
Aktivitas file
Profil penyusup
Berkat data otentikasi "kabel", kami dapat memperoleh akses ke pusat perintah.
Ini memungkinkan kami untuk mengidentifikasi surat terakhir para penyerang:
junaid [.] di *** @ gmail [.] com .
Nama domain dari pusat perintah terdaftar di
sg *** @ gmail [.] Com .
Kesimpulan
Dalam proses analisis terperinci terhadap malware yang digunakan dalam serangan itu, kami dapat menetapkan fungsionalitasnya dan mendapatkan daftar indikator kompromi paling komprehensif yang relevan untuk kasus ini. Memahami mekanisme interaksi jaringan malvari memungkinkan untuk memberikan rekomendasi tentang penyesuaian operasi alat perlindungan informasi, serta menulis aturan IDS yang stabil.
Bahaya utama
AgentTesla sebagai DataStealer adalah bahwa untuk melakukan tugasnya tidak perlu membuat fiksasi dalam sistem atau menunggu perintah kontrol. Begitu berada di mesin, ia segera mulai mengumpulkan informasi pribadi dan mengirimkannya ke CnC. Perilaku agresif semacam itu agak mirip dengan perilaku kriptografer, dengan satu-satunya perbedaan adalah bahwa yang terakhir bahkan tidak memerlukan koneksi jaringan. Jika terjadi tabrakan dengan keluarga ini setelah membersihkan sistem yang terinfeksi dari malware itu sendiri, adalah wajib untuk mengubah semua kata sandi yang setidaknya secara teoritis dapat disimpan di salah satu aplikasi di atas.
Ke depan, katakanlah bahwa penyerang mengirim
AgentTesla sangat sering mengubah bootloader awal. Ini memungkinkan Anda untuk tidak diketahui oleh pemindai statis dan analisis heuristik pada saat serangan. Dan kecenderungan keluarga ini untuk segera memulai aktivitasnya membuat sistem monitor menjadi tidak berguna. Cara terbaik untuk berurusan dengan AgentTesla adalah analisis pendahuluan di kotak pasir.
Pada artikel ketiga dalam seri ini, kita akan melihat bootloader lain yang digunakan oleh
AgentTesla , dan juga belajar tentang proses membongkar mereka secara otomatis. Jangan sampai ketinggalan!
Hash
C&C
Regkey
Mutex
Tidak ada indikator.
File
Info Sampel