Fokusert hovedsakelig på Asia, bruker denne nye nettspionasjegruppen udokumenterte verktøy, inkludert steganografisk utpakking av PowerShell-nyttelast fra PNG-filer
ESET-forskere fant nylig målrettede angrep som brukte udokumenterte verktøy mot ulike høyprofilerte selskaper og lokale myndigheter, hovedsakelig i Asia. Disse angrepene ble utført av en tidligere ukjent spionasjegruppe som vi har kalt Worok og som har vært aktiv siden minst 2020. Woroks verktøysett inkluderer en C++-laster CLRLoad, en PowerShell-bakdør PowHeartBeat og en C#-laster PNGLoad som bruker steganografi for å trekke ut skjulte ondsinnede nyttelast fra PNG-filer.
Hvem er Worok?
Under ProxyShell (CVE-2021-34523) avsløring av sårbarhet tidlig i 2021, observerte vi aktivitet fra ulike APT-grupper. Man utviste egenskaper felles med TA428:
- Aktivitetstider
- Målrettede vertikaler
- Bruk av ShadowPad
Resten av verktøysettet er veldig annerledes: for eksempel deltok TA428 i Kan kompromiss på skrivebordet i 2020. Vi anser at koblingene ikke er sterke nok til å vurdere Worok som den samme gruppen som TA428, men de to gruppene kan dele verktøy og ha felles interesser. Vi bestemte oss for å opprette en klynge og kalte den Worok. Navnet ble valgt etter en mutex i en loader som brukes av gruppen. Videre aktivitet med varianter av de samme verktøyene ble så knyttet til denne gruppen. I følge ESETs telemetri har Worok vært aktiv siden slutten av 2020 og fortsetter å være aktiv når dette skrives.
Tilbake på slutten av 2020 målrettet Worok seg mot regjeringer og selskaper i flere land, spesielt:
- Et telekommunikasjonsselskap i Øst-Asia
- En bank i Sentral-Asia
- Et maritim industriselskap i Sørøst-Asia
- En statlig enhet i Midtøsten
- Et privat selskap i det sørlige Afrika
Det var et betydelig brudd i observerte operasjoner fra 2021-05 til 2022-01, men Worok-aktiviteten kom tilbake i 2022-02, rettet mot:
- Et energiselskap i Sentral-Asia
- En offentlig sektor i Sørøst-Asia
Figur 1 presenterer et visuelt varmekart over de målrettede områdene og vertikalene.
Med tanke på målenes profiler og verktøyene vi har sett utplassert mot disse ofrene, tror vi Woroks hovedmål er å stjele informasjon.
Teknisk analyse
Mens de fleste innledende tilganger er ukjente, har vi i noen tilfeller gjennom 2021 og 2022 sett utnyttelser brukt mot ProxyShell-sårbarhetene. I slike tilfeller har vanligvis webshell blitt lastet opp etter å ha utnyttet disse sårbarhetene, for å gi utholdenhet i offerets nettverk. Deretter brukte operatørene ulike implantater for å få ytterligere kapasitet.
Etter at tilgang var oppnådd, satte operatørene i bruk flere, offentlig tilgjengelige verktøy for rekognosering, inkludert Mimikatz, Jordorm, ReGeorgog NBTscan, og distribuerte deretter sine tilpassede implantater: en første-trinns-laster, etterfulgt av en andre-trinns .NET-laster (PNGLoad). Dessverre har vi ikke klart å hente noen av de endelige nyttelastene. I 2021 var førstetrinnslasteren en CLR-montering (CLRLoad), mens den i 2022 ble erstattet, i de fleste tilfeller, av en fullfunksjons PowerShell-bakdør (PowHeartBeat) – begge utførelseskjedene er avbildet i figur 2. Disse tre verktøy er beskrevet i detalj i de følgende underavsnittene.
CLRLoad: CLR-monteringslaster
CLRLoad er en generisk Windows PE som vi har sett i både 32- og 64-biters versjoner. Det er en laster skrevet i C++ som laster det neste trinnet (PNGLoad), som må være en Common Language Runtime (CLR) montering DLL-fil. Denne koden lastes inn fra en fil som ligger på disken i en legitim katalog, antagelig for å villede ofre eller hendelsespersonell til å tro at det er legitim programvare.
Noen CLRLoad-eksempler starter med å dekode hele banen til filen hvis innhold de vil laste inn som neste trinn. Disse filbanene er kodet med en enkeltbyte XOR, med en annen nøkkel i hver prøve. Dekodet eller klartekst, disse filbanene er absolutte, og følgende er de vi har møtt:
- 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
Deretter opprettes en mutex, og vi har sett et annet navn i hver prøve. Lasteren ser etter denne mutexen; hvis den blir funnet, avsluttes den fordi lasteren allerede kjører. I en av prøvene, mutex Wo0r0KGWhYGO ble møtt, noe som ga gruppen navnet Worok.
CLRLoad laster deretter en CLR-sammenstilling fra den muligens dekodede filbanen. Som uadministrert kode oppnår CLLRoad dette via CorBindToRuntimeEx Windows API kaller i 32-bits varianter, eller CLRCreateInstance kaller i 64-bits varianter.
PowHeartBeat: PowerShell-bakdør
PowHeartBeat er en fullverdig bakdør skrevet i PowerShell, tilsløret ved hjelp av ulike teknikker som komprimering, koding og kryptering. Basert på ESET-telemetri, tror vi at PowHeartBeat erstattet CLLRoad i nyere Worok-kampanjer som verktøyet som ble brukt til å lansere PNGLoad.
Det første laget av bakdørkoden består av flere biter av base64-kodet PowerShell-kode. Når nyttelasten er rekonstruert, kjøres den via IEX. Når den er dekodet, blir et annet lag med obfuskert kode utført, som vi kan se i figur 3.
Det andre laget av bakdøren first base64 dekoder det neste laget av koden, som deretter dekrypteres med Trippel DES (CBC-modus). Etter dekryptering dekomprimeres denne koden ved hjelp av gzip algoritme, og gir dermed det tredje laget med PowerShell-kode, som er selve bakdøren. Den er delt inn i to hoveddeler: konfigurasjon og håndtering av bakdørskommandoer.
Hovedlaget med bakdørskode er også skrevet i PowerShell og bruker HTTP eller ICMP for å kommunisere med C&C-serveren. Det fungerer som vist i figur 4.
Konfigurasjon
Konfigurasjonen inneholder flere felt, inkludert versjonsnummer, valgfri proxy-konfigurasjon og C&C-adresse. Tabell 1 beskriver betydningen av konfigurasjonsfeltene i de forskjellige versjonene vi har observert.
Tabell 1. Konfigurasjonsfeltbetydninger
Feltnavn | Beskrivelse |
---|---|
nouse / ikuyrtydyfg (andre prøver) |
Ubrukt. |
Klient-ID | Klientidentifikator, brukt til følgende formål: · Som en verdi ved konstruksjon av Overskrift for informasjonskapsler for C&C-kommunikasjon. · Som en kryptografisk artefakt for sendt datakryptering. |
Versjon | Versjonsnummer av PowHeartBeat. |
ExecTimes | Antall tillatte utførelsesforsøk ved utstedelse av en KjørCmd (kommando kjører) kommando. |
Bruker agent | Brukeragent brukt for C&C-kommunikasjon. |
referent | referent header brukt for C&C-kommunikasjon. |
Godta koding | Ubrukt. |
CookieClientId CookieTaskId CookieTerminalId |
Verdier som brukes til å konstruere Cookie header for C&C-kommunikasjon. |
UrlHttps | Protokoll til bruk for C&C-kommunikasjon. |
UrlDomain IP adresse Domener |
URL, domene(r) eller IP-adresse som brukes som C&C-server. Hvis Domener er ikke tom, er det valgt i stedet for IP adresse. I andre tilfeller IP adresse er tatt. |
UrlSendHeartBeat | URL-bane som brukes når bakdøren ber C&C-serveren om kommandoer. |
UrlSendResult | URL-bane som brukes når bakdøren sender resultatene av kommandoen tilbake til C&C-serveren. |
GetUrl | Komplett URL, brukt av PowHeartBeat for å be om kommandoer fra C&C-serveren. Det er sammenkoblingen av URL-elementene ovenfor. |
PutUrl | Samme som GetUrl men brukes til å sende resultatene av kommandoen tilbake til C&C-serveren. |
gjeldende bane | Ubrukt. |
ProxyEnableFlag | Flagg som indikerer om bakdøren må bruke en proxy eller ikke for å kommunisere med C&C-serveren. |
Proxymsg | Adressen til fullmakten som skal brukes hvis ProxyEnableFlag er satt til $true. |
Intervall | Tid i sekunder som skriptet hviler mellom GET-forespørsler. |
BasicConfigPath | Bane til en valgfri konfigurasjonsfil som inneholder Oppetid, Nedetid, Standardintervallog Domener. Disse verdiene vil bli overstyrt hvis filen er til stede. |
Oppetid | Tidspunkt på dagen da bakdøren begynner å fungere, noe som betyr at den begynner å sende GET-forespørsler til C&C-serveren. |
Nedetid | Tid på dagen som bakdøren kan operere frem til, som betyr tidspunktet da den slutter å sende forespørsler til C&C-serveren. |
DomainIndex | Indeks for gjeldende domenenavn som skal brukes for kommunikasjon med C&C-serveren. I tilfelle en forespørsel returnerer en feilmelding som er forskjellig fra 304 ("Ikke endret"), DomainIndex økes. |
Secret Key | Nøkkel som brukes til å dekryptere/kryptere konfigurasjonen. Konfigurasjonen er kryptert med multiple-byte XOR. |
IfLog | Ubrukt. |
IfLogFilePath | Flagg som indikerer om logging er aktivert. |
loggsti | Banen til loggfilen. |
Proxyfil | Filbane for den valgfrie proxy-konfigurasjonen. Hvis den er tom eller ikke finnes i filsystemet, henter bakdøren brukerens proxy-innstillinger fra registerverdien HKCUSoftwareMicrosoftWindowsCurrentVersionInternettinnstillingerProxyServer . |
IfConfig | Flagg som indikerer om en konfigurasjonsfil skal brukes. |
Figur 5 viser et eksempel på konfigurasjonen hentet 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. Konfigurasjonseksempel
Datakryptering
PowHeartBeat krypterer logger og ekstra konfigurasjonsfilinnhold.
Loggfilinnholdet er kryptert gjennom multiple-byte XOR med en nøkkel spesifisert i klartekst i prøven. Interessant nok, klient-ID brukes som et salt for indeksen inn i nøkkelmatrisen. Nøkkelen er en 256-byte array, som var identisk i hver prøve vi møtte. Ytterligere konfigurasjonsfilinnhold krypteres gjennom multiple-byte XOR med verdien fra Secret Key som sin nøkkel.
C&C kommunikasjon
PowHeartBeat brukte HTTP for C&C-kommunikasjon frem til versjon 2.4, og byttet deretter til ICMP. I begge tilfeller er ikke kommunikasjonen kryptert.
HTTP
I en uendelig sløyfe sender bakdøren en GET-forespørsel til C&C-serveren, og ber om en kommando som skal utstedes. Det krypterte svaret dekrypteres av bakdøren, som behandler kommandoen, og skriver kommandoutgangen til en fil hvis innhold deretter sendes til C&C-serveren via en POST-forespørsel.
Formatet på GET-forespørslene er følgende:
GET <UrlSendHeartBeat> HTTP/1.1 User-Agent: <UserAgent> Referer: <Referer> Host: <Domain> Cookie: <CookieClientId>=<ClientId> Connection: close |
Vær oppmerksom på at forespørselen er konstruert ved hjelp av konfigurasjonsfeltene med samme navn.
I svaret fra C&C-serveren er den tredje byten av innholdet kommandoidentifikatoren som indikerer kommandoen som skal behandles av bakdøren. Vi kaller det kommando-id. Det gjenværende innholdet i svaret vil bli sendt som et argument til kommandoen som behandles. Dette innholdet er kryptert med algoritmen vist i figur 6, oppgave-ID er verdien av informasjonskapselen oppkalt etter CookieTaskIdsin verdi fra konfigurasjonen.
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. Forespørsler om krypteringsalgoritme for innholdsdata
Svaret fra C&C-serveren inneholder også en annen informasjonskapsel, hvis navn er spesifisert av bakdørens CookieTerminalId konfigurasjonsvariabel. Verdien til denne informasjonskapselen gjentas i POST-forespørselen fra bakdøren, og den må ikke være tom. Etter å ha utført bakdørskommandoen, sender PowHeartBeat resultatet som en POST-forespørsel til C&C-serveren. Resultatet sendes som en fil med navnet .png.
ICMP
Fra versjon 2.4 av PowHeartBeat ble HTTP erstattet av ICMP, sendte pakker med en timeout på seks sekunder og ble ufragmentert. Kommunikasjon gjennom ICMP er mest sannsynlig en måte å unngå oppdagelse på.
Det er ingen større endring i versjon 2.4 og senere, men vi la merke til noen endringer i koden:
- PowHeartBeat sender en hjerteslagpakke ved hver løkke som inneholder strengen ABCDEFGHIJKLMNOPQRSTUVWXYZ, før du ber om en kommando. Dette informerer C&C-serveren om at bakdøren er klar til å motta kommandoer.
- Forespørsler om å få kommandoer utført av bakdøren inneholder strengen abcdefghijklmnop.
Heartbeat-pakker har formatet beskrevet i figur 7.
Forskjellen klient-ID og klientflagg er at klient-ID er forskjellig i hvert utvalg mens klientflagg er den samme i hver prøve som bruker ICMP. hjerteslag flagg indikerer at bakdøren sender et hjerteslag. Svaret fra C&C-serveren har formatet beskrevet i figur 8.
flagg her indikerer om det er en kommando som skal sendes til bakdøren. Forespørsler om å få kommandoer har formatet beskrevet i figur 9.
Merk at bakdørens ICMP-modus lar deg motta en ubegrenset mengde data, delt inn i biter og variablene datalengde, nåværende posisjon og Total lengde brukes til å holde styr på de overførte dataene. Svar på disse forespørslene har formatet beskrevet i figur 10.
Som i HTTP-svar, er kommandoidentifikatoren den tredje byten av dato.
Etter syv påfølgende ICMP-svar med tomt eller inkonsekvent formatert innhold, anses overføringer mellom bakdøren og C&C-serveren som fullførte.
Når det gjelder forespørslene om å sende resultatet av den utstedte kommandoen til C&C-serveren, endres servermodus for postmodus, og den siste strengen (abcdefghijklmnop) endres for resultatdataene.
Bakdørskommandoer
PowHeartBeat har forskjellige funksjoner, inkludert kommando/prosesskjøring og filmanipulering. Tabell 2 viser alle kommandoer som støttes av de forskjellige analyserte prøvene.
Tabell 2. PowHeartBeat-kommandobeskrivelser
Navn | Kommandoidentifikator | Beskrivelse |
---|---|---|
Cmd | 0x02 | Utfør en PowerShell-kommando. |
Exe | 0x04 | Utfør en kommando som en prosess. |
Filopplasting | 0x06 | Last opp en fil til offermaskinen. Filinnholdet er gzip-komprimert. |
Last ned fil | 0x08 | Last ned en fil fra offermaskinen, og returner filbane, fillengde, opprettelsestid, tilgangstider og filinnhold til C&C-serveren. |
FileView | 0x0A | Få filinformasjon for en bestemt katalog, spesielt: · Filnavn · Filattributter · Siste skrivetider · Filinnhold |
FileDelete | 0x0C | Slett en fil. |
FilRename | 0x0E | Gi nytt navn eller flytt en fil. |
ChangeDir | 0x10 | Endre gjeldende arbeidsplassering for bakdøren. |
Mer info | 0x12 | Få en kategori med informasjon i henhold til det angitte argumentet: · "Grunnleggende informasjon": Klient-ID, Versjon, vertsnavn, IP-adresser, explorer.exe versjons- og størrelsesinformasjon, OS (arkitektur og flagg som indikerer om maskinen er en server), Intervall, gjeldende katalog, stasjonsinformasjon (navn, type, ledig plass og total størrelse), gjeldende tid · "Tidsintervallinformasjon": Intervall og gjeldende tid · "Domeneinformasjon": dekryptert konfigurasjonsfilinnhold |
Config | 0x14 | Oppdater innholdet i konfigurasjonsfilen og last inn konfigurasjonen på nytt. |
N / A | 0x63 | Utgang bakdør. |
I tilfelle feil på bakdørssiden, bruker bakdøren en spesifikk kommandoidentifikator 0x00 i POST-forespørselen til C&C-serveren, og indikerer dermed at det har oppstått en feil.
Merk at før du sender informasjonen tilbake til C&C-serveren, er dataene gzip-komprimert.
PNGLoad: Steganografisk laster
PNGLoad er andre trinns nyttelast distribuert av Worok på kompromitterte systemer og, ifølge ESET telemetri, lastet enten av CLLRoad eller PowHeartBeat. Selv om vi ikke ser noen kode i PowHeartBeat som direkte laster PNGLoad, har bakdøren muligheten til å laste ned og utføre ytterligere nyttelast fra C&C-serveren, noe som sannsynligvis er hvordan angriperne har distribuert PNNGLoad på systemer som er kompromittert med PowHeartBeat. PNGLoad er en laster som bruker byte fra PNG-filer for å lage en nyttelast å kjøre. Det er en 64-bits .NET-kjørbar fil – tilsløret med .NET Reactor – som gir seg ut som legitim programvare. For eksempel viser figur 11 CLR-hodene til en prøve som er maskert som en WinRAR DLL.
Når den er deobfuskert, er bare én klasse til stede. I denne klassen er det en MainPath attributt som inneholder katalogbanen bakdøren søker, inkludert underkatalogene, for filer med en . Png forlengelse, som vist i figur 12.
hver enkelt . Png fil lokalisert ved dette søket på MainPath blir deretter sjekket for steganografisk innebygd innhold. Først hentes den minst signifikante biten av hver piksels R (rød), G (grønn), B (blå) og A (alfa) verdier og settes sammen til en buffer. Skulle de første åtte bytene i den bufferen samsvare med det magiske tallet vist i figur 13 og den neste åttebyte-verdien, kontroll, være ikke-null, passerer filen PNGLoads steganografiske innholdssjekk. For slike filer fortsetter behandlingen med resten av bufferen dekryptert med en multiple-byte XOR, ved å bruke nøkkelen som er lagret i PNGLoads SecretKeyBytes attributt, og deretter blir den dekrypterte bufferen gzip-dekomprimert. Resultatet forventes å være et PowerShell-skript, som kjøres umiddelbart.
Interessant nok logges operasjoner utført av PNGLoad i en fil hvis bane er lagret i variabelen LogFilePath. Operasjoner logges kun hvis en fil er til stede hvis bane er spesifisert av den interne variabelen IfLogFilePath.
Vi har ikke klart å få en prøve . Png fil brukt sammen med PNGLoad, men måten PNGLoad fungerer på antyder at den skal fungere med gyldige PNG-filer. For å skjule den ondsinnede nyttelasten, bruker Worok Bitmap-objekter i C#, som kun tar pikselinformasjon fra filer, ikke filmetadata. Dette betyr at Worok kan skjule sine ondsinnede nyttelaster i gyldige, ufarlige PNG-bilder og dermed gjemme seg i synlige øyne.
konklusjonen
Worok er en cyberspionasjegruppe som utvikler sine egne verktøy, i tillegg til å utnytte eksisterende verktøy, for å kompromittere sine mål. Å stjele informasjon fra ofrene deres er det vi tror operatørene er ute etter fordi de fokuserer på høyprofilerte enheter i Asia og Afrika, rettet mot ulike sektorer, både private og offentlige, men med spesiell vekt på statlige enheter. Aktivitetstider og verktøysett indikerer mulige bånd med TA428, men vi gjør denne vurderingen med lav selvtillit. Deres tilpassede verktøysett inkluderer to lastere – én i C++ og én i C# .NET – og én PowerShell-bakdør. Selv om vår synlighet er begrenset, håper vi at det å kaste lys over denne gruppen vil oppmuntre andre forskere til å dele informasjon om denne gruppen.
ESET Research tilbyr nå også private APT-etterretningsrapporter og datafeeder. For eventuelle spørsmål om denne tjenesten, besøk ESET Threat Intelligence side.
IOC
Filer
SHA-1 | filnavn | ESET-deteksjonsnavn | 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 | CLLRast. |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | ncrypt.dll | Win32/CLRLoad.A | CLLRast. |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | ncrypt.dll | Win32/CLRLoad.A | CLLRast. |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLoad.E | CLLRast. |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLoad.A | CLLRast. |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLoad.H | CLLRast. |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLoad.C | CLLRast. |
Filbaner
Noen av MainPath, LogFilePath og IfLogFilePath verdier som vi møtte i PNGLoad-eksempler:
MainPath | LogFilePath | IfLogFilePath |
---|---|---|
C:Program FilesVMwareVMware-verktøy | 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 |
Network
Domene | IP |
---|---|
none | 118.193.78[.]22 |
none | 118.193.78[.]57 |
airplane.travel-commercials[.]byrå | 5.183.101[.]9 |
central.suhypercloud[.]org | 45.77.36[.]243 |
Mutexes
I CLLRoad-prøver er mutex-navnene vi møtte:
aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy
En omfattende liste over kompromissindikatorer (IoCs) og prøver finner du i vårt GitHub-depot.
MITRE ATT&CK-teknikker
Dette bordet ble bygget vha versjon 11 av MITRE ATT&CK-rammeverket.
taktikk | ID | Navn | Beskrivelse |
---|---|---|---|
Rekognosering | T1592.002 | Samle informasjon om offervert: Programvare | PowHeartBeat samles explorer.exe informasjon. |
T1592.001 | Samle informasjon om offervert: Maskinvare | PowHeartBeat samler informasjon om stasjoner. | |
T1590.005 | Samle informasjon om offernettverk: IP-adresser | PowHeartBeat samler IP-adressene til den kompromitterte datamaskinen. | |
Ressursutvikling | T1583.004 | Anskaffe infrastruktur: Server | Worok bruker sine egne C&C-servere. |
T1588.002 | Skaff evner: Verktøy | Worok distribuerte flere offentlig tilgjengelige verktøy på de kompromitterte maskinene. | |
T1583.001 | Anskaffe infrastruktur: domener | Worok har registrert domener for å lette C&C-kommunikasjon og iscenesettelse. | |
T1588.005 | Skaff evner: Utnytter | Worok har brukt ProxyShell-sårbarheten. | |
T1587.001 | Utvikle evner: Skadelig programvare | Worok har utviklet sin egen skadevare: CLRLoad, PNGLoad, PowHeartBeat. | |
T1587.003 | Utvikle evner: Digitale sertifikater | Worok har laget Let's Encrypt SSL-sertifikater for å aktivere gjensidig TLS-autentisering for skadelig programvare. | |
Gjennomføring | T1059.001 | Kommando- og skripttolk: PowerShell | PowHeartBeat er skrevet i PowerShell. |
Utholdenhet | T1505.003 | Serverprogramvarekomponent: Web Shell | Worok bruker webshell ReGeorg. |
Forsvarsunndragelse | T1140 | Deobfuscate / Decode filer eller informasjon | Worok bruker forskjellige tilpassede XOR-baserte skjemaer for å kryptere strenger og logger i PowHeartBeat, PNGLoad og CLLRoad. |
T1036.005 | Masquerading: Match legitimt navn eller sted | PNGLoad-eksempler distribueres i VMWare-kataloger som ser legitimt ut. | |
Legitimasjonstilgang | T1003.001 | OS Credential Dumping: LSASS-minne | Worok bruker Mimikatz til å dumpe legitimasjon fra LSASS-minnet. |
Discovery | T1082 | Oppdagelse av systeminformasjon | PowHeartBeat samler OS-informasjon. |
T1083 | Fil- og katalogoppdagelse | PowHeartBeat kan liste filer og kataloger. | |
T1046 | Oppdagelse av nettverkstjenester | Worok bruker NbtScan for å få nettverksinformasjon om kompromitterte maskiner. | |
T1124 | Systemtidsoppdagelse | PowHeartBeat samler offerets tidsinformasjon. | |
Samling | T1005 | Data fra lokalt system | PowHeartBeat samler data fra det lokale systemet. |
T1560.002 | Arkiver innsamlede data: Arkiver via bibliotek | PowHeartBeat gzip-komprimerer data før de sendes til C&C-serveren. | |
Command and Control | T1071.001 | Application Layer Protocol: Webprotokoller | Noen PowHeartBeat-varianter bruker HTTP som kommunikasjonsprotokoll med C&C-serveren. |
T1090.001 | Proxy: Intern Proxy | PowHeartBeat håndterer proxy-konfigurasjon på offerets maskin. | |
T1001.002 | Dataobfuskasjon: Steganografi | PNGLoad trekker ut pikselverdier fra . Png filer for å rekonstruere nyttelaster. | |
T1573.002 | Kryptert kanal: Asymmetrisk kryptografi | PowHeartBeat håndterer HTTPS-kommunikasjon med C&C-serveren. | |
T1095 | Ikke-applikasjonslagsprotokoll | Noen PowHeartBeat-varianter bruker ICMP som kommunikasjonsprotokoll med C&C-serveren. | |
T1132.001 | Datakoding: Standardkoding | Worok bruker XOR-koding i PowHeartBeat og PNGLoad. | |
T1132.002 | Datakoding: Ikke-standard koding | Worok bruker XOR-kodingsalgoritmer som gjør bruk av et ekstra salt. | |
exfiltration | T1041 | Eksfiltrering over C2-kanal | PowHeartBeat bruker sin C&C-kommunikasjonskanal til å eksfiltrere informasjon. |
- blockchain
- coingenius
- cryptocurrency lommebøker
- kryptoverveksling
- cybersikkerhet
- nettkriminelle
- Cybersecurity
- innenriksdepartementet
- digitale lommebøker
- ESET Research
- brannmur
- Kaspersky
- malware
- Mcafee
- NexBLOC
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- VPN
- Vi lever sikkerhet
- nettside sikkerhet
- zephyrnet