Den målrettede regionen, og overlapping i oppførsel og kode, antyder at verktøyet brukes av den beryktede Nord-Korea-justerte APT-gruppen
ESET-forskere har oppdaget en av nyttelastene til Wslink-nedlaster som vi avdekket tilbake i 2021. Vi kalte denne nyttelasten WinorDLL64 basert på filnavnet WinorDLL64.dll. Wslink, som hadde filnavnet WinorLoaderDLL64.dll, er en laster for Windows-binærfiler som, i motsetning til andre slike lastere, kjører som en server og kjører mottatte moduler i minnet. Som ordlyden antyder, fungerer en laster som et verktøy for å laste en nyttelast, eller den faktiske skadelige programvaren, på det allerede kompromitterte systemet. Den første Wslink-kompromissvektoren er ikke identifisert.
Den opprinnelig ukjente Wslink-nyttelasten ble lastet opp til VirusTotal fra Sør-Korea kort tid etter publiseringen av blogginnlegget vårt, og traff en av YARA-reglene våre basert på Wslinks unike navn WinorDLL64. Når det gjelder Wslink, har ESET-telemetri bare sett noen få deteksjoner – i Sentral-Europa, Nord-Amerika og Midtøsten.
De WinorDLL64 nyttelast fungerer som en bakdør som spesielt henter inn omfattende systeminformasjon, gir midler for filmanipulering, som eksfiltrering, overskriving og fjerning av filer, og utfører ytterligere kommandoer. Interessant nok kommuniserer den over en forbindelse som allerede var etablert av Wslink-lasteren.
I 2021 fant vi ingen data som tyder på at Wslink er et verktøy fra en kjent trusselaktør. Etter en omfattende analyse av nyttelasten har vi imidlertid tilskrevet WinorDLL64 til Lazarus APT-gruppen med lav selvtillit basert på målregionen og en overlapping i både atferd og kode med kjente Lazarus-prøver.
Denne beryktede Nord-Korea-tilpassede gruppen har vært aktiv siden minst 2009 og er ansvarlig for høyprofilerte hendelser som både Sony Pictures Entertainment hack og titalls millioner dollar cyberheister i 2016den WannaCryptor (aka WannaCry) utbrudd i 2017, og en lang historie med forstyrrende angrep mot Sørkoreansk offentlig og kritisk infrastruktur siden minst 2011. US-CERT og FBI kaller denne gruppen SKJULT KOBRA.
Basert på vår mye kunnskap av aktivitetene og driften til denne gruppen, mener vi at Lazarus består av et stort team som er systematisk organisert, godt forberedt og består av flere undergrupper som bruker et stort verktøysett. I fjor, vi oppdaget et Lasarus-verktøy som utnyttet CVE-2021-21551 sårbarhet for å målrette en ansatt i et luftfartsselskap i Nederland, og en politisk journalist i Belgia. Det var det første registrerte misbruket av sårbarheten; i kombinasjon førte verktøyet og sårbarheten til at overvåkingen av alle sikkerhetsløsninger på kompromitterte maskiner ble blendet. Vi ga også en omfattende beskrivelse av strukturen til den virtuelle maskinen brukt i prøver av Wslink.
Dette blogginnlegget forklarer tilskrivningen av WinorDLL64 til Lazarus og gir en analyse av nyttelasten.
Lenker til Lasarus
Vi har oppdaget overlapp i både atferd og kode med Lazarus-eksempler fra Operasjon GhostSecret og Bankshot implantat beskrevet av McAfee. Beskrivelsen av implantatene i både GhostSecret- og Bankshot-artikler inneholder overlapp i funksjonaliteten med WinorDLL64 og vi fant noe kodeoverlapping i prøvene. I dette blogginnlegget vil vi kun bruke FE887FCAB66D7D7F79F05E0266C0649F0114BA7C prøve fra GhostSecret for sammenligning mot WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), med mindre annet er spesifisert.
Følgende detaljer oppsummerer støttefakta for vår lave tillit til Lasarus:
1. Viktimologi
- Medforskere fra AhnLab bekreftet sørkoreanske ofre for Wslink i deres telemetri, som er en relevant indikator med tanke på de tradisjonelle Lazarus-målene og at vi kun har observert noen få treff.
2. malware
- Den siste GhostSecret-prøven rapportert av McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) er fra februar 2018; vi så den første prøven av Wslink i slutten av 2018, og andre forskere rapporterte treff i august 2018, som de avslørte etter publiseringen vår. Derfor ble disse prøvene oppdaget med relativt kort tid fra hverandre.
- De PE rike overskrifter indikerer at det samme utviklingsmiljøet og prosjekter av lignende størrelse ble brukt i flere andre kjente Lazarus-prøver (f.eks. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Vi fant denne overlappingen ved å bruke følgende regler som kun dekker disse Wslink- og Lazarus-prøvene, som er en indikator med lav vekt. Vi testet dem på VirusTotals retrojakt og vårt interne filkorpus.
rich_signature.length == 80 og
pe.rich_signature.toolid(175, 30319) == 7 og
pe.rich_signature.toolid(155, 30319) == 1 og
pe.rich_signature.toolid(158, 30319) == 10 og
pe.rich_signature.toolid(170, 30319) >= 90 og
pe.rich_signature.toolid(170, 30319) <= 108
Denne regelen kan oversettes til følgende notasjon som er mer lesbar og brukt av VirusTotal, hvor man kan se produktversjonen og bygge-IDen (VS2010 bygg 30319), antall og type kilde/objektfiler som er brukt ([LTCG C++] der LTCG står for Link Time Code Generation, [ASM], [C]), og antall eksporter ([EXP]) i regelen:
[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 bygge 30319 teller i [ 90 .. 108 ]
- GhostSecret-artikkelen beskrev "en unik datainnsamlings- og implantasjonsinstallasjonskomponent som lytter på port 443 for innkommende kontrollserverforbindelser" som i tillegg kjørte som en tjeneste. Dette er en nøyaktig beskrivelse av Wslink-nedlasterens atferd, bortsett fra portnummeret, som kan variere basert på konfigurasjonen. For å oppsummere, selv om implementeringen er forskjellig, tjener begge samme formål.
- Lasteren er virtualisert av Oreans' Code Virtualizer, som er en kommersiell beskytter som brukes ofte av Lasarus.
- Lasteren bruker Minnemodul bibliotek for å laste moduler direkte fra minnet. Biblioteket brukes ikke ofte av skadelig programvare, men det er ganske populært blant Nord-Korea-justerte grupper som Lazarus og Kimsuky.
- Overlapp i koden mellom WinorDLL64 og GhostSecret som vi fant under vår analyse. Resultatene og betydningen i attribusjon er oppført i tabell 1.
Tabell 1. Likheter mellom WinorDLL64 og GhostSecret og deres betydning for å tilskrive begge til samme trusselaktør
Andre likheter mellom WinorDLL64 og GhostSecret | Påvirkning |
---|---|
Kodeoverlapping i kode ansvarlig for å få prosessorarkitektur | Lav |
Kodeoverlapping i gjeldende katalogmanipulering | Lav |
Kode overlapper for å få prosesslisten | Lav |
Kodeoverlapping i filsending | Lav |
Atferd overlapper i listeprosesser | Lav |
Atferdsoverlapping i gjeldende katalogmanipulering | Lav |
Atferd overlapper i fil- og katalogoppføring | Lav |
Atferdsoverlapping i oppføringsvolumer | Lav |
Atferdsoverlapping i lesing/skriving av filer | Lav |
Atferd overlapper i å skape prosesser | Lav |
Betydelig atferd overlapper i sikker fjerning av filer | Lav |
Betydelig atferd overlapper hverandre ved avslutning av prosesser | Lav |
Betydelig atferd overlapper i innsamling av systeminformasjon | Lav |
Kodeoverlapping i filsendingsfunksjonaliteten er uthevet i figur 2 og figur 3.
Teknisk analyse
WinorDLL64 fungerer som en bakdør som mest bemerkelsesverdig innhenter omfattende systeminformasjon, gir midler for filmanipulering og utfører tilleggskommandoer. Interessant nok kommuniserer den over en TCP-forbindelse som allerede var etablert av lasteren og bruker noen av lasterens funksjoner.
Bakdøren er en DLL med en enkelt navngitt eksport som godtar én parameter – en struktur for kommunikasjon som allerede var beskrevet i vår forrige blogginnlegg. Strukturen inneholder en TLS-kontekst – socket, nøkkel, IV – og tilbakeringinger for å sende og motta meldinger kryptert med 256-bit AES-CBC som gjør at WinorDLL64 kan utveksle data sikkert med operatøren over en allerede etablert tilkobling.
Følgende fakta får oss til å tro med stor tillit at biblioteket faktisk er en del av Wslink:
- Den unike strukturen brukes overalt på den forventede måten, f.eks. leveres TLS-konteksten og andre meningsfulle parametere i forventet rekkefølge til riktig tilbakeringing.
- Navnet på DLL-en er WinorDLL64.dll og Wslinks navn var WinorLoaderDLL64.dll.
WinorDLL64 godtar flere kommandoer. Figur 5 viser løkken som mottar og håndterer kommandoer. Hver kommando er bundet til en unik ID og godtar en konfigurasjon som inneholder flere parametere.
Kommandolisten, med våre etiketter, er i figur 6.
Tabell 2 inneholder et sammendrag av WinorDLL64-kommandoene, der modifiserte og gamle kategorier refererer til forholdet til den tidligere dokumenterte GhostSecret-funksjonaliteten. Vi fremhever kun vesentlige endringer i den modifiserte kategorien.
Tabell 2. Oversikt over bakdørskommandoer
Kategori | Kommando ID | Funksjonalitet | Beskrivelse |
---|---|---|---|
Ny | 0x03 | Utfør en PowerShell-kommando | WinorDLL64 instruerer PowerShell-tolken til å kjøre ubegrenset og lese kommandoer fra standardinndata. Etterpå sender bakdøren den angitte kommandoen til tolken og sender utdata til operatøren. |
0x09 | Komprimer og last ned en katalog | WinorDLL64 itererer rekursivt over en spesifisert katalog. Innholdet i hver fil og katalog komprimeres separat og skrives til en midlertidig fil som etterpå sendes til operatøren og deretter fjernes på en sikker måte. | |
0x0D | Koble fra en økt | Kobler en spesifisert pålogget bruker fra brukerens Remote Desktop Services-økt. Kommandoen kan også utføre forskjellig funksjonalitet basert på parameteren. | |
0x0D | List opp økter | Innhenter ulike detaljer om alle økter på offerets enhet og sender dem til operatøren. Kommandoen kan også utføre forskjellig funksjonalitet basert på parameteren. | |
0x0E | Mål tilkoblingstiden | Bruker Windows API GetTickCount for å måle tiden som kreves for å koble til en spesifisert vert. | |
Modifisert | 0x01 | Få systeminformasjon | Skaffer seg omfattende detaljer om offerets system og sender dem til operatøren. |
0x0A | Fjern filer på en sikker måte | Overskriver spesifiserte filer med en blokk med tilfeldige data, gir nytt navn til hver fil til et tilfeldig navn og fjerner dem til slutt sikkert én etter én. | |
0x0C | Drep prosesser | Avslutter alle prosesser hvis navn samsvarer med et medfølgende mønster og/eller med en spesifikk PID. | |
Gammel | 0x02/0x0B | Lag en prosess | Oppretter en prosess enten som gjeldende eller spesifisert bruker og sender eventuelt utdata til operatøren. |
0x05 | Sett/hent gjeldende katalog | Forsøker å angi og deretter hente banen til gjeldende arbeidskatalog. | |
0x06 | Liste opp volumer | Itererer over stasjoner fra C: til Å: og henter stasjonstypen og volumnavnet. Kommandoen kan også utføre forskjellig funksjonalitet basert på parameteren. | |
0x06 | List filer i en katalog | Itererer over filer i spesifisert katalog og henter informasjon som navn, attributter osv. Kommandoen kan også utføre forskjellig funksjonalitet basert på parameteren. | |
0x07 | Skriv til en fil | Laster ned og legger til den oppgitte mengden data til spesifisert fil. | |
0x08 | Les fra en fil | Den angitte filen leses og sendes til operatøren. | |
0x0C | List opp prosesser | Skaffer seg detaljer om alle kjørende prosesser på offerets enhet og sender i tillegg ID for gjeldende prosess. |
konklusjonen
Wslinks nyttelast er dedikert til å gi midler for filmanipulering, utførelse av ytterligere kode og innhenting av omfattende informasjon om det underliggende systemet som muligens kan utnyttes senere for sideveis bevegelse, på grunn av spesifikk interesse for nettverksøkter. Wslink-lasteren lytter på en port spesifisert i konfigurasjonen og kan betjene flere tilkoblingsklienter, og til og med laste ulike nyttelaster.
WinorDLL64 inneholder en overlapping i utviklingsmiljøet, atferden og koden med flere Lazarus-eksempler, noe som indikerer at det kan være et verktøy fra det enorme arsenalet til denne Nord-Korea-justerte APT-gruppen.
IoCs
SHA-1 | ESET-deteksjonsnavn | Beskrivelse |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Minnedump av oppdaget Wslink-nyttelast WinorDll64. |
MITRE ATT&CK-teknikker
Dette bordet ble bygget vha versjon 12 av ATT&CK-rammeverket. Vi nevner ikke teknikker fra lasteren igjen, kun nyttelasten.
taktikk | ID | Navn | Beskrivelse |
---|---|---|---|
Ressursutvikling | T1587.001 | Utvikle evner: Skadelig programvare | WinorDLL64 er et tilpasset verktøy. |
Gjennomføring | T1059.001 | Kommando- og skripttolk: PowerShell | WinorDLL64 kan utføre vilkårlige PowerShell-kommandoer. |
T1106 | Innfødt API | WinorDLL64 kan utføre ytterligere prosesser ved å bruke CreateProcessW og CreateProcessAsUserW APIer. | |
Forsvarsunndragelse | T1134.002 | Access Token Manipulation: Lag prosess med Token | WinorDLL64 kan kalle APIer WTSQueryUserToken og CreateProcessAsUserW å opprette en prosess under en etterlignet bruker. |
T1070.004 | Indikatorfjerning: Filsletting | WinorDLL64 kan sikkert fjerne vilkårlige filer. | |
Discovery | T1087.001 | Kontooppdagelse: Lokal konto | WinorDLL64 kan telle opp økter og liste tilknyttede bruker- og klientnavn, blant andre detaljer. |
T1087.002 | Kontooppdagelse: Domenekonto | WinorDLL64 kan telle opp økter og liste tilknyttede domenenavn – blant andre detaljer. | |
T1083 | Fil- og katalogoppdagelse | WinorDLL64 kan få fil- og katalogoppføringer. | |
T1135 | Oppdagelse av nettverksdeling | WinorDLL64 kan oppdage delte nettverksstasjoner. | |
T1057 | Prosessoppdagelse | WinorDLL64 kan samle informasjon om kjørende prosesser. | |
T1012 | Spørringsregister | WinorDLL64 kan spørre Windows-registeret for å samle systeminformasjon. | |
T1082 | Oppdagelse av systeminformasjon | WinorDLL64 kan hente informasjon som datamaskinnavn, OS og siste oppdateringspakkeversjon, prosessorarkitektur, prosessornavn og mengde plass på faste stasjoner. | |
T1614 | Oppdagelse av systemplassering | WinorDLL64 kan få offerets standard landnavn ved å bruke GetLocaleInfoW API. | |
T1614.001 | System Location Discovery: System Language Discovery | WinorDLL64 kan hente offerets standardspråk ved å bruke GetLocaleInfoW API. | |
T1016 | Oppdagelse av systemnettverkskonfigurasjon | WinorDLL64 kan telle nettverkskortinformasjon. | |
T1049 | Oppdagelse av systemnettverkstilkoblinger | WinorDLL64 kan samle en liste over lytteporter. | |
T1033 | Systemeier/brukeroppdagelse | WinorDLL64 kan telle opp økter og liste tilknyttede bruker-, domene- og klientnavn – blant andre detaljer. | |
Samling | T1560.002 | Arkiver innsamlede data: Arkiver via bibliotek | WinorDLL64 kan komprimere og eksfiltrere kataloger ved hjelp av quicklz bibliotek. |
T1005 | Data fra lokalt system | WinorDLL64 kan samle inn data på offerets enhet. | |
Påvirkning | T1531 | Fjerning av kontotilgang | WinorDLL64 kan koble en pålogget bruker fra spesifiserte økter. |
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- Om oss
- misbruk
- godtar
- adgang
- nøyaktig
- erverve
- kjøper
- Aktiviteter
- Ytterligere
- I tillegg
- Fordel
- Aerospace
- Etter
- mot
- justert
- Alle
- allerede
- america
- blant
- beløp
- analyse
- og
- forventet
- hverandre
- api
- APIer
- APT
- arkitektur
- Arkiv
- Arsenal
- Artikkel
- artikler
- assosiert
- Angrep
- attributter
- August
- tilbake
- backdoor
- basert
- Belgia
- tro
- mellom
- Blokker
- bundet
- bygge
- bygget
- C + +
- ring
- evner
- kategorier
- Kategori
- sentral
- Sentraleuropa
- CGI
- Endringer
- CISA
- kunde
- klienter
- kode
- samle
- Samle
- kombinasjon
- kommersiell
- vanligvis
- Kommunikasjon
- Selskapet
- sammenligning
- komponent
- omfattende
- kompromiss
- kompromittert
- datamaskin
- selvtillit
- Konfigurasjon
- BEKREFTET
- Koble
- Tilkobling
- tilkobling
- Tilkoblinger
- vurderer
- inneholder
- innhold
- kontroll
- land
- dekke
- skape
- Opprette
- kritisk
- Gjeldende
- skikk
- dato
- dedikert
- Misligholde
- beskrevet
- beskrivelse
- desktop
- detaljer
- Utvikling
- enhet
- gJORDE
- forskjellig
- direkte
- kataloger
- oppdage
- oppdaget
- Funnet
- skjermer
- forstyrrende
- domene
- DOMENENAVN
- nedlasting
- stasjonen
- dumpe
- under
- hver enkelt
- øst
- enten
- Ansatt
- muliggjøre
- kryptert
- Entertainment
- Miljø
- etablert
- etc
- Europa
- Selv
- utveksling
- henrette
- Utfører
- gjennomføring
- forventet
- forklarer
- eksportere
- eksporten
- omfattende
- FBI
- Februar
- kar
- Noen få
- Figur
- filet
- Filer
- Endelig
- Finn
- Først
- fikset
- etter
- funnet
- Rammeverk
- fra
- funksjonalitet
- funksjoner
- videre
- generasjonen
- få
- få
- Gruppe
- Gruppens
- Håndterer
- Høy
- høy profil
- Uthev
- Fremhevet
- historie
- hit
- Hits
- vert
- Men
- HTTPS
- identifisert
- gjennomføring
- in
- indikerer
- indikerer
- Indikator
- beryktet
- informasjon
- innledende
- i utgangspunktet
- inngang
- Intelligens
- interesse
- intern
- IT
- journalist
- nøkkel
- kjent
- korea
- Koreansk
- etiketter
- Språk
- stor
- Siste
- I fjor
- Late
- siste
- Lazarus
- føre
- Led
- Lengde
- Bibliotek
- LINK
- Liste
- oppført
- Lytting
- oppføring
- oppføringer
- laste
- loader
- lokal
- plassering
- Lang
- Lav
- maskiner
- laget
- Hoved
- malware
- Manipulasjon
- Match
- max bredde
- Mcafee
- meningsfylt
- midler
- måle
- Minne
- meldinger
- Middle
- Midtøsten
- kunne
- modifisert
- Moduler
- overvåking
- mer
- mest
- bevegelse
- navn
- oppkalt
- navn
- Nederland
- nettverk
- nord
- nord amerika
- spesielt
- Antall
- få
- å skaffe seg
- Tilbud
- Gammel
- ONE
- Drift
- operatør
- rekkefølge
- Organisert
- OS
- Annen
- ellers
- utbrudd
- oversikt
- Pakk med deg
- parameter
- parametere
- del
- passerer
- banen
- Mønster
- utføre
- perioden
- Bilder
- plato
- Platon Data Intelligence
- PlatonData
- politisk
- Populær
- porter
- PowerShell
- forberedt
- tidligere
- privat
- prosess
- Prosesser
- prosessor
- Produkt
- prosjekter
- forutsatt
- gir
- gi
- offentlig
- Utgivelse
- formål
- tilfeldig
- Lese
- mottatt
- mottar
- mottak
- registrert
- om
- region
- registret
- forholdet
- relativt
- relevant
- fjernkontroll
- fjerning
- fjerne
- fjernet
- fjerne
- rapportert
- Rapporter
- påkrevd
- forskning
- forsker
- forskere
- ansvarlig
- Resultater
- Rich
- Regel
- regler
- Kjør
- rennende
- samme
- sikre
- sikkert
- sikkerhet
- sending
- hver for seg
- betjene
- serverer
- tjeneste
- Tjenester
- Session
- sesjoner
- sett
- flere
- Del
- delt
- Kort
- Om kort tid
- betydning
- signifikant
- lignende
- likheter
- siden
- enkelt
- Størrelse
- Solutions
- noen
- Sør
- Sør-Korea
- Sør Korea
- Rom
- spesifikk
- spesifisert
- Standard
- står
- uttalte
- struktur
- I ettertid
- slik
- foreslår
- oppsummere
- SAMMENDRAG
- medfølgende
- Støtte
- system
- bord
- Target
- målrettet
- mål
- lag
- teknikker
- midlertidig
- De
- Nederland
- deres
- trussel
- tid
- til
- token
- verktøy
- tradisjonelle
- etter
- underliggende
- unik
- UNAVNT
- lastet opp
- us
- bruke
- Bruker
- bruke
- ulike
- enorme
- versjon
- av
- Offer
- ofre
- virtuelle
- visualisering
- volum
- sårbarhet
- vekt
- hvilken
- bred
- vil
- vinduer
- ordlyden
- arbeid
- ville
- skrevet
- år
- zephyrnet