RATKing: bag-ong kampanya nga adunay remote access Trojans
Sa katapusan sa Mayo, nadiskobrehan namo ang kampanya sa pag-apod-apod sa Remote Access Trojan (RAT) malwareβmga programa nga nagtugot sa mga tig-atake sa layo nga pagkontrolar sa nataptan nga sistema.
Ang grupo nga among gisusi gipalahi sa kamatuoran nga wala kini nagpili sa bisan unsang piho nga pamilya sa RAT alang sa impeksyon. Daghang mga Trojan ang namatikdan sa mga pag-atake sulod sa kampanya (nga ang tanan kaylap nga magamit). Uban niini nga bahin, ang grupo nagpahinumdom kanamo sa hari sa ilaga - usa ka tinumotumo nga mananap nga gilangkuban sa mga ilaga nga adunay mga ikog.
Ang orihinal gikuha gikan sa monograpo ni K. N. Rossikov "Mga ilaga ug samag-ilaga nga mga ilaga, ang labing importante sa ekonomiya" (1908)
Sa pagpasidungog niini nga binuhat, among ginganlan ang grupo nga among gikonsiderar nga RATKing. Sa kini nga post, hisgotan namon ang detalye kung giunsa gihimo sa mga tig-atake ang pag-atake, kung unsang mga himan ang ilang gigamit, ug ipaambit usab ang among mga hunahuna sa pag-ila alang sa kini nga kampanya.
Pag-uswag sa pag-atake
Ang tanan nga mga pag-atake niini nga kampanya nahitabo sumala sa mosunod nga algorithm:
Nakadawat ang user og email sa phishing nga adunay link sa Google Drive.
Gamit ang link, ang biktima nag-download sa usa ka malisyoso nga VBS script nga nagtino sa usa ka DLL library aron i-load ang katapusang payload sa Windows registry ug gilunsad ang PowerShell aron ipatuman kini.
Ang librarya sa DLL nag-inject sa katapusang payload - sa tinuud, usa sa mga RAT nga gigamit sa mga tig-atake - sa proseso sa sistema ug nagparehistro sa usa ka script sa VBS sa autorun aron makakuha usa ka foothold sa nataptan nga makina.
Ang katapusang payload gipatuman sa usa ka proseso sa sistema ug gihatagan ang tig-atake sa abilidad sa pagkontrolar sa nataptan nga kompyuter.
Sa eskematiko kini mahimong irepresentar sama niini:
Sunod, magpunting kami sa una nga tulo nga mga yugto, tungod kay interesado kami sa mekanismo sa paghatud sa malware. Dili namo ihulagway sa detalye ang mekanismo sa operasyon sa malware mismo. Kini kaylap nga magamit - mahimong gibaligya sa mga espesyal nga forum, o giapod-apod ingon nga mga open source nga proyekto - ug busa dili talagsaon sa grupo sa RATKing.
Pag-analisar sa mga yugto sa pag-atake
Yugto 1. Email sa phishing
Nagsugod ang pag-atake sa biktima nga nakadawat og malisyoso nga sulat (ang mga tig-atake migamit ug lain-laing mga templates nga adunay teksto; ang screenshot sa ubos nagpakita sa usa ka pananglitan). Ang mensahe adunay usa ka link sa usa ka lehitimong repositoryo drive.google.com, nga misangpot kuno sa PDF nga dokumento sa pag-download nga panid.
Pananglitan sa email sa phishing
Bisan pa, sa tinuud, dili kini usa ka dokumento sa PDF nga gikarga, apan usa ka script sa VBS.
Kung imong gi-klik ang link gikan sa email sa screenshot sa ibabaw, usa ka file nga ginganlag Cargo Flight Details.vbs. Niini nga kaso, ang mga tig-atake wala gani mosulay sa pagtakuban sa file isip usa ka lehitimong dokumento.
Sa samang higayon, isip kabahin niini nga kampanya, nakadiskubre mi og script nga gihinganlan Cargo Trip Detail.pdf.vbs. Mahimo na kini nga ipasa alang sa usa ka lehitimong PDF tungod kay ang Windows nagtago sa mga extension sa file pinaagi sa default. Tinuod, sa kini nga kaso, ang pagduda mahimo gihapon nga mapukaw sa icon niini, nga katumbas sa script sa VBS.
Niini nga yugto, ang biktima makaila sa limbong: tan-awa lang pag-ayo ang na-download nga mga file sa makadiyot. Bisan pa, sa ingon nga mga kampanya sa phishing, ang mga tig-atake kanunay nga nagsalig sa usa ka walay pagtagad o nagdali nga tiggamit.
Stage 2. VBS script nga operasyon
Ang script sa VBS, nga maablihan sa tiggamit nga wala tuyoa, nagparehistro sa usa ka DLL library sa Windows registry. Ang script gi-obfuscate: ang mga linya niini gisulat isip mga byte nga gibulag sa usa ka arbitraryong karakter.
Pananglitan sa usa ka nalibog nga script
Ang deobfuscation algorithm yano ra: ang matag ikatulo nga karakter wala iapil sa obfuscated string, pagkahuman ang resulta gi-decode gikan sa base16 ngadto sa orihinal nga string. Pananglitan, gikan sa bili 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (gi-highlight sa screenshot sa ibabaw) ang resulta nga linya WScript.Shell.
Aron ma-deobfuscate ang mga string, among gigamit ang Python function:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
Sa ubos, sa mga linya 9-10, among gipasiugda ang bili kansang deobfuscation miresulta sa usa ka DLL file. Siya ang gilusad sa sunod nga yugto gamit ang PowerShell.
String nga adunay obfuscated DLL
Ang matag function sa VBS script gipatuman samtang ang mga string gi-deobfuscate.
Human sa pagpadagan sa script, ang function gitawag wscript.sleep - gigamit kini sa paghimo sa nalangan nga pagpatay.
Sunod, ang script nagtrabaho sa Windows registry. Gigamit niya ang teknolohiya sa WMI alang niini. Uban sa tabang niini, usa ka talagsaon nga yawe ang gihimo, ug ang lawas sa executable file gisulat sa parameter niini. Ang rehistro gi-access pinaagi sa WMI gamit ang mosunod nga sugo:
Usa ka entry nga gihimo sa registry pinaagi sa VBS script
Stage 3. Operasyon sa DLL library
Sa ikatulo nga yugto, ang malisyoso nga DLL nagkarga sa katapusang payload, gi-inject kini sa proseso sa sistema, ug gisiguro nga ang VBS script nag-autostart sa dihang ang user naka-log in.
Pagdagan pinaagi sa PowerShell
Ang DLL gipatuman gamit ang mosunod nga sugo sa PowerShell:
nakadawat data sa kantidad sa rehistro nga adunay ngalan rnd_value_name β kini nga datos kay DLL file nga gisulat sa .Net nga plataporma;
gikarga ang resulta nga .Net nga module ngadto sa memorya sa proseso powershell.exe gamit ang function [System.Threading.Thread]::GetDomain().Load()(detalyadong paghulagway sa Load() function anaa sa website sa Microsoft);
gihimo ang function GUyyvmzVhebFCw]::EhwwK() - ang pagpatuman sa DLL library nagsugod niini - nga adunay mga parameter vbsScriptPath, xorKey, vbsScriptName. Parameter xorKey gitipigan ang yawe alang sa pag-decrypting sa katapusang payload, ug ang mga parameter vbsScriptPath ΠΈ vbsScriptName gibalhin aron marehistro ang usa ka script sa VBS sa autorun.
Deskripsyon sa DLL library
Sa decompiled nga porma, ang bootloader ingon niini:
Ang loader sa decompiled nga porma (ang function diin gisugdan ang pagpatuman sa DLL library kay gibadlong sa pula)
Ang bootloader gipanalipdan sa .Net Reactor protector. Ang de4dot utility usa ka maayo kaayo nga trabaho sa pagtangtang niini nga tigpanalipod.
Kini nga loader:
nag-inject sa payload sa proseso sa sistema (sa kini nga pananglitan kini svchost.exe);
Nagdugang ko og VBS script sa autorun.
Pag-injection sa payload
Atong tan-awon ang function nga gitawag sa PowerShell script.
Function nga gitawag sa PowerShell script
Kini nga function naghimo sa mosunod nga mga aksyon:
gi-decrypted ang duha ka set sa datos (array ΠΈ array2 sa screenshot). Sila orihinal nga gi-compress gamit ang gzip ug gi-encrypt sa XOR algorithm nga adunay yawe xorKey;
gikopya nga datos sa gigahin nga mga lugar sa memorya. Data gikan sa array - sa lugar sa memorya nga gitudlo intPtr (payload pointer sa screenshot); data gikan sa array2 - sa lugar sa memorya nga gitudlo intPtr2 (shellcode pointer sa screenshot);
gitawag nga function CallWindowProcA(ang paghulagway Kini nga function anaa sa Microsoft website) nga adunay mga mosunud nga mga parameter (ang mga ngalan sa mga parameter gilista sa ubos, sa screenshot naa sila sa parehas nga pagkasunud, apan adunay mga kantidad nga nagtrabaho):
lpPrevWndFunc - pointer sa data gikan sa array2;
hWnd - pointer sa usa ka hilo nga adunay sulud nga agianan sa executable file svchost.exe;
Msg - pointer sa data gikan sa array;
wParam, lParam - mga parameter sa mensahe (sa kini nga kaso, kini nga mga parameter wala gigamit ug adunay mga kantidad nga 0);
naghimo ug file %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urldiin <name> - kini ang una nga 4 nga mga karakter sa parameter vbsScriptName (sa screenshot, ang code fragment niini nga aksyon nagsugod sa command File.Copy). Niining paagiha, ang malware midugang ug URL file sa lista sa mga autorun files sa dihang ang user naka-log in ug sa ingon nahimong attached sa infected nga computer. Ang URL file adunay usa ka link sa script:
Aron masabtan kung giunsa ang pag-injection, among gi-decrypt ang mga arrays sa datos array ΠΈ array2. Sa pagbuhat niini gigamit namo ang mosunod nga Python function:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
Ingon usa ka sangputanan, nahibal-an namon nga:
array usa ka PE file - kini ang katapusang payload;
array2 mao ang shellcode nga gikinahanglan aron mahimo ang indeyksiyon.
Shellcode gikan sa array array2 gipasa isip usa ka function value lpPrevWndFunc ngadto sa usa ka function CallWindowProcA. lpPrevWndFunc - function sa callback, ang prototype niini ingon niini:
Mao nga kung imong gipadagan ang function CallWindowProcA uban sa mga parameter hWnd, Msg, wParam, lParam Ang shellcode gikan sa array gipatuman array2 uban sa mga argumento hWnd ΠΈ Msg. hWnd mao ang usa ka pointer sa usa ka hilo nga naglangkob sa dalan sa executable file svchost.exeug Msg - pointer sa katapusang payload.
Ang shellcode nakadawat ug function address gikan sa kernel32.dll ΠΈ ntdll32.dll base sa hash values ββgikan sa ilang mga ngalan ug gi-inject ang final payload ngadto sa process memory svchost.exegamit ang Process Hollowing nga teknik (mahimo nimong mabasa ang dugang bahin niini niini artikulo). Sa pag-inject sa shellcode:
naghimo ug proseso svchost.exe sa usa ka gisuspinde nga estado gamit ang function CreateProcessW;
dayon gitago ang display sa seksyon sa address space sa proseso svchost.exe gamit ang function NtUnmapViewOfSection. Busa, ang programa nagpagawas sa panumduman sa orihinal nga proseso svchost.exearon dayon igahin ang memorya alang sa payload niini nga adres;
gigahin nga panumduman alang sa payload sa luna sa address sa proseso svchost.exe gamit ang function VirtualAllocEx;
Pagsugod sa proseso sa pag-injection
gisulat ang mga sulod sa payload ngadto sa luna sa address sa proseso svchost.exe gamit ang function WriteProcessMemory (sama sa screenshot sa ubos);
gipadayon ang proseso svchost.exe gamit ang function ResumeThread.
Pagkompleto sa proseso sa pag-injection
Ma-download nga malware
Ingon usa ka sangputanan sa gihulagway nga mga aksyon, usa sa daghang RAT-class nga malware ang na-install sa nataptan nga sistema. Ang talaan sa ubos naglista sa malware nga gigamit sa pag-atake, nga masaligon natong ikapasangil sa usa ka grupo sa mga tig-atake, tungod kay ang mga sample naka-access sa samang command ug control server.
Mga pananglitan sa gipang-apod-apod nga malware nga adunay parehas nga control server
Duha ka butang ang mamatikdan dinhi.
Una, ang kamatuoran nga gigamit sa mga tig-atake ang daghang lainlaing mga pamilya sa RAT sa usa ka higayon. Kini nga pamatasan dili kasagaran alang sa ilado nga mga grupo sa cyber, nga kasagaran naggamit sa gibana-bana nga parehas nga hugpong sa mga himan nga pamilyar kanila.
Ikaduha, gigamit sa RATKing ang malware nga gibaligya sa mga espesyal nga forum sa mubu nga presyo, o bisan usa ka bukas nga gigikanan nga proyekto.
Ang usa ka mas kompleto nga lista sa malware nga gigamit sa kampanya-nga adunay usa ka importante nga caveat-gihatag sa katapusan sa artikulo.
Mahitungod sa grupo
Dili namo mapasangil ang gihulagway nga malisyoso nga kampanya sa bisan kinsa nga nailhan nga mga tig-atake. Sa pagkakaron, kami nagtuo nga kini nga mga pag-atake gihimo sa usa ka batakan nga bag-ong grupo. Sama sa among gisulat sa sinugdanan, gitawag namon kini nga RATKing.
Sa paghimo sa VBS script, ang grupo lagmit migamit ug himan nga susama sa utility VBS-Crypter gikan sa developer NYAN-x-CAT. Gipakita kini sa pagkaparehas sa script nga gihimo niini nga programa sa script sa mga tig-atake. Sa partikular, silang duha:
paghimo sa nalangan nga pagpatuman gamit ang function Sleep;
gamita ang WMI;
irehistro ang lawas sa executable file isip registry key parameter;
i-execute kini nga file gamit ang PowerShell sa kaugalingon nga address space.
Para sa katin-awan, itandi ang PowerShell nga sugo sa pagpadagan sa usa ka file gikan sa registry, nga gigamit sa usa ka script nga gihimo gamit ang VBS-Crypter:
Timan-i nga ang mga tig-atake migamit og laing utility gikan sa NYAN-x-CAT isip usa sa mga payloads - LimeRAT.
Ang mga adres sa mga server sa C&C nagpaila sa lain nga lahi nga bahin sa RATKing: gipalabi sa grupo ang dinamikong serbisyo sa DNS (tan-awa ang lista sa mga C&C sa talaan sa IoC).
IoC
Ang lamesa sa ubos naghatag usa ka kompleto nga lista sa mga script sa VBS nga lagmit nga ipasangil sa gihulagway nga kampanya. Ang tanan niini nga mga script managsama ug naghimo sa gibana-bana nga parehas nga han-ay sa mga aksyon. Tanan sila nag-inject sa RAT class malware sa usa ka kasaligan nga proseso sa Windows. Tanan sila adunay mga adres sa C&C nga narehistro gamit ang mga serbisyo sa Dynamic DNS.
Bisan pa, dili kami makaangkon nga kining tanan nga mga script giapod-apod sa parehas nga mga tig-atake, gawas sa mga sample nga adunay parehas nga adres sa C&C (pananglitan, kimjoy007.dyndns.org).