Denne nye cyberspionagegruppe fokuserer hovedsageligt på Asien og bruger udokumenterede værktøjer, herunder steganografisk udtrækning af PowerShell-nyttelast fra PNG-filer
ESET-forskere fandt for nylig målrettede angreb, der brugte udokumenterede værktøjer mod forskellige højtprofilerede virksomheder og lokale regeringer, hovedsagelig i Asien. Disse angreb blev udført af en tidligere ukendt spionagegruppe, som vi har navngivet Worok, og som har været aktiv siden mindst 2020. Woroks værktøjssæt inkluderer en C++ loader CLRLoad, en PowerShell bagdør PowHeartBeat og en C# loader PNGLoad, der bruger steganografi til at udtrække skjult ondsindet nyttelast fra PNG-filer.
Hvem er Worok?
Under ProxyShell (CVE-2021-34523) afsløring af sårbarhed i begyndelsen af 2021, observerede vi aktivitet fra forskellige APT-grupper. Man udviste karakteristika fælles med TA428:
- Aktivitetstider
- Målrettede vertikaler
- Brug af ShadowPad
Resten af værktøjssættet er meget anderledes: for eksempel deltog TA428 i Kan gå på kompromis med skrivebordet i 2020. Vi vurderer, at forbindelserne ikke er stærke nok til at betragte Worok som den samme gruppe som TA428, men de to grupper deler muligvis værktøjer og har fælles interesser. Vi besluttede at oprette en klynge og kaldte den Worok. Navnet blev valgt efter en mutex i en loader brugt af gruppen. Yderligere aktivitet med varianter af de samme værktøjer blev derefter knyttet til denne gruppe. Ifølge ESETs telemetri har Worok været aktiv siden slutningen af 2020 og fortsætter med at være aktiv, når dette skrives.
Tilbage i slutningen af 2020 var Worok målrettet mod regeringer og virksomheder i flere lande, specifikt:
- Et teleselskab i Østasien
- En bank i Centralasien
- En maritim industrivirksomhed i Sydøstasien
- En regeringsenhed i Mellemøsten
- En privat virksomhed i det sydlige Afrika
Der var et betydeligt afbræk i observerede operationer fra 2021-05 til 2022-01, men Worok-aktiviteten vendte tilbage i 2022-02, målrettet mod:
- Et energiselskab i Centralasien
- En offentlig sektor i Sydøstasien
Figur 1 viser et visuelt varmekort over de målrettede områder og vertikaler.
I betragtning af målenes profiler og de værktøjer, vi har set indsat mod disse ofre, tror vi, at Woroks hovedformål er at stjæle information.
Teknisk analyse
Mens størstedelen af de indledende adgange er ukendte, har vi i nogle tilfælde gennem 2021 og 2022 set udnyttelser brugt mod ProxyShell-sårbarhederne. I sådanne tilfælde er webshells typisk blevet uploadet efter at have udnyttet disse sårbarheder, for at give persistens i ofrets netværk. Derefter brugte operatørerne forskellige implantater for at få yderligere kapaciteter.
Da der var opnået adgang, indsatte operatørerne flere, offentligt tilgængelige værktøjer til rekognoscering, bl.a. Mimikatz, Jordorm, ReGeorgog NBTscan, og implementerede derefter deres tilpassede implantater: en første-trins-loader, efterfulgt af en anden fase .NET-loader (PNGLoad). Desværre er vi ikke i stand til at hente nogen af de endelige nyttelaster. I 2021 var førstetrinslæsseren en CLR-samling (CLRLoad), mens den i 2022 i de fleste tilfælde er blevet erstattet af en PowerShell-bagdør med alle funktioner (PowHeartBeat) – begge udførelseskæder er afbildet i figur 2. Disse tre værktøjer er beskrevet detaljeret i de følgende underafsnit.
CLRLoad: CLR montagelæsser
CLRLoad er en generisk Windows PE, som vi har set i både 32- og 64-bit versioner. Det er en loader skrevet i C++, der indlæser det næste trin (PNNGLoad), som skal være en Common Language Runtime (CLR) samling DLL-fil. Denne kode indlæses fra en fil, der er placeret på disken i en lovlig mappe, formodentlig for at vildlede ofre eller hændelser til at tro, at det er legitim software.
Nogle CLRLoad-eksempler starter med at afkode den fulde sti til filen, hvis indhold de vil indlæse som næste trin. Disse filstier er kodet med en enkelt-byte XOR, med en anden nøgle i hver prøve. Afkodet eller klartekst er disse filstier absolutte, hvor følgende er dem, vi har stødt 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
Derefter oprettes en mutex, og vi har set et andet navn i hver prøve. Indlæseren kontrollerer for denne mutex; hvis den findes, afsluttes den, fordi loaderen allerede kører. I en af prøverne er mutexen Wo0r0KGWhYGO blev stødt på, hvilket gav gruppen navnet Worok.
CLRLoad indlæser derefter en CLR-samling fra den muligvis afkodede filsti. Som uadministreret kode opnår CLLRoad dette via CorBindToRuntimeEx Windows API kalder i 32-bit varianter, eller CLRCreateInstance opkald i 64-bit varianter.
PowHeartBeat: PowerShell bagdør
PowHeartBeat er en fuldt udstyret bagdør skrevet i PowerShell, sløret ved hjælp af forskellige teknikker såsom komprimering, kodning og kryptering. Baseret på ESET-telemetri tror vi, at PowHeartBeat erstattede CLLRoad i nyere Worok-kampagner som det værktøj, der blev brugt til at lancere PNGLoad.
Det første lag af bagdørskoden består af flere bidder af base64-kodet PowerShell-kode. Når nyttelasten er rekonstrueret, udføres den via IEX. Når den først er afkodet, udføres endnu et lag af obfuskeret kode, som vi kan se i figur 3.
Det andet lag af bagdøren first base64 afkoder det næste lag af sin kode, som derefter dekrypteres med Triple DES (CBC-tilstand). Efter dekryptering dekomprimeres denne kode ved hjælp af gzip algoritme, hvilket giver det tredje lag af PowerShell-kode, som er selve bagdøren. Den er opdelt i to hoveddele: konfiguration og håndtering af bagdørskommandoer.
Hovedlaget af bagdørskode er også skrevet i PowerShell og bruger HTTP eller ICMP til at kommunikere med C&C-serveren. Det fungerer som vist i figur 4.
Konfiguration
Konfigurationen indeholder flere felter, inklusive versionsnummer, valgfri proxy-konfiguration og C&C-adresse. Tabel 1 beskriver betydningen af konfigurationsfelterne i de forskellige versioner, vi har observeret.
Tabel 1. Betydning af konfigurationsfelter
Feltnavn | Beskrivelse |
---|---|
nouse / ikuyrtydyfg (andre prøver) |
Ubrugt. |
ClientId | Klient-id, brugt til følgende formål: · Som en værdi ved konstruktion af Cookie-header til C&C-kommunikation. · Som en kryptografisk artefakt for sendte datakryptering. |
Udgave | Versionsnummer af PowHeartBeat. |
ExecTimes | Antal tilladte udførelsesforsøg ved udstedelse af en KørCmd (kommando kører) kommando. |
brugeragent | Brugeragent brugt til C&C-kommunikation. |
Referer | Referer header brugt til C&C-kommunikation. |
Accepter Kodning | Ubrugt. |
CookieClientId CookieTaskId CookieTerminalId |
Værdier brugt til at konstruere Cookie header for C&C-kommunikation. |
UrlHttps | Protokol til brug for C&C-kommunikation. |
UrlDomæne IP-adresse domæner |
URL, domæne(r) eller IP-adresse brugt som C&C-serveren. Hvis domæner ikke er tom, vælges den i stedet for IP-adresse. I andre tilfælde IP-adresse er taget. |
UrlSendHeartBeat | URL-sti, der bruges, når bagdøren beder C&C-serveren om kommandoer. |
UrlSendResult | URL-sti, der bruges, når bagdøren sender resultaterne af kommandoen tilbage til C&C-serveren. |
GetUrl | Komplet URL, brugt af PowHeartBeat til at anmode om kommandoer fra C&C-serveren. Det er sammenkædningen af URL-elementerne ovenfor. |
PutUrl | Samme som GetUrl men bruges til at sende resultaterne af kommandoen tilbage til C&C-serveren. |
nuværende sti | Ubrugt. |
ProxyEnableFlag | Flag, der angiver, om bagdøren skal bruge en proxy eller ej for at kommunikere med C&C-serveren. |
Proxymsg | Adresse på fuldmægtigen, der skal bruges if ProxyEnableFlag er sat til $sandt. |
Interval | Tid i sekunder, som scriptet sover i mellem GET-anmodninger. |
BasicConfigPath | Sti til en valgfri konfigurationsfil, der indeholder Oppetid, Nedetid, Standardintervalog domæner. Disse værdier vil blive tilsidesat, hvis filen er til stede. |
Oppetid | Det tidspunkt på dagen, hvorfra bagdøren begynder at fungere, hvilket betyder, at den begynder at sende GET-anmodninger til C&C-serveren. |
Nedetid | Tidspunkt på dagen, indtil bagdøren kan fungere, hvilket betyder det tidspunkt, hvor den holder op med at sende anmodninger til C&C-serveren. |
DomainIndex | Indeks over det aktuelle domænenavn, der skal bruges til kommunikation med C&C-serveren. I tilfælde af at en anmodning returnerer en anden fejlmeddelelse end 304 ("Ikke ændret"), DomainIndex øges. |
SecretKey | Nøgle bruges til at dekryptere/kryptere konfigurationen. Konfigurationen er krypteret med multiple-byte XOR. |
IfLog | Ubrugt. |
IfLogFilePath | Flag, der angiver, om logning er aktiveret. |
logsti | Stien til logfilen. |
Proxyfil | Filstien til den valgfri proxykonfiguration. Hvis den er tom eller ikke findes i filsystemet, henter bagdøren brugerens proxyindstillinger fra registreringsværdien HKCUSoftwareMicrosoftWindowsCurrentVersionInternetindstillingerProxyServer . |
IfConfig | Flag, der angiver, om der skal bruges en konfigurationsfil. |
Figur 5 viser et eksempel på konfigurationen ekstraheret fra en PowHeartBeat-prøve (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. Konfigurationseksempel
Datakryptering
PowHeartBeat krypterer logfiler og yderligere konfigurationsfilindhold.
Logfilindhold er krypteret gennem multiple-byte XOR med en nøgle angivet i klartekst i eksemplet. Interessant nok, klient-id bruges som et salt til indekset i nøglearrayet. Nøglen er et 256-byte array, som var identisk i hver prøve, vi stødte på. Yderligere konfigurationsfilindhold krypteres gennem multiple-byte XOR med værdien fra SecretKey som dens nøgle.
C&C kommunikation
PowHeartBeat brugte HTTP til C&C-kommunikation indtil version 2.4 og skiftede derefter til ICMP. I begge tilfælde er kommunikationen ikke krypteret.
HTTP
I en uendelig løkke sender bagdøren en GET-anmodning til C&C-serveren og beder om en kommando, der skal udstedes. Det krypterede svar dekrypteres af bagdøren, som behandler kommandoen og skriver kommandooutputtet til en fil, hvis indhold derefter sendes til C&C-serveren via en POST-anmodning.
Formatet på GET-anmodningerne er følgende:
GET <UrlSendHeartBeat> HTTP/1.1 User-Agent: <UserAgent> Referer: <Referer> Host: <Domain> Cookie: <CookieClientId>=<ClientId> Connection: close |
Bemærk, at anmodningen er konstrueret ved hjælp af de eponyme konfigurationsfelter.
I svaret fra C&C-serveren er den tredje byte af indholdet kommando-id'en, der angiver kommandoen, der skal behandles af bagdøren. Vi kalder det kommando_id. Det resterende indhold af svaret vil blive videregivet som et argument til den kommando, der behandles. Dette indhold er krypteret med algoritmen vist i figur 6, opgave-id er værdien af den cookie, der er opkaldt efter CookieTaskId's værdi fra 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. Anmoder om krypteringsalgoritme for indholdsdata
Svaret fra C&C-serveren indeholder også en anden cookie, hvis navn er angivet af bagdørens CookieTerminalId konfigurationsvariabel. Værdien af denne cookie gentages i POST-anmodningen fra bagdøren, og den må ikke være tom. Efter at have udført backdoor-kommandoen, sender PowHeartBeat resultatet som en POST-anmodning til C&C-serveren. Resultatet sendes som en fil, hvis navn er .png.
ICMP
Fra version 2.4 af PowHeartBeat blev HTTP erstattet af ICMP, sendte pakker med en timeout på seks sekunder og blev ufragmenteret. Kommunikation gennem ICMP er højst sandsynligt en måde at undgå opdagelse på.
Der er ingen større ændring i version 2.4 og senere, men vi har bemærket nogle ændringer i koden:
- PowHeartBeat sender en hjerteslagspakke ved hver løkke, der indeholder strengen ABCDEFGHIJKLMNOPQRSTU VWXYZ, før du anmoder om en kommando. Dette informerer C&C-serveren om, at bagdøren er klar til at modtage kommandoer.
- Anmodninger om at få kommandoer udført af bagdøren indeholder strengen abcdefghijklmnop.
Hjerteslagspakker har formatet beskrevet i figur 7.
Forskellen på klient-id , klientflag er, at klient-id adskiller sig i hver prøve, hvorimod klientflag er den samme i hver prøve, der bruger ICMP. hjerteslag flag angiver, at bagdøren sender et hjerteslag. Svaret fra C&C-serveren har formatet beskrevet i figur 8.
flag her angiver, om der er en kommando, der skal sendes til bagdøren. Anmodninger om at få kommandoer har formatet beskrevet i figur 9.
Bemærk, at bagdørens ICMP-tilstand tillader modtagelse af en ubegrænset mængde data, opdelt i bidder og variablerne data længde, aktuelle position , total længde bruges til at holde styr på de overførte data. Svar på disse anmodninger har formatet beskrevet i figur 10.
Som i HTTP-svar er kommando-id'en den tredje byte af data.
Efter syv på hinanden følgende ICMP-svar med tomt eller inkonsekvent formateret indhold, anses overførsler mellem bagdøren og C&C-serveren for at være afsluttet.
Med hensyn til anmodninger om at sende resultatet af den udstedte kommando til C&C-serveren, ændres servertilstanden til posttilstand, og den sidste streng (abcdefghijklmnop) ændres for resultatdataene.
Bagdørs kommandoer
PowHeartBeat har forskellige muligheder, herunder kommando-/procesudførelse og filmanipulation. Tabel 2 viser alle kommandoer, der understøttes af de forskellige analyserede prøver.
Tabel 2. PowHeartBeat-kommandobeskrivelser
Navn | Kommandoidentifikator | Beskrivelse |
---|---|---|
Cmd | 0x02 | Udfør en PowerShell-kommando. |
Exe | 0x04 | Udfør en kommando som en behandle. |
Fil upload | 0x06 | Upload en fil til offermaskinen. Filindhold er gzip-komprimeret. |
FilDownload | 0x08 | Download en fil fra offermaskinen, og returner filsti, fillængde, oprettelsestid, adgangstider og filindhold til C&C-serveren. |
FileView | 0x0A | Få filoplysninger om en bestemt mappe, især: · Filnavne · Filattributter · Sidste skrivetider · Filens indhold |
FilSlet | 0x0C | Slet en fil. |
FilOmdøb | 0x0E | Omdøb eller flyt en fil. |
Skift Dir | 0x10 | Skift den aktuelle arbejdsplacering af bagdøren. |
INFO | 0x12 | Få en informationskategori i henhold til det angivne argument: · "Grundlæggende oplysninger": ClientId, Udgave, værtsnavn, IP-adresser, explorer.exe versions- og størrelsesoplysninger, OS (arkitektur og flag, der angiver, om maskinen er en server), Interval, aktuel mappe, drevoplysninger (navn, type, ledig plads og samlet størrelse), aktuel tid · "Tidsinterval information": Interval og aktuel tid · "Domæneinformation": dekrypteret konfigurationsfilindhold |
Config | 0x14 | Opdater konfigurationsfilens indhold, og genindlæs konfigurationen. |
N / A | 0x63 | Bagdørsudgang. |
I tilfælde af fejl på bagdørssiden bruger bagdøren en specifik kommandoidentifikator 0x00 i POST-anmodningen til C&C-serveren, hvilket indikerer, at der er opstået en fejl.
Bemærk, at før du sender informationen tilbage til C&C-serveren, er dataene gzip-komprimerede.
PNGLoad: Steganografisk loader
PNGLoad er det andet trins nyttelast, der implementeres af Worok på kompromitterede systemer og ifølge ESET telemetri indlæses enten af CLLRoad eller PowHeartBeat. Selvom vi ikke ser nogen kode i PowHeartBeat, der direkte indlæser PNGLoad, har bagdøren kapacitet til at downloade og udføre yderligere nyttelast fra C&C-serveren, hvilket sandsynligvis er, hvordan angriberne har implementeret PNGLoad på systemer, der er kompromitteret med PowHeartBeat. PNGLoad er en loader, der bruger bytes fra PNG-filer til at skabe en nyttelast til at udføre. Det er en 64-bit .NET eksekverbar fil – sløret med .NET-reaktor – der udgiver sig som legitim software. For eksempel viser figur 11 CLR-headerne af en prøve, der er maskeret som en WinRAR DLL.
Når den er deobfusceret, er der kun én klasse til stede. I denne klasse er der en Hovedsti attribut, der indeholder biblioteksstien, som bagdøren søger, inklusive dens undermapper, efter filer med en . Png forlængelse, som vist i figur 12.
Hver . Png fil fundet ved denne søgning af Hovedsti kontrolleres derefter for steganografisk indlejret indhold. Først hentes den mindst signifikante bit af hver pixels R (rød), G (grøn), B (blå) og A (alfa) værdier og samles i en buffer. Hvis de første otte bytes af bufferen matcher det magiske tal, der ses i figur 13, og den næste otte-byte værdi, kontrol, ikke er nul, passerer filen PNGLoads steganografiske indholdskontrol. For sådanne filer fortsætter behandlingen med resten af bufferen dekrypteret med en multiple-byte XOR ved hjælp af nøglen, der er gemt i PNGLoad's SecretKeyBytes attribut, og derefter gzip-dekomprimeres den dekrypterede buffer. Resultatet forventes at blive et PowerShell-script, som køres med det samme.
Interessant nok logges operationer udført af PNGLoad i en fil, hvis sti er gemt i variablen LogFilePath. Operationer logges kun, hvis der er en fil, hvis sti er angivet af den interne variabel IfLogFilePath.
Vi har ikke været i stand til at få en prøve . Png fil, der bruges sammen med PNGLoad, men den måde, PNGLoad fungerer på, antyder, at den skal fungere med gyldige PNG-filer. For at skjule den ondsindede nyttelast bruger Worok Bitmap-objekter i C#, som kun tager pixelinformation fra filer, ikke filens metadata. Dette betyder, at Worok kan skjule sine ondsindede nyttelaster i gyldige, uskadelige PNG-billeder og dermed gemme sig i almindeligt syn.
Konklusion
Worok er en cyberspionagegruppe, der udvikler sine egne værktøjer, såvel som at udnytte eksisterende værktøjer til at kompromittere sine mål. At stjæle information fra deres ofre er, hvad vi mener, at operatørerne er ude efter, fordi de fokuserer på højprofilerede enheder i Asien og Afrika, rettet mod forskellige sektorer, både private og offentlige, men med en specifik vægt på statslige enheder. Aktivitetstider og værktøjssæt indikerer mulige bånd til TA428, men vi foretager denne vurdering med lav selvtillid. Deres brugerdefinerede værktøjssæt inkluderer to indlæsere – en i C++ og en i C# .NET – og en PowerShell-bagdør. Selvom vores synlighed er begrænset, håber vi, at belysning af denne gruppe vil tilskynde andre forskere til at dele information om denne gruppe.
ESET Research tilbyder nu også private APT-efterretningsrapporter og datafeeds. For eventuelle forespørgsler om denne service, besøg ESET Threat Intelligence .
IOCs
Filer
SHA-1 | Filnavn | ESET-registreringsnavn | Kommentar |
---|---|---|---|
3A47185D0735CDECF4C7C2299EB18401BFB328D5 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
27ABB54A858AD1C1FF2863913BDA698D184E180D | script | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003. |
678A131A9E932B9436241402D9727AA7D06A87E3 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003. |
757ABA12D04FD1167528FDD107A441D11CD8C427 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.1.3.0003. |
54700A48D934676FC698675B4CA5F712C0373188 | script | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002. |
C2F53C138CB1B87D8FC9253A7088DB30B25389AF | script | 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 | script | 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 | CLRLoad. |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | ncrypt.dll | Win32/CLRLoad.A | CLRLoad. |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | ncrypt.dll | Win32/CLRLoad.A | CLRLoad. |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLoad.E | CLRLoad. |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLoad.A | CLRLoad. |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLoad.H | CLRLoad. |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLoad.C | CLRLoad. |
Filstier
Nogle af de Hovedsti, LogFilePath , IfLogFilePath værdier, som vi stødte på i PNGLoad-eksempler:
Hovedsti | LogFilePath | IfLogFilePath |
---|---|---|
C:Program FilesVMwareVMware-værktøjer | 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 |
Netværk
Domæne | IP |
---|---|
Ingen | 118.193.78[.]22 |
Ingen | 118.193.78[.]57 |
flyvemaskine.rejse-reklamer[.]bureau | 5.183.101[.]9 |
central.suhypercloud[.]org | 45.77.36[.]243 |
Mutexes
I CLLRoad-prøver er mutex-navnene, som vi stødte på:
aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy
En omfattende liste over kompromisindikatorer (IoC'er) og prøver kan findes i vores GitHub repository.
MITRE ATT&CK teknikker
Dette bord er bygget vha udgave 11 af MITER ATT&CK-rammerne.
Taktik | ID | Navn | Beskrivelse |
---|---|---|---|
Rekognoscering | T1592.002 | Indsaml information om offervært: Software | PowHeartBeat samles explorer.exe'er information. |
T1592.001 | Indsaml information om offervært: Hardware | PowHeartBeat indsamler oplysninger om drev. | |
T1590.005 | Indsaml information om offernetværk: IP-adresser | PowHeartBeat samler IP-adresser på den kompromitterede computer. | |
Ressourceudvikling | T1583.004 | Anskaf Infrastruktur: Server | Worok bruger sine egne C&C-servere. |
T1588.002 | Få egenskaber: Værktøj | Worok implementerede flere offentligt tilgængelige værktøjer på de kompromitterede maskiner. | |
T1583.001 | Anskaf Infrastruktur: Domæner | Worok har registreret domæner for at lette C&C-kommunikation og iscenesættelse. | |
T1588.005 | Få kapaciteter: Udnytter | Worok har brugt ProxyShell-sårbarheden. | |
T1587.001 | Udvikle muligheder: Malware | Worok har udviklet sin egen malware: CLRLoad, PNGLoad, PowHeartBeat. | |
T1587.003 | Udvikle evner: Digitale certifikater | Worok har skabt Let's Encrypt SSL-certifikater for at muliggøre gensidig TLS-godkendelse for malware. | |
Udførelse | T1059.001 | Kommando- og scriptfortolker: PowerShell | PowHeartBeat er skrevet i PowerShell. |
Vedholdenhed | T1505.003 | Serversoftwarekomponent: Web Shell | Worok bruger webshell ReGeorg. |
Forsvarsunddragelse | T1140 | Deobfuscate/Decode Files eller Information | Worok bruger forskellige brugerdefinerede XOR-baserede skemaer til at kryptere strenge og logfiler i PowHeartBeat, PNGLoad og CLLRoad. |
T1036.005 | Masquerading: Match legitimt navn eller sted | PNGLoad-eksempler implementeres i VMWare-mapper, der ser lovligt ud. | |
Adgang til legitimationsoplysninger | T1003.001 | OS Credential Dumping: LSASS-hukommelse | Worok bruger Mimikatz til at dumpe legitimationsoplysninger fra LSASS-hukommelsen. |
Discovery | T1082 | Opdagelse af systemoplysninger | PowHeartBeat indsamler OS-oplysninger. |
T1083 | Opdagelse af filer og mapper | PowHeartBeat kan vise filer og mapper. | |
T1046 | Opdagelse af netværkstjenester | Worok bruger NbtScan for at få netværksoplysninger om kompromitterede maskiner. | |
T1124 | Opdagelse af systemtid | PowHeartBeat indsamler ofrets tidsoplysninger. | |
Samling | T1005 | Data fra lokalt system | PowHeartBeat samler data fra det lokale system. |
T1560.002 | Arkiver indsamlede data: Arkiver via bibliotek | PowHeartBeat gzip-komprimerer data, før de sendes til C&C-serveren. | |
Kommando og kontrol | T1071.001 | Application Layer Protocol: Webprotokoller | Nogle PowHeartBeat-varianter bruger HTTP som kommunikationsprotokol med C&C-serveren. |
T1090.001 | Proxy: Intern Proxy | PowHeartBeat håndterer proxy-konfiguration på offerets maskine. | |
T1001.002 | Dataobfuscation: Steganografi | PNGLoad udtrækker pixelværdier fra . Png filer for at rekonstruere nyttelaster. | |
T1573.002 | Krypteret kanal: Asymmetrisk kryptografi | PowHeartBeat håndterer HTTPS-kommunikation med C&C-serveren. | |
T1095 | Ikke-applikationslagsprotokol | Nogle PowHeartBeat-varianter bruger ICMP som kommunikationsprotokol med C&C-serveren. | |
T1132.001 | Datakodning: Standardkodning | Worok bruger XOR-kodning i PowHeartBeat og PNGLoad. | |
T1132.002 | Datakodning: Ikke-standard kodning | Worok bruger XOR-kodningsalgoritmer, der gør brug af et ekstra salt. | |
Eksfiltrering | T1041 | Eksfiltrering over C2-kanal | PowHeartBeat bruger sin C&C kommunikationskanal til at eksfiltrere information. |
- blockchain
- coingenius
- cryptocurrency tegnebøger
- kryptoverveksling
- cybersikkerhed
- cyberkriminelle
- Cybersecurity
- afdeling for indenrigssikkerhed
- digitale tegnebøger
- ESET Research
- firewall
- Kaspersky
- malware
- Mcafee
- Nexbloc
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- VPN
- Vi lever sikkerhed
- website sikkerhed
- zephyrnet