Den riktade regionen, och överlappning i beteende och kod, tyder på att verktyget används av den ökända Nordkorea-justerade APT-gruppen
ESET-forskare har upptäckt en av nyttolasten av Wslink-nedladdare som vi upptäckte redan 2021. Vi döpte denna nyttolast WinorDLL64 baserat på dess filnamn WinorDLL64.dll. Wslink, som hade filnamnet WinorLoaderDLL64.dll, är en loader för Windows-binärfiler som, till skillnad från andra sådana loaders, körs som en server och exekverar mottagna moduler i minnet. Som ordalydelsen antyder fungerar en laddare som ett verktyg för att ladda en nyttolast, eller den faktiska skadliga programvaran, till det redan komprometterade systemet. Den initiala Wslink-kompromissvektorn har inte identifierats.
Den från början okända Wslink-nyttolasten laddades upp till VirusTotal från Sydkorea kort efter publiceringen av vårt blogginlägg, och träffade en av våra YARA-regler baserad på Wslinks unika namn WinorDLL64. När det gäller Wslink har ESET-telemetri bara sett några få upptäckter – i Centraleuropa, Nordamerika och Mellanöstern.
Smakämnen WinorDLL64 nyttolast fungerar som en bakdörr som framför allt samlar in omfattande systeminformation, tillhandahåller medel för filmanipulation, såsom exfiltrering, överskrivning och borttagning av filer, och exekverar ytterligare kommandon. Intressant nog kommunicerar den över en anslutning som redan upprättats av Wslink-lastaren.
Under 2021 hittade vi ingen data som skulle tyda på att Wslink är ett verktyg från en känd hotaktör. Men efter en omfattande analys av nyttolasten har vi tillskrivit WinorDLL64 till Lazarus APT-gruppen med lågt förtroende baserat på målregionen och en överlappning i både beteende och kod med kända Lazarus-prover.
Denna ökända Nordkorea-anslutna grupp har varit aktiv sedan åtminstone 2009 och är ansvarig för högprofilerade incidenter som både Hacka Sony Pictures Entertainment och tiotals-miljoner-dollar cyberheister 2016, den WannaCryptor (aka WannaCry) utbrott 2017, och en lång historia av störande attacker mot Sydkoreansk offentlig och kritisk infrastruktur sedan åtminstone 2011. US-CERT och FBI kallar denna grupp Gömd COBRA.
Baserat på vår omfattande kunskap av verksamheten och verksamheten i denna grupp tror vi att Lazarus består av ett stort team som är systematiskt organiserat, väl förberedda och består av flera undergrupper som använder en stor verktygsuppsättning. Förra året, vi upptäckte ett Lazarus-verktyg som utnyttjade CVE‑2021‑21551 sårbarhet för att rikta in sig på en anställd på ett flygbolag i Nederländerna och en politisk journalist i Belgien. Det var det första registrerade missbruket av sårbarheten; i kombination ledde verktyget och sårbarheten till att övervakningen av alla säkerhetslösningar på komprometterade maskiner förblindades. Vi gav också en omfattande beskrivning av den virtuella maskinens struktur används i prover av Wslink.
Det här blogginlägget förklarar tillskrivningen av WinorDLL64 till Lazarus och ger en analys av nyttolasten.
Länkar till Lazarus
Vi har upptäckt överlappningar i både beteende och kod med Lazarus-prover från Operation GhostSecret och Bankshot implantat beskrivs av McAfee. Beskrivningen av implantaten i både GhostSecret- och Bankshot-artiklar innehåller överlappningar i funktionaliteten med WinorDLL64 och vi hittade viss kodöverlappning i proverna. I det här blogginlägget kommer vi endast att använda FE887FCAB66D7D7F79F05E0266C0649F0114BA7C prov från GhostSecret för jämförelse mot WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), om inte annat anges.
Följande detaljer sammanfattar de stödjande fakta för vårt låga förtroende för Lazarus:
1. Viktimologi
- Andra forskare från AhnLab bekräftade sydkoreanska offer för Wslink i deras telemetri, vilket är en relevant indikator med tanke på de traditionella Lazarus-målen och att vi bara har observerat ett fåtal träffar.
2. Skadlig programvara
- Det senaste GhostSecret-exemplet rapporterat av McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) är från februari 2018; vi såg det första provet av Wslink i slutet av 2018 och andra forskare rapporterade träffar i augusti 2018, som de avslöjade efter vår publicering. Därför sågs dessa prover med en relativt kort tidsperiod från varandra.
- Smakämnen PE rika rubriker indikerar att samma utvecklingsmiljö och projekt av liknande storlek användes i flera andra kända Lazarus-prover (t.ex. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Vi hittade denna överlappning med hjälp av följande regler som endast täcker dessa Wslink- och Lazarus-prover, vilket är en indikator med låg vikt. Vi testade dem VirusTotals retrojakt och vår interna filkorpus.
rich_signature.length == 80 och
pe.rich_signature.toolid(175, 30319) == 7 och
pe.rich_signature.toolid(155, 30319) == 1 och
pe.rich_signature.toolid(158, 30319) == 10 och
pe.rich_signature.toolid(170, 30319) >= 90 och
pe.rich_signature.toolid(170, 30319) <= 108
Denna regel kan översättas till följande notation som är mer läsbar och används av VirusTotal, där man kan se produktversionen och build-ID (VS2010 bygg 30319), antal och typ av käll-/objektfiler som används ([LTCG C++] där LTCG står för Link Time Code Generation, [ASM], [C]), och antal exporter ([EXP]) i regeln:
[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 bygger 30319 räknas in [ 90 .. 108 ]
- GhostSecret-artikeln beskrev "en unik datainsamlings- och implantatinstallationskomponent som lyssnar på port 443 för inkommande kontrollserveranslutningar" som dessutom kördes som en tjänst. Detta är en korrekt beskrivning av Wslink-nedladdarens beteende, förutom portnumret, som kan variera beroende på konfigurationen. För att sammanfatta det, även om implementeringen är olika, tjänar båda samma syfte.
- Laddaren virtualiseras av Oreans Code Virtualizer, som är ett kommersiellt skydd som används ofta av Lazarus.
- Lastaren använder Minnesmodul bibliotek för att ladda moduler direkt från minnet. Biblioteket används inte ofta av skadlig programvara, men det är ganska populärt bland Nordkorea-anslutna grupper som Lazarus och Kimsuky.
- Överlappning i koden mellan WinorDLL64 och GhostSecret som vi hittade under vår analys. Resultaten och signifikansen i tillskrivningen anges i tabell 1.
Tabell 1. Likheter mellan WinorDLL64 och GhostSecret och deras betydelse för att tillskriva båda till samma hotaktör
Andra likheter mellan WinorDLL64 och GhostSecret | Inverkan |
---|---|
Kodöverlappning i kod ansvarig för att få processorarkitektur | Låg |
Kodöverlappning i aktuell katalogmanipulation | Låg |
Kodöverlappning för att få processlistan | Låg |
Kodöverlappning vid filsändning | Låg |
Beteende överlappar varandra i listningsprocesser | Låg |
Beteendeöverlappning vid aktuell katalogmanipulation | Låg |
Beteende överlappar varandra i fil- och kataloglistning | Låg |
Beteende överlappar i noteringsvolymer | Låg |
Beteende överlappar varandra i läsning/skrivande av filer | Låg |
Beteende överlappar varandra i att skapa processer | Låg |
Betydande beteende överlappar varandra vid säker borttagning av filer | Låg |
Betydande beteendeöverlappning vid avslutning av processer | Låg |
Betydande beteendeöverlappning vid insamling av systeminformation | Låg |
Kodöverlappning i filsändningsfunktionen är markerad i figur 2 och figur 3.
Teknisk analys
WinorDLL64 fungerar som en bakdörr som framför allt samlar in omfattande systeminformation, tillhandahåller medel för filmanipulation och exekverar ytterligare kommandon. Intressant nog kommunicerar den över en TCP-anslutning som redan upprättats av dess laddare och använder några av laddarens funktioner.
Bakdörren är en DLL med en enda namnlös export som accepterar en parameter – en struktur för kommunikation som redan beskrevs i vår föregående blogginlägg. Strukturen innehåller en TLS-kontext – socket, nyckel, IV – och callbacks för att skicka och ta emot meddelanden krypterade med 256-bitars AES-CBC som gör att WinorDLL64 kan utbyta data säkert med operatören över en redan etablerad anslutning.
Följande fakta får oss att tro med stor tillförsikt att biblioteket verkligen är en del av Wslink:
- Den unika strukturen används överallt på det förväntade sättet, t.ex. levereras TLS-kontexten och andra meningsfulla parametrar i förväntad ordning till korrekta callbacks.
- Namnet på DLL är WinorDLL64.dll och Wslink hette WinorLoaderDLL64.dll.
WinorDLL64 accepterar flera kommandon. Figur 5 visar slingan som tar emot och hanterar kommandon. Varje kommando är bundet till ett unikt ID och accepterar en konfiguration som innehåller ytterligare parametrar.
Kommandolistan, med våra etiketter, finns i figur 6.
Tabell 2 innehåller en sammanfattning av WinorDLL64-kommandona, där modifierade och gamla kategorier hänvisar till förhållandet till den tidigare dokumenterade GhostSecret-funktionaliteten. Vi lyfter bara fram betydande förändringar i den modifierade kategorin.
Tabell 2. Översikt över bakdörrskommandon
Kategori | Kommando-ID | Funktionalitet | Beskrivning |
---|---|---|---|
Nya | 0x03 | Kör ett PowerShell-kommando | WinorDLL64 instruerar PowerShell-tolken att köra obegränsat och att läsa kommandon från standardindata. Efteråt skickar bakdörren det angivna kommandot till tolken och skickar utdata till operatören. |
0x09 | Komprimera och ladda ner en katalog | WinorDLL64 itererar rekursivt över en specificerad katalog. Innehållet i varje fil och katalog komprimeras separat och skrivs till en temporär fil som sedan skickas till operatören och sedan tas bort på ett säkert sätt. | |
0x0D | Koppla från en session | Kopplar bort en angiven inloggad användare från användarens session för Remote Desktop Services. Kommandot kan också utföra olika funktioner baserat på parametern. | |
0x0D | Lista sessioner | Skaffar olika detaljer om alla sessioner på offrets enhet och skickar dem till operatören. Kommandot kan också utföra olika funktioner baserat på parametern. | |
0x0E | Mät anslutningstiden | Använder Windows API Gettickcount för att mäta den tid som krävs för att ansluta till en specificerad värd. | |
Ändrad | 0x01 | Få systeminfo | Skaffar omfattande information om offrets system och skickar dem till operatören. |
0x0A | Ta bort filer säkert | Skriver över specificerade filer med ett block av slumpmässiga data, byter namn på varje fil till ett slumpmässigt namn och tar slutligen säkert bort dem en efter en. | |
0x0C | Döda processer | Avslutar alla processer vars namn matchar ett medföljt mönster och/eller med ett specifikt PID. | |
Gamla | 0x02/0x0B | Skapa en process | Skapar en process antingen som aktuell eller specificerad användare och skickar eventuellt dess utdata till operatören. |
0x05 | Ställ in/hämta aktuell katalog | Försöker att ställa in och därefter hämta sökvägen till den aktuella arbetskatalogen. | |
0x06 | Lista volymer | Itererar över enheter från C: till Z: och hämtar enhetstyp och volymnamn. Kommandot kan också utföra olika funktioner baserat på parametern. | |
0x06 | Lista filer i en katalog | Itererar över filer i specificerad katalog och hämtar information som namn, attribut etc. Kommandot kan också utföra olika funktioner baserat på parametern. | |
0x07 | Skriv till en fil | Laddar ner och lägger till den angivna mängden data till angiven fil. | |
0x08 | Läs från en fil | Den angivna filen läses och skickas till operatören. | |
0x0C | Lista processer | Får information om alla pågående processer på offrets enhet och skickar dessutom ID för den aktuella processen. |
Slutsats
Wslinks nyttolast är dedikerad till att tillhandahålla medel för filmanipulering, exekvering av ytterligare kod och att erhålla omfattande information om det underliggande systemet som eventuellt kan utnyttjas senare för lateral rörelse, på grund av specifikt intresse för nätverkssessioner. Wslink-lastaren lyssnar på en port som anges i konfigurationen och kan betjäna ytterligare anslutande klienter och till och med ladda olika nyttolaster.
WinorDLL64 innehåller en överlappning i utvecklingsmiljön, beteendet och koden med flera Lazarus-exempel, vilket indikerar att det kan vara ett verktyg från den stora arsenalen av denna nordkoreanska APT-grupp.
IOCS
SHA-1 | ESET-detekteringsnamn | Beskrivning |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Minnesdump av upptäckt Wslink-nyttolast WinorDll64. |
MITER ATT & CK tekniker
Detta bord byggdes med hjälp av version 12 av ATT&CK-ramverket. Vi nämner inte tekniker från lastaren igen, bara nyttolasten.
Taktik | ID | Namn | Beskrivning |
---|---|---|---|
Resursutveckling | T1587.001 | Utveckla förmågor: Malware | WinorDLL64 är ett anpassat verktyg. |
Utförande | T1059.001 | Kommando- och skripttolk: PowerShell | WinorDLL64 kan köra godtyckliga PowerShell-kommandon. |
T1106 | Native API | WinorDLL64 kan köra ytterligare processer med hjälp av CreateProcessW och CreateProcessAsUserW API: er. | |
Försvarsflykt | T1134.002 | Access Token Manipulation: Skapa process med Token | WinorDLL64 kan anropa API:er WTSQueryUserToken och CreateProcessAsUserW för att skapa en process under en efterbildad användare. |
T1070.004 | Indikatorborttagning: Filradering | WinorDLL64 kan säkert ta bort godtyckliga filer. | |
Discovery | T1087.001 | Kontoupptäckt: Lokalt konto | WinorDLL64 kan räkna upp sessioner och lista associerade användar- och klientnamn, bland annat. |
T1087.002 | Kontoupptäckt: Domänkonto | WinorDLL64 kan räkna upp sessioner och lista associerade domännamn – bland annat. | |
T1083 | Arkiv- och katalogupptäckt | WinorDLL64 kan få fil- och kataloglistor. | |
T1135 | Upptäckt av nätverksdelning | WinorDLL64 kan upptäcka delade nätverksenheter. | |
T1057 | Processupptäckt | WinorDLL64 kan samla in information om pågående processer. | |
T1012 | Fråga registret | WinorDLL64 kan fråga Windows-registret för att samla in systeminformation. | |
T1082 | Systeminformation upptäckt | WinorDLL64 kan hämta information som datornamn, OS och senaste service pack-version, processorarkitektur, processornamn och mängd utrymme på fasta enheter. | |
T1614 | Systemplats upptäckt | WinorDLL64 kan få offrets standardlandsnamn med hjälp av GetLocaleInfoW API. | |
T1614.001 | System Location Discovery: System Language Discovery | WinorDLL64 kan få offrets standardspråk med hjälp av GetLocaleInfoW API. | |
T1016 | System Network Configuration Discovery | WinorDLL64 kan räkna upp information om nätverkskort. | |
T1049 | System Network Connections Discovery | WinorDLL64 kan samla en lista över lyssningsportar. | |
T1033 | Systemägare/användarupptäckt | WinorDLL64 kan räkna upp sessioner och lista associerade användar-, domän- och klientnamn – bland annat. | |
Samling | T1560.002 | Arkivera insamlade data: Arkivera via bibliotek | WinorDLL64 kan komprimera och exfiltrera kataloger med hjälp av quicklz bibliotek. |
T1005 | Data från lokalt system | WinorDLL64 kan samla in data på offrets enhet. | |
Inverkan | T1531 | Ta bort kontoåtkomst | WinorDLL64 kan koppla bort en inloggad användare från angivna sessioner. |
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- Om oss
- missbruk
- accepterar
- tillgång
- exakt
- förvärva
- förvärvar
- aktiviteter
- Annat
- Dessutom
- Fördel
- Aerospace
- Efter
- mot
- Justerat
- Alla
- redan
- amerika
- bland
- mängd
- analys
- och
- förväntad
- isär
- api
- API: er
- APT
- arkitektur
- arkiv
- Arsenal
- Artikeln
- artiklar
- associerad
- Attacker
- attribut
- AUGUSTI
- tillbaka
- bakdörr
- baserat
- Belgien
- tro
- mellan
- Blockera
- bunden
- SLUTRESULTAT
- byggt
- C + +
- Ring
- kapacitet
- kategorier
- Kategori
- centrala
- Centraleuropa
- CGI
- Förändringar
- CISA
- klient
- klienter
- koda
- samla
- Samla
- kombination
- kommersiella
- vanligen
- Kommunikation
- företag
- jämförelse
- komponent
- omfattande
- kompromiss
- Äventyras
- dator
- förtroende
- konfiguration
- BEKRÄFTAT
- Kontakta
- Anslutning
- anslutning
- Anslutningar
- med tanke på
- innehåller
- innehåll
- kontroll
- land
- täcka
- skapa
- Skapa
- kritisk
- Aktuella
- beställnings
- datum
- dedicerad
- Standard
- beskriven
- beskrivning
- desktop
- detaljer
- Utveckling
- anordning
- DID
- olika
- direkt
- kataloger
- Upptäck
- upptäckt
- Upptäckten
- displayer
- störande
- domän
- DOMÄNNAMN
- ladda ner
- driv
- dumpa
- under
- varje
- öster
- antingen
- Anställd
- möjliggöra
- krypterad
- Underhållning
- Miljö
- etablerade
- etc
- Europa
- Även
- utbyta
- exekvera
- Utför
- utförande
- förväntat
- Förklarar
- export
- export
- omfattande
- FBI
- Februari
- Kompis
- få
- Figur
- Fil
- Filer
- Slutligen
- hitta
- Förnamn
- fixerad
- efter
- hittade
- Ramverk
- från
- funktionalitet
- funktioner
- ytterligare
- generering
- skaffa sig
- få
- Grupp
- Gruppens
- Handtag
- Hög
- hög profil
- Markera
- Markerad
- historia
- Träffa
- träffar
- värd
- Men
- HTTPS
- identifierade
- genomförande
- in
- indikerar
- pekar på
- Indikator
- ökänd
- informationen
- inledande
- initialt
- ingång
- Intelligens
- intresse
- inre
- IT
- journalist
- Nyckel
- känd
- korea
- koreanska
- Etiketter
- språk
- Large
- Efternamn
- Förra året
- Sent
- senaste
- Lazarus
- leda
- Led
- Längd
- Bibliotek
- LINK
- Lista
- Noterade
- Lyssna
- lista
- Annonser
- läsa in
- Lastaren
- lokal
- läge
- Lång
- Låg
- Maskiner
- gjord
- Huvudsida
- malware
- Manipulation
- Match
- max-bredd
- Mcafee
- meningsfull
- betyder
- mäta
- Minne
- meddelanden
- Mitten
- Mellanöstern
- kanske
- modifierad
- Moduler
- övervakning
- mer
- mest
- rörelse
- namn
- Som heter
- namn
- Nederländerna
- nät
- Nord
- nordamerika
- i synnerhet
- antal
- få
- erhållande
- Erbjudanden
- Gamla
- ONE
- Verksamhet
- Operatören
- beställa
- Organiserad
- OS
- Övriga
- annat
- utbrott
- Översikt
- Pack
- parameter
- parametrar
- del
- passerar
- bana
- Mönster
- utföra
- perioden
- Bilder
- plato
- Platon Data Intelligence
- PlatonData
- politiska
- Populära
- portar
- Power
- beredd
- tidigare
- privat
- process
- processer
- Processorn
- Produkt
- projekt
- förutsatt
- ger
- tillhandahålla
- allmän
- Offentliggörande
- Syftet
- slumpmässig
- Läsa
- mottagna
- erhåller
- mottagande
- registreras
- om
- region
- register
- relation
- relativt
- relevanta
- avlägsen
- avlägsnande
- ta bort
- avlägsnas
- bort
- Rapporterad
- Rapport
- Obligatorisk
- forskning
- forskaren
- forskare
- ansvarig
- Resultat
- Rik
- Regel
- regler
- Körning
- rinnande
- Samma
- säkra
- säkert
- säkerhet
- skicka
- separat
- tjänar
- serverar
- service
- Tjänster
- session
- sessioner
- in
- flera
- Dela
- delas
- Kort
- Inom kort
- signifikans
- signifikant
- liknande
- Likheterna
- eftersom
- enda
- Storlek
- Lösningar
- några
- Söder
- Sydkorea
- sydkoreansk
- Utrymme
- specifik
- specificerade
- standard
- står
- anges
- struktur
- Senare
- sådana
- Föreslår
- sammanfatta
- SAMMANFATTNING
- levereras
- Stödjande
- system
- bord
- Målet
- riktade
- mål
- grupp
- tekniker
- temporär
- Smakämnen
- Nederländerna
- deras
- hot
- tid
- till
- token
- verktyg
- traditionell
- under
- underliggande
- unika
- NAMNLÖS
- uppladdad
- us
- användning
- Användare
- utnyttja
- olika
- Omfattande
- version
- via
- Victim
- offer
- Virtuell
- visualisering
- volym
- sårbarhet
- vikt
- som
- bred
- kommer
- fönster
- formulering
- arbetssätt
- skulle
- skriven
- år
- zephyrnet