Den här nya cyberspionagegruppen fokuserar mest på Asien och använder odokumenterade verktyg, inklusive steganografiskt extrahera PowerShell-nyttolaster från PNG-filer
ESET-forskare hittade nyligen riktade attacker som använde odokumenterade verktyg mot olika högprofilerade företag och lokala myndigheter, mestadels i Asien. Dessa attacker utfördes av en tidigare okänd spionagegrupp som vi har döpt till Worok och som har varit aktiv sedan åtminstone 2020. Woroks verktygsuppsättning inkluderar en C++-lastare CLRLoad, en PowerShell-bakdörr PowHeartBeat och en C#-lastare PNGLoad som använder steganografi för att extrahera dold skadlig nyttolaster från PNG-filer.
Vem är Worok?
Under ProxyShell (CVE-2021-34523) avslöjande av sårbarhet i början av 2021, observerade vi aktivitet från olika APT-grupper. En uppvisade egenskaper gemensamma med TA428:
- Aktivitetstider
- Riktade vertikaler
- Användning av ShadowPad
Resten av verktygsuppsättningen är mycket annorlunda: till exempel deltog TA428 i Kan kompromissa med skrivbordet år 2020. Vi anser att länkarna inte är tillräckligt starka för att betrakta Worok som samma grupp som TA428, men de två grupperna kan dela verktyg och ha gemensamma intressen. Vi bestämde oss för att skapa ett kluster och döpte det till Worok. Namnet valdes efter en mutex i en lastare som används av gruppen. Ytterligare aktivitet med varianter av samma verktyg kopplades sedan till denna grupp. Enligt ESETs telemetri har Worok varit aktiv sedan slutet av 2020 och fortsätter att vara aktiv när detta skrivs.
Tillbaka i slutet av 2020 riktade Worok sig mot regeringar och företag i flera länder, särskilt:
- Ett telekommunikationsföretag i Östasien
- En bank i Centralasien
- Ett maritimt industriföretag i Sydostasien
- En statlig enhet i Mellanöstern
- Ett privat företag i södra Afrika
Det var ett betydande avbrott i observerade operationer från 2021-05 till 2022-01, men Worok-aktiviteten återkom 2022-02, inriktad på:
- Ett energibolag i Centralasien
- En offentlig sektor i Sydostasien
Figur 1 visar en visuell värmekarta över målområdena och vertikalerna.
Med tanke på målens profiler och de verktyg vi har sett utplacerade mot dessa offer, tror vi att Woroks huvudmål är att stjäla information.
Teknisk analys
Medan majoriteten av de initiala åtkomsterna är okända, har vi i vissa fall genom 2021 och 2022 sett utnyttjande av utnyttjande mot ProxyShell-sårbarheterna. I sådana fall har vanligtvis webbskal laddats upp efter att ha utnyttjat dessa sårbarheter, för att ge uthållighet i offrets nätverk. Sedan använde operatörerna olika implantat för att få ytterligare kapacitet.
När åtkomst hade erhållits satte operatörerna ut flera, allmänt tillgängliga verktyg för spaning, inklusive Mimikatz, Daggmask, ReGeorgoch NBTscan, och distribuerade sedan sina anpassade implantat: en första stegs laddare, följt av en andra steg .NET-lastare (PNGLoad). Tyvärr har vi inte kunnat hämta någon av de slutliga nyttolasterna. År 2021 var förstastegslastaren en CLR-enhet (CLRLoad), medan den 2022 i de flesta fall har ersatts av en fullfjädrad PowerShell-bakdörr (PowHeartBeat) – båda utförandekedjorna avbildas i figur 2. Dessa tre verktyg beskrivs i detalj i följande underavsnitt.
CLRLoad: CLR monteringslastare
CLRLoad är en generisk Windows PE som vi har sett i både 32- och 64-bitarsversioner. Det är en loader skriven i C++ som laddar nästa steg (PNGLoad), som måste vara en Common Language Runtime (CLR) montering DLL-fil. Den koden laddas från en fil som finns på disken i en legitim katalog, förmodligen för att vilseleda offer eller räddningspersonal att tro att det är legitim programvara.
Vissa CLRLoad-exempel börjar med att avkoda hela sökvägen för filen vars innehåll de kommer att ladda som nästa steg. Dessa filsökvägar är kodade med en enbyte XOR, med en annan nyckel i varje prov. Avkodade eller klartext, dessa filsökvägar är absoluta, med följande som de vi har stött på:
- C:Program FilesVMwareVMware ToolsVMware VGAuthxsec_1_5.dll
- C:Program FilesUltraViewermsvbvm80.dll
- C:Program FilesInternet ExplorerJsprofile.dll
- C:Program FilesWinRarRarExtMgt.dll
- C:Program Files (x86)Foxit SoftwareFoxit Readerlucenelib.dll
Därefter skapas en mutex och vi har sett ett annat namn i varje prov. Laddaren söker efter denna mutex; om den hittas avslutas den, eftersom laddaren redan är igång. I ett av proverna, mutex Wo0r0KGWhYGO påträffades, vilket gav gruppen dess namn Worok.
CLRLoad laddar sedan en CLR-sammansättning från den möjligen avkodade filsökvägen. Som ohanterad kod uppnår CLLRoad detta via CorBindToRuntimeEx Windows API-anrop i 32-bitars varianter, eller CLRCreateInstance anrop i 64-bitars varianter.
PowHeartBeat: PowerShell bakdörr
PowHeartBeat är en fullfjädrad bakdörr skriven i PowerShell, obfuskerad med olika tekniker som komprimering, kodning och kryptering. Baserat på ESET-telemetri tror vi att PowHeartBeat ersatte CLLRoad i nyare Worok-kampanjer som verktyget som användes för att lansera PNGLoad.
Det första lagret av bakdörrskoden består av flera bitar av base64-kodad PowerShell-kod. När nyttolasten är rekonstruerad exekveras den via IEX. När den väl har avkodats exekveras ytterligare ett lager med obfuskerad kod, vilket vi kan se i figur 3.
Det andra lagret av backdoor first base64 avkodar nästa lager av dess kod, som sedan dekrypteras med Trippel DES (CBC-läge). Efter dekryptering dekomprimeras denna kod med hjälp av gzip algoritm, vilket ger det tredje lagret av PowerShell-kod, som är den faktiska bakdörren. Den är uppdelad i två huvuddelar: konfiguration och hantering av bakdörrskommandon.
Huvudlagret av bakdörrskod är också skrivet i PowerShell och använder HTTP eller ICMP för att kommunicera med C&C-servern. Det fungerar som avbildat i figur 4.
konfiguration
Konfigurationen innehåller flera fält, inklusive versionsnummer, valfri proxykonfiguration och C&C-adress. Tabell 1 beskriver innebörden av konfigurationsfälten i de olika versioner vi har observerat.
Tabell 1. Konfigurationsfältets betydelser
Fält namn | Beskrivning |
---|---|
nouse / ikuyrtydyfg (andra prover) |
Oanvänd. |
Klient ID | Klientidentifierare, används för följande ändamål: · Som ett värde vid konstruktion av Cookie-rubrik för C&C-kommunikation. · Som en kryptografisk artefakt för skickad datakryptering. |
version | Versionsnummer för PowHeartBeat. |
ExecTimes | Antal tillåtna exekveringsförsök vid utfärdande av en KörCmd (kommando körs) kommando. |
användaragent | Användaragent som används för C&C-kommunikation. |
referer | referer header som används för C&C-kommunikation. |
Acceptera kodning | Oanvänd. |
CookieClientId CookieTaskId CookieTerminalId |
Värden som används för att konstruera Cookies header för C&C-kommunikation. |
UrlHttps | Protokoll att använda för C&C-kommunikation. |
UrlDomain IP-adress domäner |
URL, domän(er) eller IP-adress som används som C&C-server. Om domäner är inte tom, den väljs istället för IP-adress. I andra fall, IP-adress är tagen. |
UrlSendHeartBeat | URL-sökväg som används när bakdörren ber C&C-servern om kommandon. |
UrlSendResult | URL-sökväg som används när bakdörren skickar resultatet av kommandot tillbaka till C&C-servern. |
GetUrl | Komplett URL, som används av PowHeartBeat för att begära kommandon från C&C-servern. Det är sammanlänkningen av URL-elementen ovan. |
PutUrl | Samma som GetUrl men används för att skicka resultatet av kommandot tillbaka till C&C-servern. |
aktuellPath | Oanvänd. |
ProxyEnableFlag | Flagga som indikerar om bakdörren måste använda en proxy eller inte för att kommunicera med C&C-servern. |
Proxymsg | Adress till den proxy som ska användas if ProxyEnableFlag är inställd på $sant. |
Intervall | Tid i sekunder som skriptet vilar mellan GET-förfrågningar. |
BasicConfigPath | Sökväg till en valfri konfigurationsfil som innehåller Uptime, Driftstopp, Standardintervalloch domäner. Dessa värden kommer att åsidosättas om filen finns. |
Uptime | Tid på dagen från vilken bakdörren börjar fungera, vilket betyder att den börjar skicka GET-förfrågningar till C&C-servern. |
Driftstopp | Tid på dygnet fram till vilken bakdörren kan fungera, vilket betyder den tidpunkt då den slutar göra förfrågningar till C&C-servern. |
DomainIndex | Index för det aktuella domännamnet som ska användas för kommunikation med C&C-servern. Om en begäran returnerar ett annat felmeddelande än 304 ("Ej modifierad"), DomainIndex är ökad. |
Hemlig nyckel | Nyckel som används för att dekryptera/kryptera konfigurationen. Konfigurationen är krypterad med multiple-byte XOR. |
IfLog | Oanvänd. |
IfLogFilePath | Flagga som indikerar om loggning är aktiverad. |
logpath | Sökväg till loggfilen. |
Proxyfil | Filsökväg för den valfria proxykonfigurationen. Om den är tom eller inte hittas i filsystemet, hämtar bakdörren användarens proxyinställningar från registervärdet HKCUSoftwareMicrosoftWindowsCurrentVersionInternetinställningarProxyServer . |
IfConfig | Flagga som anger om en konfigurationsfil ska användas. |
Figur 5 visar ett exempel på konfigurationen extraherad från ett PowHeartBeat-prov (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$Script:nouse = 100; if(Test-Path $MyInvocation.MyCommand.Path){Remove-item $MyInvocation.MyCommand.Path -Force;} $Script:ClientId = “83”; $Script:Version = “2.1.3.0003”; $Script:ExecTimes = 10; $Script:UserAgent = “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3487.100 Safari/537.36”; $Script:Referer = “www.adobe.com”; $Script:AcceptEncoding = “text/html,app1ication/xhtml+xml,app1ication/xml;q=0.9,*/*;q=0.8”; $Script:CookieClientId = “s_ecid”; $Script:CookieTaskId = “aam_uuid”; $Script:CookieTerminalId = “AAMC_adobe_0”; $Script:UrlHttps = “http://”; $Script:UrlDomain= ” 118.193.78[.]22:443″; $Script:UrlSendHeartBeat = “/latest/AdobeMessagingClient.js”; $Script:UrlSendResult = “/content/dam/offers-homepage/homepage.jpg”; $Script:GetUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendHeartBeat; $Script:PutUrl = $Script:UrlHttps + $Script:UrlDomain + $Script:UrlSendResult; $Script:currentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition; $Script:ProxyEnableFlag = $false; $Script:Proxymsg; $Script:Interval = 10 ; $Script:BasicConfigPath = “C:ProgramDataunins.dat”; $Script:UpTime = 0; $Script:DownTime = 24; $Script:Domains; $Script:DomainIndex; $Script:SecretKey = “###ConfigKey###”; #$Script:IfLog = $true; $Script:IfLogFilePath = “C:ProgramDatatpncp.dat”; $Script:logpath = “C:ProgramDataunins000.dat”; $Script:ProxyFile = “C:ProgramDatahwrenalm.dat”; $Script:IfConfig = $false; |
Figur 5. Konfigurationsexempel
Datakryptering
PowHeartBeat krypterar loggar och ytterligare konfigurationsfilinnehåll.
Innehållet i loggfilen krypteras genom XOR med flera byte med en nyckel som anges i klartext i exemplet. Intressant, Klient ID används som ett salt för indexet i nyckelmatrisen. Nyckeln är en 256-byte array, som var identisk i varje prov som vi stötte på. Ytterligare konfigurationsfilinnehåll krypteras genom multiple-byte XOR med värdet från Hemlig nyckel som dess nyckel.
C&C-kommunikation
PowHeartBeat använde HTTP för C&C-kommunikation fram till version 2.4 och bytte sedan till ICMP. I båda fallen är kommunikationen inte krypterad.
HTTP
I en oändlig loop skickar bakdörren en GET-förfrågan till C&C-servern och ber om ett kommando att utfärda. Det krypterade svaret dekrypteras av bakdörren, som bearbetar kommandot, och skriver kommandot ut till en fil vars innehåll sedan skickas till C&C-servern via en POST-begäran.
Formatet för GET-förfrågningarna är följande:
GET <UrlSendHeartBeat> HTTP/1.1 User-Agent: <UserAgent> Referer: <Referer> Host: <Domain> Cookie: <CookieClientId>=<ClientId> Connection: close |
Observera att förfrågan är konstruerad med konfigurationsfälten med samma namn.
I svaret från C&C-servern är den tredje byten av innehållet kommandoidentifieraren som indikerar kommandot som ska behandlas av bakdörren. Vi kallar det kommando_id. Det återstående innehållet i svaret skickas som ett argument till kommandot som bearbetas. Detta innehåll är krypterat med algoritmen som visas i figur 6, uppgifts-ID är värdet på cookien som är uppkallad efter CookieTaskIds värde från konfigurationen.
1 2 3 4 5 6 7 8 9 10 |
o[int] $pos = $taskId % 256; for ($i = 0; $i -lt $tmpBytes.Value.Length; $i++) { $pos = $pos + $clientId; if ($pos -ge 256) { $pos = $pos % 256; } $tmpBytes.Value[$i] = [byte]($tmpBytes.Value[$i] -bxor $hexEnc[$pos]); } |
Figur 6. Begär krypteringsalgoritm för innehållsdata
Svaret från C&C-servern innehåller även en annan cookie, vars namn anges av bakdörrens CookieTerminalId konfigurationsvariabel. Värdet på denna cookie upprepas i POST-begäran från bakdörren, och den får inte vara tom. Efter att ha kört bakdörrskommandot skickar PowHeartBeat resultatet som en POST-begäran till C&C-servern. Resultatet skickas som en fil vars namn är .png.
ICMP
Från och med version 2.4 av PowHeartBeat ersattes HTTP av ICMP, skickade paket med en timeout på sex sekunder och ofragmenterad. Kommunikation genom ICMP är troligen ett sätt att undvika upptäckt.
Det finns ingen större förändring i version 2.4 och senare, men vi märkte några ändringar i koden:
- PowHeartBeat skickar ett hjärtslagspaket vid varje slinga som innehåller strängen abcdefghijklmnopqrstuvwxyz, innan du begär ett kommando. Detta informerar C&C-servern om att bakdörren är redo att ta emot kommandon.
- Begäranden om att få kommandon utförda av bakdörren innehåller strängen abcdefghijklmnop.
Heartbeat-paket har formatet som beskrivs i figur 7.
Skillnaden mellan Klient ID och klientflagga är att Klient ID skiljer sig i varje prov medan klientflagga är samma i alla prov som använder ICMP. hjärtslag flagga indikerar att bakdörren sänder ett hjärtslag. Svaret från C&C-servern har formatet som beskrivs i figur 8.
flagga här indikerar om det finns ett kommando att utfärda till bakdörren. Begäran om att få kommandon har formatet som beskrivs i figur 9.
Observera att bakdörrens ICMP-läge gör det möjligt att ta emot en obegränsad mängd data, uppdelad i bitar och variabler datalängd, nuvarande position och total längd används för att hålla reda på de överförda data. Svar på dessa förfrågningar har formatet som beskrivs i figur 10.
Som i HTTP-svar är kommandoidentifieraren den tredje byten av datum.
Efter sju på varandra följande ICMP-svar med tomt eller inkonsekvent formaterat innehåll, anses överföringar mellan bakdörren och C&C-servern vara avslutade.
När det gäller förfrågningar om att skicka resultatet av det utfärdade kommandot till C&C-servern, ändras serverläget för postläge och den sista strängen (abcdefghijklmnop) ändras för resultatdata.
Bakdörrskommandon
PowHeartBeat har olika funktioner, inklusive körning av kommandon/processer och filmanipulering. Tabell 2 listar alla kommandon som stöds av de olika analyserade proverna.
Tabell 2. PowHeartBeat-kommandobeskrivningar
Namn | Kommandoidentifierare | Beskrivning |
---|---|---|
Cmd | 0x02 | Kör ett PowerShell-kommando. |
Exe | 0x04 | Utför ett kommando som en process. |
Filuppladdning | 0x06 | Ladda upp en fil till offermaskinen. Filinnehållet är gzip-komprimerat. |
Filhämtning | 0x08 | Ladda ner en fil från offermaskinen och returnera filsökväg, fillängd, skapelsetid, åtkomsttider och filinnehåll till C&C-servern. |
FileView | 0x0A | Få filinformation för en specifik katalog, särskilt: · Filnamn · Filattribut · Senaste skrivtider · Filinnehåll |
FileDelete | 0x0C | Ta bort en fil. |
FileRename | 0x0E | Byt namn på eller flytta en fil. |
ChangeDir | 0x10 | Ändra bakdörrens nuvarande arbetsplats. |
Info | 0x12 | Få en informationskategori enligt det angivna argumentet: · "Grundläggande information": Klient ID, version, värdnamn, IP-adresser, explorer.exe versions- och storleksinformation, OS (arkitektur och flagga som anger om maskinen är en server), Intervall, aktuell katalog, enhetsinformation (namn, typ, ledigt utrymme och total storlek), aktuell tid · "Tidsintervallinformation": Intervall och aktuell tid · "Domäninformation": dekrypterad konfigurationsfilinnehåll |
Konfig | 0x14 | Uppdatera konfigurationsfilens innehåll och ladda om konfigurationen. |
N / A | 0x63 | Bakdörrsutgång. |
Vid fel på bakdörrssidan använder bakdörren en specifik kommandoidentifierare 0x00 i POST-begäran till C&C-servern, vilket indikerar att ett fel inträffat.
Observera att innan informationen skickas tillbaka till C&C-servern är data gzip-komprimerad.
PNGLoad: Steganografisk lastare
PNGLoad är det andra stegets nyttolast som distribueras av Worok på komprometterade system och, enligt ESET telemetri, laddas antingen av CLLRoad eller PowHeartBeat. Även om vi inte ser någon kod i PowHeartBeat som direkt laddar PNGLoad, har bakdörren kapacitet att ladda ner och exekvera ytterligare nyttolaster från C&C-servern, vilket sannolikt är hur angriparna har distribuerat PNGLoad på system som äventyrats med PowHeartBeat. PNGLoad är en laddare som använder bytes från PNG-filer för att skapa en nyttolast att köra. Det är en 64-bitars .NET-körbar fil – obfuscerad med .NET Reactor – som utger sig som legitim programvara. Till exempel visar figur 11 CLR-huvudena för ett prov som maskerar sig som en WinRAR DLL.
När den är deobfuskerad är endast en klass närvarande. I den här klassen finns en MainPath attribut som innehåller katalogsökvägen bakdörren söker, inklusive dess underkataloger, efter filer med en . Png förlängning, som visas i figur 12.
Varje . Png fil som finns vid denna sökning av MainPath kontrolleras sedan för steganografiskt inbäddat innehåll. Först hämtas den minst signifikanta biten av varje pixels R (röd), G (grön), B (blå) och A (alfa) värden och sätts samman till en buffert. Om de första åtta byten i den bufferten matchar det magiska numret som visas i figur 13 och nästa åttabytevärde, control, inte är null, passerar filen PNGLoads steganografiska innehållskontroll. För sådana filer fortsätter bearbetningen med återstoden av bufferten dekrypterad med en XOR med flera byte, med hjälp av nyckeln lagrad i PNGLoads SecretKeyBytes attribut, och sedan gzip-dekomprimeras den dekrypterade bufferten. Resultatet förväntas bli ett PowerShell-skript, som körs omedelbart.
Intressant nog loggas operationer som utförs av PNGLoad i en fil vars sökväg är lagrad i variabeln LogFilePath. Operationer loggas endast om det finns en fil vars sökväg specificeras av den interna variabeln IfLogFilePath.
Vi har inte lyckats få tag i något prov . Png fil som används tillsammans med PNGLoad, men hur PNGLoad fungerar tyder på att den ska fungera med giltiga PNG-filer. För att dölja den skadliga nyttolasten använder Worok Bitmap-objekt i C#, som bara tar pixelinformation från filer, inte filens metadata. Detta innebär att Worok kan dölja sina skadliga nyttolaster i giltiga, oskadliga PNG-bilder och därmed gömma sig i osynlig sikt.
Slutsats
Worok är en cyberspionagegrupp som utvecklar sina egna verktyg, samt utnyttjar befintliga verktyg för att kompromissa med sina mål. Att stjäla information från sina offer är vad vi tror att operatörerna är ute efter eftersom de fokuserar på högprofilerade enheter i Asien och Afrika, inriktade på olika sektorer, både privata och offentliga, men med särskild tonvikt på statliga enheter. Aktivitetstider och verktygsuppsättning indikerar möjliga kopplingar till TA428, men vi gör denna bedömning med låg tillförsikt. Deras anpassade verktygsuppsättning innehåller två lastare – en i C++ och en i C# .NET – och en PowerShell-bakdörr. Även om vår synlighet är begränsad hoppas vi att belysa denna grupp kommer att uppmuntra andra forskare att dela information om denna grupp.
ESET Research erbjuder nu även privata APT-underrättelserapporter och dataflöden. För eventuella frågor om denna tjänst, besök ESET Threat Intelligence sida.
IOCsen
Filer
SHA-1 | Filnamn | ESET Detektionsnamn | Kommentar |
---|---|---|---|
3A47185D0735CDECF4C7C2299EB18401BFB328D5 | skript | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
27ABB54A858AD1C1FF2863913BDA698D184E180D | skript | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003. |
678A131A9E932B9436241402D9727AA7D06A87E3 | skript | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
757ABA12D04FD1167528FDD107A441D11CD8C427 | skript | PowerShell/PowHeartBeat.B | PowHeartBeat 2.1.3.0003. |
54700A48D934676FC698675B4CA5F712C0373188 | skript | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002. |
C2F53C138CB1B87D8FC9253A7088DB30B25389AF | skript | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002. |
C2F1954DE11F72A46A4E823DE767210A3743B205 | tmp.ps1 | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0004. |
CE430A27DF87A6952D732B4562A7C23BEF4602D1 | tmp.ps1 | PowerShell/PowHeartBeat.A | PowHeartBeat 2.1.3.0004. |
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF | skript | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003. |
4721EEBA13535D1EE98654EFCE6B43B778F13126 | vix64.dll | MSIL/PNGLoader.A | PNGLoader. |
728A6CB7A150141B4250659CF853F39BFDB7A46C | RarExtMgt.dll | MSIL/PNGLoader.A | PNGLoader. |
864E55749D28036704B6EA66555A86527E02AF4A | Jsprofile.dll | MSIL/PNGLoader.A | PNGLoader. |
8DA6387F30C584B5FD3694A99EC066784209CA4C | vssxml.dll | MSIL/PNGLoader.A | PNGLoader. |
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 | xsec_1_5.dll | MSIL/PNGLoader.A | PNGLoader. |
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE | msvbvm80.dll | MSIL/PNGLoader.A | PNGLoader. |
CDB6B1CAFEE098615508F107814179DEAED1EBCF | lucenelib.dll | MSIL/PNGLoader.A | PNGLoader. |
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D | vsstrace.dll | Win64/CLRLoad.C | CLLRad. |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | ncrypt.dll | Win32/CLRLoad.A | CLLRad. |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | ncrypt.dll | Win32/CLRLoad.A | CLLRad. |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLoad.E | CLLRad. |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLoad.A | CLLRad. |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLoad.H | CLLRad. |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLoad.C | CLLRad. |
Filvägar
En del av den MainPath, LogFilePath och IfLogFilePath värden som vi stötte på i PNGLoad-exempel:
MainPath | LogFilePath | IfLogFilePath |
---|---|---|
C:Program FilesVMwareVMware-verktyg | C:Program FilesVMwareVMware ToolsVMware VGAuthreadme.txt | C:Program FilesVMwareVMware ToolsVMware VGAuthVMWSU_V1_1.dll |
C:Program FilesWinRar | C:Program FilesWinRarrarinstall.log | C:Program FilesWinRardes.dat |
C:Program FilesUltraViewer | C:Program FilesUltraViewerCopyRights.dat | C:Program FilesUltraVieweruvcr.dll |
nätverks
Domän | IP |
---|---|
Ingen | 118.193.78[.]22 |
Ingen | 118.193.78[.]57 |
airplane.travel-commercials[.]byrå | 5.183.101[.]9 |
central.suhypercloud[.]org | 45.77.36[.]243 |
Mutexes
I CLLRoad-prover är mutex-namnen som vi stötte på:
aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy
En omfattande lista över kompromissindikatorer (IoCs) och prover finns i vårt GitHub repository.
MITER ATT & CK tekniker
Detta bord byggdes med hjälp av version 11 av MITER ATT & CK -ramverket.
Taktik | ID | Namn | Beskrivning |
---|---|---|---|
Spaning | T1592.002 | Samla information om offervärd: Programvara | PowHeartBeat samlas explorer.exes information. |
T1592.001 | Samla information om offervärd: Hårdvara | PowHeartBeat samlar information om enheter. | |
T1590.005 | Samla information om offernätverk: IP-adresser | PowHeartBeat samlar in IP-adresser för den komprometterade datorn. | |
Resursutveckling | T1583.004 | Skaffa infrastruktur: Server | Worok använder sina egna C&C-servrar. |
T1588.002 | Skaffa funktioner: Verktyg | Worok distribuerade flera allmänt tillgängliga verktyg på de komprometterade maskinerna. | |
T1583.001 | Skaffa infrastruktur: domäner | Worok har registrerat domäner för att underlätta C&C-kommunikation och iscensättning. | |
T1588.005 | Skaffa funktioner: Exploater | Worok har använt ProxyShell-sårbarheten. | |
T1587.001 | Utveckla förmågor: Malware | Worok har utvecklat sin egen skadlig programvara: CLRLoad, PNGLoad, PowHeartBeat. | |
T1587.003 | Utveckla kapacitet: Digitala certifikat | Worok har skapat Let's Encrypt SSL-certifikat för att möjliggöra ömsesidig TLS-autentisering för skadlig programvara. | |
Utförande | T1059.001 | Kommando- och skripttolk: PowerShell | PowHeartBeat är skrivet i PowerShell. |
Persistens | T1505.003 | Serverprogramvara Komponent: Web Shell | Worok använder webbskalet ReGeorg. |
Försvarsflykt | T1140 | Deobfuskera/avkoda filer eller information | Worok använder olika anpassade XOR-baserade scheman för att kryptera strängar och loggar i PowHeartBeat, PNGLoad och CLLRoad. |
T1036.005 | Maskerad: Match legitimt namn eller plats | PNGLoad-prover distribueras i VMWare-kataloger som ser legitimt ut. | |
Legitimationsåtkomst | T1003.001 | OS Credential Dumping: LSASS-minne | Worok använder Mimikatz för att dumpa referenser från LSASS-minnet. |
Discovery | T1082 | Systeminformation upptäckt | PowHeartBeat samlar in OS-information. |
T1083 | Arkiv- och katalogupptäckt | PowHeartBeat kan lista filer och kataloger. | |
T1046 | Upptäckt av nätverkstjänster | Worok använder NbtScan för att få nätverksinformation om komprometterade maskiner. | |
T1124 | Systemtid upptäckt | PowHeartBeat samlar in offrets tidsinformation. | |
Samling | T1005 | Data från lokalt system | PowHeartBeat samlar in data från det lokala systemet. |
T1560.002 | Arkivera insamlade data: Arkivera via bibliotek | PowHeartBeat gzip-komprimerar data innan den skickas till C&C-servern. | |
Command and Control | T1071.001 | Application Layer Protocol: webbprotokoll | Vissa PowHeartBeat-varianter använder HTTP som kommunikationsprotokoll med C&C-servern. |
T1090.001 | Proxy: Intern proxy | PowHeartBeat hanterar proxykonfiguration på offrets dator. | |
T1001.002 | Dataobfuskation: Steganografi | PNGLoad extraherar pixelvärden från . Png filer för att rekonstruera nyttolaster. | |
T1573.002 | Krypterad kanal: Asymmetrisk kryptografi | PowHeartBeat hanterar HTTPS-kommunikation med C&C-servern. | |
T1095 | Non-Application Layer Protocol | Vissa PowHeartBeat-varianter använder ICMP som kommunikationsprotokoll med C&C-servern. | |
T1132.001 | Datakodning: Standardkodning | Worok använder XOR-kodning i PowHeartBeat och PNGLoad. | |
T1132.002 | Datakodning: Icke-standardkodning | Worok använder XOR-kodningsalgoritmer som använder ett extra salt. | |
exfiltration | T1041 | Exfiltrering över C2 -kanal | PowHeartBeat använder sin C&C-kommunikationskanal för att exfiltrera information. |
- blockchain
- coingenius
- cryptocurrency plånböcker
- kryptoväxling
- Cybersäkerhet
- nätbrottslingar
- Cybersäkerhet
- säkerhetstjänsten
- digitala plånböcker
- ESET Research
- brandvägg
- kaspersky
- malware
- Mcafee
- NexBLOC
- plato
- plato ai
- Platon Data Intelligence
- Platon spel
- PlatonData
- platogaming
- VPN
- Vi lever säkerhet
- webbplats säkerhet
- zephyrnet