RATKing: kampanye anyar kalawan aksés jauh Trojans
Dina ahir Méi, urang manggihan kampanye pikeun ngadistribusikaeun Remote Access Trojan (RAT) malware-program nu ngidinan panyerang ngadalikeun jarak jauh sistem kainféksi.
Grup anu urang nalungtik dibédakeun ku kanyataan yén éta henteu milih kulawarga RAT khusus pikeun inféksi. Sababaraha Trojans diperhatikeun dina serangan dina kampanye (sadayana éta lega sadia). Kalayan fitur ieu, grup éta ngingetkeun urang ngeunaan raja beurit - sato mitis anu diwangun ku rodénsia sareng buntut anu saling.
Aslina dicokot tina monograf ku K. N. Rossikov "Beurit jeung beurit-kawas rodénsia, paling ékonomis penting" (1908)
Keur ngahargaan ka mahluk ieu, urang ngaranna grup kami tempo RATKing. Dina postingan ieu, urang bakal rinci ngeunaan kumaha panyerang ngalaksanakeun serangan, alat naon anu aranjeunna dianggo, sareng ogé ngabagi pikiran urang ngeunaan atribusi pikeun kampanye ieu.
Kamajuan serangan
Sadaya serangan dina kampanye ieu lumangsung dumasar kana algoritma ieu:
Pangguna nampi email phishing kalayan tautan ka Google Drive.
Nganggo tautan, korban ngaunduh skrip VBS jahat anu netepkeun perpustakaan DLL pikeun ngamuat muatan ahir kana pendaptaran Windows sareng ngaluncurkeun PowerShell pikeun ngaéksekusi éta.
Perpustakaan DLL nyuntik payload ahir - kanyataanna, salah sahiji RAT anu dianggo ku panyerang - kana prosés sistem sareng ngadaptarkeun skrip VBS dina autorun supados kéngingkeun tapak dina mesin anu kainféksi.
Payload ahir dieksekusi dina prosés sistem sareng masihan panyerang kamampuan pikeun ngontrol komputer anu katépaan.
Schematically bisa digambarkeun saperti kieu:
Salajengna, urang bakal difokuskeun tilu tahap kahiji, sabab urang museurkeun mékanisme pangiriman malware. Kami moal ngajelaskeun sacara rinci mékanisme operasi malware éta sorangan. Éta sayogi lega - boh dijual dina forum khusus, atanapi disebarkeun salaku proyék open source - sahingga henteu unik pikeun grup RATKing.
Analisis tahapan serangan
Tahap 1. Email phishing
Serangan dimimitian ku korban nampi surat jahat (para panyerang ngagunakeun témplat anu béda sareng téks; screenshot di handap nunjukkeun hiji conto). Suratna ngandung tautan ka gudang anu sah drive.google.com, nu konon ngarah ka kaca download dokumén PDF.
Conto email phishing
Nanging, kanyataanna, éta sanés dokumén PDF anu dimuat pisan, tapi naskah VBS.
Nalika anjeun ngaklik tautan tina email dina layar di luhur, file anu namina Cargo Flight Details.vbs. Dina hal ieu, panyerang malah henteu nyobian nyamur file salaku dokumen anu sah.
Dina waktos anu sami, salaku bagian tina kampanye ieu, kami mendakan naskah anu namina Cargo Trip Detail.pdf.vbs. Éta parantos tiasa lulus pikeun PDF anu sah sabab Windows nyumputkeun ekstensi file sacara standar. Leres, dina hal ieu, kacurigaan masih tiasa dibangkitkeun ku ikonna, anu pakait sareng naskah VBS.
Dina tahap ieu, korban bisa mikawanoh tipu daya: ngan nyokot katingal ngadeukeutan dina file diundeur sadetik. Nanging, dina kampanye phishing sapertos kitu, panyerang sering ngandelkeun pangguna anu teu merhatikeun atanapi rurusuhan.
Tahap 2. Operasi Aksara VBS
Skrip VBS, anu tiasa dibuka ku pangguna sacara teu kahaja, ngadaptarkeun perpustakaan DLL dina pendaptaran Windows. Skripna kabur: garis-garis di jerona ditulis sabagé bait anu dipisahkeun ku karakter anu sawenang-wenang.
Conto skrip kabingung
Algoritma deobfuscation cukup basajan: unggal karakter katilu teu kaasup ti string obfuscated, nu satutasna hasilna ieu decoded tina base16 kana string aslina. Contona, tina nilai 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (disorot dina screenshot luhur) garis hasilna éta WScript.Shell.
Pikeun deobfuscate string, kami nganggo fungsi Python:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
Di handap, dina garis 9-10, urang nyorot nilai nu deobfuscation ngahasilkeun file DLL. Anjeunna anu diluncurkeun dina tahap salajengna nganggo PowerShell.
String kalawan DLL obfuscated
Unggal pungsi dina Aksara VBS ieu dieksekusi salaku string anu deobfuscated.
Saatos ngajalankeun skrip, fungsina disebut wscript.sleep - ieu dipaké pikeun ngalakukeun palaksanaan nunggak.
Salajengna, naskah damel sareng pendaptaran Windows. Anjeunna nganggo téknologi WMI pikeun ieu. Kalayan pitulungna, konci unik diciptakeun, sareng awak file anu tiasa dieksekusi ditulis kana parameter na. Pendaptaran diaksés via WMI nganggo paréntah di handap ieu:
Éntri anu dilakukeun dina pendaptaran ku skrip VBS
Tahap 3. Operasi perpustakaan DLL
Dina tahap katilu, DLL jahat ngamuat payload ahir, nyuntikkeun kana prosés sistem, sareng mastikeun yén skrip VBS otomatis dimimitian nalika pangguna asup.
Jalankeun via PowerShell
DLL dieksekusi nganggo paréntah di handap ieu dina PowerShell:
nampi data nilai pendaptaran sareng nami rnd_value_name - data ieu mangrupa file DLL ditulis dina platform .Net;
dimuat modul .Net hasilna kana mémori prosés powershell.exe ngagunakeun fungsi [System.Threading.Thread]::GetDomain().Load()(deskripsi rinci ngeunaan beban () fungsi sadia dina ramatloka Microsoft);
ngalaksanakeun fungsi GUyyvmzVhebFCw]::EhwwK() - palaksanaan perpustakaan DLL dimimitian ku eta - kalawan parameter vbsScriptPath, xorKey, vbsScriptName. Parameter xorKey disimpen konci pikeun decrypting payload final, sarta parameter vbsScriptPath и vbsScriptName ditransferkeun pikeun ngadaptarkeun skrip VBS dina autorun.
Katerangan ngeunaan perpustakaan DLL
Dina bentuk decompiled, bootloader katingali sapertos kieu:
Loader dina bentuk decompiled (fungsi anu ngamimitian palaksanaan perpustakaan DLL digariskeun beureum)
Bootloader ditangtayungan ku .Net Reactor protector. Utilitas de4dot ngalaksanakeun tugas anu saé pikeun ngahapus pelindung ieu.
Loader ieu:
nyuntikkeun payload kana prosés sistem (dina conto ieu svchost.exe);
Kuring ditambahkeun Aksara VBS mun autorun.
Suntikan payload
Hayu urang tingali fungsi anu disebut skrip PowerShell.
Fungsi disebut ku skrip PowerShell
Fungsi ieu ngalaksanakeun tindakan di handap ieu:
ngadekrip dua set data (array и array2 dina screenshot). Éta asalna dikomprés nganggo gzip sareng énkripsi nganggo algoritma XOR kalayan konci xorKey;
data disalin ka wewengkon memori dialokasikeun. Data ti array - ka wewengkon memori nunjuk ka intPtr (payload pointer dina screenshot); data ti array2 - ka wewengkon memori nunjuk ka intPtr2 (shellcode pointer dina screenshot);
disebut fungsi CallWindowProcA(Ѕѕїїё ° ° °ЅЅ ° Pungsi ieu sayogi dina situs wéb Microsoft) kalayan parameter di handap ieu (nami parameter dibéréndélkeun di handap, dina screenshot aranjeunna dina urutan anu sami, tapi kalayan nilai anu tiasa dianggo):
lpPrevWndFunc - pointer kana data ti array2;
hWnd - pointer ka string ngandung jalur ka file laksana svchost.exe;
Msg - pointer kana data ti array;
wParam, lParam - Parameter pesen (dina hal ieu, parameter ieu henteu dianggo sareng gaduh nilai 0);
dijieun file %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urldimana <name> - ieu 4 karakter mimiti parameter vbsScriptName (dina screenshot, fragmen kode sareng aksi ieu dimimitian ku paréntah File.Copy). Ku cara kieu, malware nambihkeun file URL kana daptar file autorun nalika pangguna asup sareng janten napel kana komputer anu katépaan. Berkas URL ngandung tautan kana naskah:
Pikeun ngartos kumaha suntikan dilumangsungkeun, kami ngadekrip susunan data array и array2. Jang ngalampahkeun ieu kami nganggo fungsi Python di handap ieu:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
Hasilna, urang manggihan yén:
array éta file PE - ieu payload final;
array2 éta shellcode diperlukeun pikeun ngalaksanakeun suntik.
Shellcode tina hiji Asép Sunandar Sunarya array2 diliwatan salaku nilai fungsi lpPrevWndFunc kana hiji fungsi CallWindowProcA. lpPrevWndFunc - fungsi callback, prototipe na Sigana mah kieu:
Janten nalika anjeun ngajalankeun fungsina CallWindowProcA kalawan parameter hWnd, Msg, wParam, lParam shellcode tina Asép Sunandar Sunarya dieksekusi array2 kalawan argumen hWnd и Msg. hWnd mangrupakeun pointer kana string ngandung jalur ka file laksana svchost.exejeung Msg - pointer ka payload ahir.
Shellcode nampi alamat fungsi tina kernel32.dll и ntdll32.dll dumasar kana nilai hash tina ngaran maranéhanana sarta nyuntik payload final kana mémori prosés svchost.exengagunakeun téknik Process Hollowing (anjeun tiasa maca langkung seueur ngeunaan éta dina ieu artikel). Nalika nyuntik shellcode:
dijieun prosés svchost.exe dina kaayaan ditunda ngagunakeun fungsi CreateProcessW;
teras nyumputkeun tampilan bagian dina rohangan alamat prosés svchost.exe ngagunakeun fungsi NtUnmapViewOfSection. Ku kituna, program ngabébaskeun mémori tina prosés aslina svchost.exemun lajeng allocate memori pikeun payload di alamat ieu;
memori disadiakeun pikeun payload dina spasi alamat prosés svchost.exe ngagunakeun fungsi VirtualAllocEx;
Mimiti prosés suntikan
nulis eusi payload kana rohangan alamat prosés svchost.exe ngagunakeun fungsi WriteProcessMemory (sakumaha dina screenshot handap);
neruskeun prosés svchost.exe ngagunakeun fungsi ResumeThread.
Ngalengkepan prosés suntikan
malware diundeur
Salaku hasil tina tindakan anu dijelaskeun, salah sahiji sababaraha malware kelas RAT dipasang dina sistem anu kainféksi. Tabél di handap ieu daptar malware anu dianggo dina serangan éta, anu ku urang yakin tiasa dikaitkeun kana hiji kelompok panyerang, sabab sampelna diaksés paréntah sareng server kontrol anu sami.
Conto malware anu disebarkeun sareng server kontrol anu sami
Dua hal anu noteworthy di dieu.
Anu mimiti, kanyataan yén panyerang ngagunakeun sababaraha kulawarga RAT anu béda sakaligus. Paripolah ieu henteu khas pikeun grup cyber anu terkenal, anu sering nganggo alat anu sami sareng anu biasa aranjeunna.
Kadua, RATKing nganggo malware anu dijual dina forum khusus pikeun harga anu murah, atanapi malah mangrupikeun proyek open source.
Daptar malware anu langkung lengkep anu dianggo dina kampanye-kalayan hiji caveat penting-dirumuskeun dina tungtung tulisan.
Ngeunaan grup
Kami henteu tiasa ngahubungkeun kampanye jahat anu dijelaskeun ka panyerang anu dipikanyaho. Pikeun ayeuna, kami yakin yén serangan ieu dilaksanakeun ku grup fundamentally anyar. Salaku urang nulis di awal, urang disebut RATKing.
Pikeun nyiptakeun skrip VBS, grup éta sigana ngagunakeun alat anu sami sareng utiliti VBS-Crypter ti pamekar NYAN-x-CAT. Ieu dituduhkeun ku kasaruaan naskah anu didamel ku program ieu sareng skrip panyerang. Sacara husus, duanana:
ngalakukeun palaksanaan nyangsang ngagunakeun fungsi Sleep;
ngagunakeun WMI;
ngadaptarkeun awak file laksana salaku parameter konci pendaptaran;
laksanakeun file ieu nganggo PowerShell dina rohangan alamatna sorangan.
Pikeun kajelasan, bandingkeun paréntah PowerShell pikeun ngajalankeun file tina pendaptaran, anu dianggo ku naskah anu didamel nganggo VBS-Crypter:
Catet yén panyerang ngagunakeun utilitas sanés ti NYAN-x-CAT salaku salah sahiji payloads - LimeRAT.
Alamat tina server C&C nunjukkeun fitur has sejen tina RATKing: grup prefers ladenan DNS dinamis (tingali daptar C&Cs dina tabel IoC).
IoC
Tabel di handap nyadiakeun daptar lengkep ngeunaan Aksara VBS nu paling dipikaresep bisa attributed ka kampanye dijelaskeun. Sadaya skrip ieu sami sareng ngalaksanakeun kirang langkung sekuen tindakan anu sami. Sadayana nyuntik malware kelas RAT kana prosés Windows anu dipercaya. Sadayana gaduh alamat C&C anu kadaptar nganggo jasa DNS Dinamis.
Najan kitu, urang teu bisa ngaku yén sakabéh naskah ieu disebarkeun ku panyerang sarua, iwal sampel kalawan alamat C&C sarua (contona, kimjoy007.dyndns.org).