ESET-forskere giver en analyse af et angreb udført af en tidligere uoplyst Kina-tilpasset trusselsaktør, som vi har navngivet Blackwood, og som vi mener har været i drift siden mindst 2018. Angriberne leverer et sofistikeret implantat, som vi kaldte NSPX30, gennem modstanderen -in-the-middle (AitM) angreb, der kaprer opdateringsanmodninger fra legitim software.
Nøglepunkter i dette blogindlæg:
- Vi opdagede, at NSPX30-implantatet blev implementeret via opdateringsmekanismerne for legitim software såsom Tencent QQ, WPS Office og Sogou Pinyin.
- Vi har opdaget implantatet i målrettede angreb mod kinesiske og japanske virksomheder samt mod enkeltpersoner i Kina, Japan og Storbritannien.
- Vores forskning sporede udviklingen af NSPX30 tilbage til en lille bagdør fra 2005, som vi har kaldt Project Wood, designet til at indsamle data fra dets ofre.
- NSPX30 er et flertrinsimplantat, der omfatter adskillige komponenter, såsom en dropper, en installatør, læssere, en orkestrator og en bagdør. Begge de to sidstnævnte har deres egne sæt plugins.
- Implantatet blev designet omkring angribernes evne til at udføre pakkeaflytning, hvilket gør det muligt for NSPX30-operatører at skjule deres infrastruktur.
- NSPX30 er også i stand til at godkende sig selv i flere kinesiske antimalware-løsninger.
- Vi tilskriver denne aktivitet en ny APT-gruppe, som vi har kaldt Blackwood.
Blackwood profil
Blackwood er en Kina-tilpasset APT-gruppe, der har været aktiv siden mindst 2018 og engageret sig i cyberspionageoperationer mod kinesiske og japanske enkeltpersoner og virksomheder. Blackwood har evner til at udføre modstander-i-midten-angreb for at levere det implantat, vi kaldte NSPX30, gennem opdateringer af legitim software, og til at skjule placeringen af dets kommando- og kontrolservere ved at opsnappe trafik genereret af implantatet.
Kampagneoversigt
I 2020 blev en bølge af ondsindet aktivitet opdaget på et målrettet system placeret i Kina. Maskinen var blevet, hvad vi almindeligvis omtaler som en "trusselsmagnet", da vi opdagede forsøg fra angribere på at bruge malware-værktøjssæt forbundet med forskellige APT-grupper: Undvigende Panda, LuoYu, og en tredje trusselskuespiller, vi sporer som LittleBear.
På det system opdagede vi også mistænkelige filer, der ikke tilhørte værktøjssættene i disse tre grupper. Dette fik os til at starte en undersøgelse af et implantat, vi kaldte NSPX30; vi var i stand til at spore dens udvikling helt tilbage til 2005.
Ifølge ESET-telemetri blev implantatet detekteret på et lille antal systemer. Ofrene omfatter:
- uidentificerede personer beliggende i Kina og Japan,
- en uidentificeret kinesisk-talende person, der er forbundet til netværket af et højt profileret offentligt forskningsuniversitet i Det Forenede Kongerige,
- en stor produktions- og handelsvirksomhed i Kina, og
- kontoret i Kina for en japansk virksomhed inden for ingeniør- og fremstillingsbranchen.
Vi har også observeret, at angriberne forsøger at kompromittere systemer igen, hvis adgangen går tabt.
Figur 1 er en geografisk fordeling af Blackwoods mål ifølge ESET telemetri.
NSPX30 evolution
Under vores forskning i NSPX30-implantatet kortlagde vi dets udvikling tilbage til en tidlig forfader – en simpel bagdør, vi har kaldt Project Wood. Den ældste prøve af Project Wood, vi kunne finde, blev kompileret i 2005, og den ser ud til at være blevet brugt som kodebase til at skabe flere implantater. Et sådant implantat, som NSPX30 udviklede sig fra, blev navngivet DCM af dets forfattere i 2008.
Figur 2 illustrerer en tidslinje for disse udviklinger baseret på vores analyse af prøver i vores samling og ESET-telemetri samt offentlig dokumentation. De hændelser og data, der er dokumenteret her, er dog stadig et ufuldstændigt billede af næsten to årtiers udvikling og ondsindet aktivitet fra et ukendt antal trusselsaktører.
I de følgende afsnit beskriver vi nogle af vores resultater vedrørende Project Wood, DCM og NSPX30.
Projekt træ
Udgangspunktet i udviklingen af disse implantater er en lille bagdør udarbejdet den 9. januarth, 2005, i henhold til tidsstemplerne i PE-headeren af dens to komponenter - læsseren og bagdøren. Sidstnævnte har kapacitet til at indsamle system- og netværksinformation samt til at optage tastetryk og tage skærmbilleder.
Vi navngav bagdøren Project Wood, baseret på et tilbagevendende mutex-navn, som vist i figur 3.
Kompileringstidsstempler er upålidelige indikatorer, da de kan manipuleres af angribere; derfor overvejede vi i dette specifikke tilfælde yderligere datapunkter. Først tidsstemplerne fra PE-headeren på læsseren og bagdørsprøverne; se tabel 1. Der er kun en forskel på 17 sekunder i kompileringstiden for begge komponenter.
Tabel 1. PE kompileringstidsstempler i komponenter fra 2005 prøven
SHA-1 |
Filnavn |
PE kompileringstidsstempel |
Beskrivelse |
9A1B575BCA0DC969B134 |
MainFuncOften.dll |
2005-01-09 08:21:22 |
Projekt Wood bagdør. Tidsstemplet fra eksporttabellen matcher PE kompileringstidsstemplet. |
834EAB42383E171DD6A4 |
N / A |
2005-01-09 08:21:39 |
Project Wood-læsseren indeholder bagdøren indlejret som en ressource. |
Det andet datapunkt kommer fra pipetteprøven, der blev komprimeret vha UPX. Dette værktøj indsætter sin version (figur 4) i den resulterende komprimerede fil – i dette tilfælde UPX version 1.24, som var udgivet i 2003, før prøvens kompileringsdato.
Det tredje datapunkt er de gyldige metadata fra PE Rich Headers (figur 5), som indikerer, at prøven blev kompileret ved hjælp af Visual Studio 6.0, udgivet i 1998, før prøvens kompileringsdato.
Vi vurderer, at det er usandsynligt, at tidsstempler, Rich Headers-metadata og UPX-version alle blev manipuleret af angriberne.
Offentlig dokumentation
Ifølge en teknisk papir offentliggjort af SANS Institute i september 2011, blev en unavngiven og ikke-tilskrevet bagdør (Project Wood) brugt til at målrette mod en politisk person fra Hong Kong via spearphishing-e-mails.
I oktober 2014 offentliggjorde G DATA en indberette af en kampagne, den kaldte Operation TooHash, som siden er blevet tilskrevet gelsemium APT gruppe. Rootkittet G DATA ved navn DirectsX indlæser en variant af Project Wood-bagdøren (se figur 6) med nogle funktioner set i DCM og senere i NSPX30, såsom tilladelsesliste i cybersikkerhedsprodukter (detaljeret senere i tabel 4).
DCM alias Dark Spectre
Det tidlige Project Wood fungerede som en kodebase for flere projekter; et af dem er et implantat kaldet DCM (se figur 7) af dets forfattere.
Rapporten fra Tencent i 2016 beskriver en mere udviklet DCM-variant, der er afhængig af angribernes AitM-kapacitet til at kompromittere sine ofre ved at levere DCM-installationsprogrammet som en softwareopdatering og til at eksfiltrere data via DNS-anmodninger til legitime servere. Sidste gang vi observerede DCM brugt i et angreb var i 2018.
Offentlig dokumentation
DCM blev først dokumenteret af det kinesiske firma Jiangmin i 2012, selvom det blev efterladt unavngivet på det tidspunkt, og senere blev navngivet Dark Spectre af Tencent i 2016.
NSPX30
Den ældste prøve af NSPX30, som vi har fundet, blev samlet den 6. junith, 2018. NSPX30 har en anden komponentkonfiguration end DCM, fordi dens drift er blevet opdelt i to faser, der fuldt ud stoler på angriberens AitM-kapacitet. DCM's kode blev opdelt i mindre komponenter.
Vi opkaldte implantatet efter PDB-stier fundet i plugin-prøver:
- Z:Workspacemm32NSPX30Pluginspluginb001.pdb
- Z:WorkspaceCodeMMX30ProtrunkMMPluginshookdllReleasehookdll.pdb
Vi mener, at NSP refererer til dens persistensteknik: den persistente loader DLL, som på disken hedder msnsp.dll, er internt navngivet mynsp.dll (ifølge eksporttabellens data), sandsynligvis fordi den er installeret som en Winsock namestempo provider (NSP).
Endelig, så vidt vi ved, er NSPX30 ikke blevet offentligt dokumenteret før denne publikation.
Teknisk analyse
Ved hjælp af ESET-telemetri har vi fastslået, at maskiner er kompromitteret, når legitim software forsøger at downloade opdateringer fra legitime servere ved hjælp af den (ukrypterede) HTTP-protokol. Kaprede softwareopdateringer inkluderer dem til populær kinesisk software såsom Tencent QQ, Sogou Pinyin og WPS Office.
En illustration af udførelseskæden som set i ESET-telemetri er vist i figur 8.
I tabel 2 giver vi et eksempel på en URL og den IP-adresse, som domænet blev løst til på brugerens system på det tidspunkt, hvor overførslen fandt sted.
Tabel 2. En observeret URL, server IP-adresse og procesnavn for en legitim downloader-komponent
URL |
Først set |
IP-adresse |
ASN |
Downloader |
http://dl_dir.qq[.]com/ |
2021-10-17 |
183.134.93[.]171 |
AS58461 (KINANET) |
Tencentdl.exe |
Ifølge ESET-telemetri og passiv DNS-information er de IP-adresser, der blev observeret i andre tilfælde, forbundet med domæner fra legitime softwarevirksomheder; vi har registreret op til millioner af forbindelser på nogle af dem, og vi har set legitime softwarekomponenter blive downloadet fra disse IP-adresser.
Netværksimplantathypotese
Hvordan angriberne præcist er i stand til at levere NSPX30 som ondsindede opdateringer, er stadig ukendt for os, da vi endnu ikke har fundet værktøjet, der gør angriberne i stand til at kompromittere deres mål indledningsvis.
Baseret på vores egne erfaringer med Kina-tilpassede trusselsaktører, der udviser disse evner (Undvigende Panda , Troldmændene), samt nyere forskning om routerimplantater tilskrevet BlackTech , Camaro Dragon (Aka Mustang Panda), spekulerer vi i, at angriberne implementerer et netværksimplantat i ofrenes netværk, muligvis på sårbare netværksapparater såsom routere eller gateways.
Det faktum, at vi ikke fandt nogen indikationer på trafikomdirigering via DNS, kan tyde på, at når det anslåede netværksimplantat opsnapper ukrypteret HTTP-trafik relateret til opdateringer, svarer det med NSPX30-implantatets dropper i form af en DLL, en eksekverbar fil eller et ZIP-arkiv indeholdende DLL.
Tidligere nævnte vi, at NSPX30-implantatet bruger angribernes evne til at aflytte pakker for at anonymisere sin C&C-infrastruktur. I de følgende underafsnit vil vi beskrive, hvordan de gør dette.
HTTP aflytning
For at downloade bagdøren udfører orkestratoren en HTTP-anmodning (figur 9) til Baidu's hjemmeside – en legitim kinesisk søgemaskine og softwareudbyder – med en ejendommelig User-Agent forklædt som Internet Explorer på Windows 98. Svaret fra serveren gemmes i en fil, hvorfra bagdørskomponenten udpakkes og indlæses i hukommelsen.
Request-URI er brugerdefineret og inkluderer information fra orkestratoren og det kompromitterede system. I ikke-opsnappede anmodninger returnerer udstedelse af en sådan anmodning til den legitime server en 404-fejlkode. En lignende procedure bruges af bagdøren til at downloade plugins, ved hjælp af en lidt anderledes Request-URI.
Netværksimplantatet skulle simpelthen lede efter HTTP GET-anmodninger til www.baidu.com med den særlige gamle User-Agent og analysere Request-URI for at bestemme hvilken nyttelast der skal sendes.
UDP aflytning
Under initialiseringen skaber bagdøren et passivt UDP-lyttestik og lader operativsystemet tildele porten. Der kan være komplikationer for angribere, der bruger passive bagdøre: for eksempel hvis firewalls eller routere, der bruger NAT, forhindrer indgående kommunikation uden for netværket. Derudover skal implantatets controller kende den nøjagtige IP-adresse og port på den kompromitterede maskine for at kontakte bagdøren.
Vi mener, at angriberne løste sidstnævnte problem ved at bruge den samme port, som bagdøren lytter efter kommandoer på, for også at eksfiltrere de indsamlede data, så netværksimplantatet ved præcis, hvor det skal videresende pakkerne. Dataeksfiltreringsproceduren begynder som standard, efter at socket er blevet oprettet, og den består af DNS-forespørgsler til microsoft.com domæne; de indsamlede data føjes til DNS-pakken. Figur 10 viser en opsamling af den første DNS-forespørgsel sendt af bagdøren.
Den første DNS-forespørgsel sendes til 180.76.76[.]11:53 (en server, der i skrivende stund ikke eksponerer nogen DNS-tjeneste) og for hver af følgende forespørgsler ændres destinations-IP-adressen til den efterfølgende adresse, som vist i figur 11.
180.76.76.0/24 netværk ejes af Baidu, og interessant nok afslører nogle af serverne på disse IP-adresser DNS-tjenester, som f.eks. 180.76.76.76, som er Baidu's offentlig DNS-tjeneste.
Vi mener, at når DNS-forespørgselspakkerne opsnappes, videresender netværksimplantatet dem til angriberens server. Implantatet kan nemt filtrere pakkerne ved at kombinere flere værdier for at skabe et fingeraftryk, for eksempel:
- destinations IP-adresse
- UDP-port (vi observerede 53, 4499og 8000),
- transaktions-id for matchende DNS-forespørgsel 0xFEAD,
- domænenavn, og
- DNS-forespørgsel med ekstra data tilføjet.
Afsluttende tanker
Brug af angribernes AitM-kapacitet til at opsnappe pakker er en smart måde at skjule placeringen af deres C&C-infrastruktur. Vi har observeret ofre placeret uden for Kina – det vil sige i Japan og Storbritannien – som orkestratoren var i stand til at udsætte bagdøren imod. Angriberne sendte derefter kommandoer til bagdøren for at downloade plugins; for eksempel modtog offeret fra Storbritannien to plugins designet til at indsamle information og chats fra Tencent QQ. Derfor ved vi, at AitM-systemet var på plads og virkede, og vi må antage, at eksfiltrationsmekanismen også var det.
Nogle af serverne – for eksempel i 180.76.76.0/24 netværk – synes at være anycasted, hvilket betyder, at der kan være flere servere geolokaliseret rundt om i verden for at svare på (legitime) indkommende anmodninger. Dette tyder på, at netværksaflytning sandsynligvis udføres tættere på målene i stedet for tættere på Baidus netværk. Aflytning fra en kinesisk internetudbyder er også usandsynlig, fordi Baidu har en del af sin netværksinfrastruktur uden for Kina, så ofre uden for Kina må ikke gå gennem nogen kinesiske internetudbydere for at nå Baidu-tjenester.
NSPX30
I de følgende afsnit vil vi beskrive de vigtigste stadier i udførelsen af malwaren.
Stage 1
Figur 12 illustrerer udførelseskæden, når den legitime komponent indlæser en ondsindet dropper-DLL, der opretter flere filer på disken.
Dropperen udfører RsStub.exe, en legitim softwarekomponent i det kinesiske antimalware-produkt Rising Antivirus, som misbruges til at sideindlæse det ondsindede comx3.dll.
Figur 13 illustrerer de vigtigste trin, der er taget under udførelsen af denne komponent.
Hvornår RsStub.exe opkald ExitProcess, udføres loader-funktionen fra shell-koden i stedet for den legitime API-funktionskode.
Indlæseren dekrypterer installations-DLL'en fra filen comx3.dll.txt; shell-koden indlæser derefter installations-DLL'en i hukommelsen og kalder dens indgangspunkt.
Installations-DLL
Installationsprogrammet bruger UAC bypass-teknikker taget fra open source-implementeringer til at skabe en ny forhøjet proces. Hvilken den bruger afhænger af flere forhold, som det ses i tabel 3.
Tabel 3. Hovedbetingelse og respektive underbetingelser, der skal være opfyldt for at anvende en UAC bypass-teknik
Betingelserne bekræfter tilstedeværelsen af to processer: det tror vi avp.exe er en komponent i Kasperskys antimalware-software, og rstray.exe en del af Rising Antivirus.
Installationsprogrammet forsøger at deaktivere indsendelse af eksempler fra Windows Defender og tilføjer en ekskluderingsregel for loader-DLL'en msnsp.dll. Det gør det ved at udføre to PowerShell-kommandoer gennem cmd.exe:
- cmd /c powershell -inputformat ingen -outputformat ingen -Ikkeinteraktiv -Kommandosæt-MpPreference -SubmitSamplesConsent 0
- cmd /c powershell -inputformat ingen -outputformat ingen -Ikkeinteraktiv -Command Add-MpPreference -ExclusionPath "C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll"
Installationsprogrammet dropper derefter den vedvarende loader-DLL til C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll og etablerer persistens for det ved hjælp af API WSCInstallNameSpace for at installere DLL'en som en Winsock navneområde udbyder som hedder msnsp, som vist i figur 14.
Som et resultat heraf vil DLL'en blive indlæst automatisk, når en proces bruger Winsock.
Til sidst dropper installationsprogrammet loader-DLL'en mshlp.dll og den krypterede orkestrator-DLL WIN.cfg til C: ProgramDataWindows.
Stage 2
Denne fase begynder med udførelsen af msnsp.dll. Figur 15 illustrerer læssekæden i trin 2.
Orchestrator
Figur 16 illustrerer de vigtigste opgaver, som orkestratoren udfører, hvilket inkluderer at hente bagdøren og indlæse plugins.
Når den er indlæst, opretter orkestratoren to tråde for at udføre sine opgaver.
Orchestrator tråd 1
Orkestratoren sletter den originale dropper-fil fra disken og forsøger at indlæse bagdøren fra msfmtkl.dat. Hvis filen ikke eksisterer eller ikke kan åbnes, bruger orkestratoren Windows Internet API'er til at åbne en forbindelse til den legitime hjemmeside for det kinesiske firma Baidu som forklaret tidligere.
Svaret fra serveren gemmes i en midlertidig fil underlagt en valideringsprocedure; hvis alle betingelser er opfyldt, skrives den krypterede nyttelast, der er inde i filen til en ny fil og omdøbes til msfmtkl.dat.
Efter at den nye fil er oprettet med den krypterede nyttelast, læser orkestratoren dens indhold og dekrypterer nyttelasten ved hjælp af RC4. Den resulterende PE indlæses i hukommelsen, og dens indgangspunkt udføres.
Orchestrator tråd 2
Afhængigt af navnet på den aktuelle proces, udfører orkestratoren adskillige handlinger, herunder indlæsning af plugins og tilføjelse af undtagelser for at godkende loader-DLL'erne i de lokale databaser for tre antimalware-softwareprodukter af kinesisk oprindelse.
Tabel 4 beskriver de handlinger, der udføres, når procesnavnet matcher navnet på en sikkerhedssoftwarepakke, hvor orkestratoren kan godkende sine indlæsere.
Tabel 4. Orchestrator-handlinger ved udførelse i en proces med navnet på specifik sikkerhedssoftware
Proces navn |
Målrettet software |
Handling |
qqpcmgr.exe qqpctray.exe qqpcrtp.exe |
Forsøg på at indlæse den legitime DLL TAVinterface.dll for at bruge den eksporterede funktion CreateTaveInstance for at få en grænseflade. Når en anden funktion kaldes fra grænsefladen, sender den en filsti som en parameter. |
|
360safe.exe 360tray.exe |
Forsøg på at indlæse den legitime DLL deepscancloudcom2.dll for at bruge de eksporterede funktioner XDOåben, XDAddRecordsExog XDCluk, tilføjer den en ny post i SQL-databasefilen speedmem2.hg. |
|
360sd.exe |
Forsøg på at åbne filen sl2.db to tilføjer en base64-kodet binær struktur, der indeholder stien til loader-DLL'en. |
|
kxescore.exe kxetray.exe |
Forsøg på at indlæse den legitime DLL securitykxescankhistory.dll for at bruge den eksporterede funktion KSDllGetClassObject for at få en grænseflade. Når den kalder en af funktionerne fra vtabellen, sender den en filsti som en parameter. |
Tabel 5 beskriver de handlinger, der udføres, når procesnavnet matcher det for udvalgt onlinemeddelelsessoftware. I disse tilfælde indlæser orkestratoren plugins fra disken.
Tabel 5. Okestrator-handlinger ved udførelse i en proces med navnet på specifik onlinemeddelelsessoftware
Proces navn |
Målrettet software |
Handling |
qq.exe |
Forsøg på at oprette en mutex navngivet FÅ QQ MEDDELELSESLÅS. Hvis mutex'et ikke allerede eksisterer, indlæser det plugins c001.dat, c002.datog c003.dat fra disken. |
|
wechat.exe |
Indlæser plugin c006.dat. |
|
telegram.exe |
Indlæser plugin c007.dat. |
|
skype.exe |
Indlæser plugin c003.dat. |
|
cc.exe |
Ukendt; eventuelt Cloudchat. |
|
raidcall.exe |
||
yy.exe |
Ukendt; eventuelt en ansøgning fra YY sociale netværk. |
|
aliim.exe |
Indlæser plugin c005.dat. |
Efter at have gennemført de tilsvarende handlinger, vender tråden tilbage.
Plugins gruppe "c"
Fra vores analyse af orkestratorkoden forstår vi, at mindst seks plugins fra "c"-gruppen kan eksistere, hvoraf kun tre er kendt af os på nuværende tidspunkt.
Tabel 6 beskriver den grundlæggende funktionalitet af de identificerede plugins.
Tabel 6. Beskrivelse af plugins fra gruppe "c"
Plugin navn |
Beskrivelse |
c001.dat |
Stjæler information fra QQ-databaser, herunder legitimationsoplysninger, chatlogs, kontaktlister og mere. |
c002.dat |
Hooks flere funktioner fra Tencent QQ's KernelUtil.dll , Common.dll i hukommelsen til QQ.exe proces, der muliggør aflytning af direkte og gruppemeddelelser og SQL-forespørgsler til databaser. |
c003.dat |
Hooks flere API'er: - CoCreateInstance - waveInOpen - bølgeInClose - waveInAddBuffer - waveOutOpen - waveOutWrite - waveOutClose Dette gør plugin'et i stand til at opsnappe lydsamtaler i flere processer. |
Backdoor
Vi har allerede delt flere detaljer om det grundlæggende formål med bagdøren: at kommunikere med dens controller og eksfiltrere indsamlede data. Kommunikation med controlleren er for det meste baseret på at skrive plugin-konfigurationsdata til en ukrypteret fil med navnet licens.dat, og påkalder funktionalitet fra indlæste plugins. Tabel 7 beskriver de mest relevante kommandoer, der håndteres af bagdøren.
Tabel 7. Beskrivelse af nogle af de kommandoer, der håndteres af bagdøren
Kommando ID |
Beskrivelse |
0x04 |
Opretter eller lukker en omvendt skal og håndterer input og output. |
0x17 |
Flytter en fil med stier leveret af controlleren. |
0x1C |
Afinstallerer implantatet. |
0x1E |
Indsamler filoplysninger fra en specificeret mappe eller indsamler drevoplysninger. |
0x28 |
Afslutter en proces med en PID givet af controlleren. |
Plugin-grupperne "a" og "b"
Bagdørskomponenten indeholder sine egne indlejrede plugin-DLL'er (se tabel 8), som er skrevet til disk og giver bagdøren dens grundlæggende spionage- og informationsindsamlingsmuligheder.
Tabel 8. Beskrivelser af plugin-grupperne "a" og "b" indlejret i bagdøren
Plugin navn |
Beskrivelse |
a010.dat |
Indsamler oplysninger om installeret software fra registreringsdatabasen. |
b010.dat |
Tager skærmbilleder. |
b011.dat |
Grundlæggende keylogger. |
Konklusion
Vi har analyseret angreb og kapaciteter fra en trusselsaktør, som vi har navngivet Blackwood, som har udført cyberspionageoperationer mod enkeltpersoner og virksomheder fra Kina, Japan og Storbritannien. Vi kortlagde udviklingen af NSPX30, det tilpassede implantat, der blev implementeret af Blackwood, helt tilbage til 2005 til en lille bagdør, vi har kaldt Project Wood.
Interessant nok ser Project Wood-implantatet fra 2005 ud til at være et værk af udviklere med erfaring i malware-udvikling, givet de implementerede teknikker, hvilket får os til at tro, at vi endnu ikke har opdaget mere om historien bag den oprindelige bagdør.
For eventuelle forespørgsler om vores forskning offentliggjort på WeLiveSecurity, bedes du kontakte os på threatintel@eset.com.
ESET Research tilbyder private APT-efterretningsrapporter og datafeeds. For eventuelle forespørgsler om denne service, besøg ESET Threat Intelligence .
IOCs
Filer
SHA-1 |
Filnavn |
ESET-detekteringsnavn |
Beskrivelse |
625BEF5BD68F75624887D732538B7B01E3507234 |
minibrowser_shell.dll |
Win32/Agent.AFYI |
NSPX30 indledende dropper. |
43622B9573413E17985B3A95CBE18CFE01FADF42 |
comx3.dll |
Win32/Agent.AFYH |
Loader til installatøren. |
240055AA125BD31BF5BA23D6C30133C5121147A5 |
msnsp.dll |
Win32/Agent.AFYH |
Vedholdende læsser. |
308616371B9FF5830DFFC740318FD6BA4260D032 |
mshlp.dll |
Win32/Agent.AFYH |
Loader til orkestratoren. |
796D05F299F11F1D78FBBB3F6E1F497BC3325164 |
comx3.dll.txt |
Win32/TrojanDropper.Agent.SWR |
Dekrypteret installationsprogram. |
82295E138E89F37DD0E51B1723775CBE33D26475 |
WIN.cfg |
Win32/Agent.AFYI |
Dekrypteret orkestrator. |
44F50A81DEBF68F4183EAEBC08A2A4CD6033DD91 |
msfmtkl.dat |
Win32/Agent.VKT |
Dekrypteret bagdør. |
DB6AEC90367203CAAC9D9321FDE2A7F2FE2A0FB6 |
c001.dat |
Win32/Agent.AFYI |
Legitimationsoplysninger og plugin til datatyveri. |
9D74FE1862AABAE67F9F2127E32B6EFA1BC592E9 |
c002.dat |
Win32/Agent.AFYI |
Tencent QQ-plugin til aflytning af meddelelser. |
8296A8E41272767D80DF694152B9C26B607D26EE |
c003.dat |
Win32/Agent.AFYI |
Plugin til lydoptagelse. |
8936BD9A615DD859E868448CABCD2C6A72888952 |
a010.dat |
Win32/Agent.VKT |
Informationsindsamler plugin. |
AF85D79BC16B691F842964938C9619FFD1810C30 |
b011.dat |
Win32/Agent.VKT |
Keylogger plugin. |
ACD6CD486A260F84584C9FF7409331C65D4A2F4A |
b010.dat |
Win32/Agent.VKT |
Skærmoptagelse plugin. |
Netværk
IP |
Domæne |
Hosting udbyder |
Først set |
Detaljer |
104.193.88[.]123 |
www.baidu[.]com |
Beijing Baidu Netcom Science and Technology Co., Ltd. |
2017-08-04 |
Legitime websted kontaktet af orkestratoren og bagdørskomponenter for at downloade nyttelast. HTTP GET-anmodningen opfanges af AitM. |
183.134.93[.]171 |
dl_dir.qq[.]com |
IRT-CHINANET-ZJ |
2021-10-17 |
En del af URL'en, hvorfra dropperen blev downloadet af legitim software. |
MITRE ATT&CK teknikker
Dette bord er bygget vha udgave 14 i MITRE ATT&CK-rammebestemmelserne.
Taktik |
ID |
Navn |
Beskrivelse |
Ressourceudvikling |
Udvikle muligheder: Malware |
Blackwood brugte et tilpasset implantat kaldet NSPX30. |
|
Indledende adgang |
Supply Chain Kompromis |
NSPX30's dropper-komponent leveres, når legitime anmodninger om softwareopdatering opsnappes via AitM. |
|
Udførelse |
Kommando- og scriptfortolker: PowerShell |
NSPX30's installationskomponent bruger PowerShell til at deaktivere Windows Defenders eksempelindsendelse og tilføjer en udelukkelse for en indlæserkomponent. |
|
Kommando- og scriptfortolker: Windows Command Shell |
NSPX30's installationsprogram kan bruge cmd.exe når du forsøger at omgå UAC. NSPX30's bagdør kan skabe en omvendt skal. |
||
Kommando- og scriptfortolker: Visual Basic |
NSPX30's installationsprogram kan bruge VBScript, når det forsøger at omgå UAC. |
||
Native API |
NSPX30's installatør og bagdørsbrug CreateProcessA/W API'er til at udføre komponenter. |
||
Vedholdenhed |
Kapringsudførelsesflow |
NSPX30's loader indlæses automatisk i en proces, når Winsock startes. |
|
Privilegie-eskalering |
Hændelsesudløst udførelse |
NSPX30's installationsprogram ændrer registreringsdatabasen for at ændre en medieknapnøgleværdi (APPCOMMAND_LAUNCH_APP2) for at pege på dens eksekverbare loader. |
|
Misbrugshøjdekontrolmekanisme: Omgå brugerkontokontrol |
NSPX30's installationsprogram bruger tre teknikker til at forsøge at omgå UAC. |
||
Forsvarsunddragelse |
Deobfuscate/Decode Files eller Information |
NSPX30's installationsprogram, orkestrator, bagdør og konfigurationsfiler dekrypteres med RC4 eller kombinationer af bitvise og aritmetiske instruktioner. |
|
Forringelse af forsvar: Deaktiver eller rediger værktøjer |
NSPX30's installationsprogram deaktiverer Windows Defenders eksempelindsendelse og tilføjer en udelukkelse for en indlæserkomponent. NSPX30's orkestrator kan ændre databaserne for sikkerhedssoftware for at tillade dens loader-komponenter. Målrettet software inkluderer: Tencent PC Manager, 360 Safeguard, 360 Antivirus og Kingsoft AntiVirus. |
||
Indikatorfjernelse: Filsletning |
NSPX30 kan fjerne sine filer. |
||
Indikatorfjernelse: Klar persistens |
NSPX30 kan fjerne dens vedholdenhed. |
||
Indirekte kommandoudførelse |
NSPX30's installationsprogram udfører PowerShell gennem Windows' Command Shell. |
||
Masquerading: Match legitimt navn eller sted |
NSPX30s komponenter er gemt i den legitime mappe %PROGRAMDATA%Intel. |
||
Rediger registreringsdatabasen |
NSPX30's installationsprogram kan ændre registreringsdatabasen, når du forsøger at omgå UAC. |
||
Uklare filer eller oplysninger |
NSPX30's komponenter gemmes krypteret på disken. |
||
Uklare filer eller oplysninger: Indlejrede nyttelaster |
NSPX30's dropper indeholder indlejrede komponenter. NSPX30's loader indeholder indlejret shellkode. |
||
System binær proxy-udførelse: Rundll32 |
NSPX30's installationsprogram kan indlæses igennem rundll32.exe. |
||
Adgang til legitimationsoplysninger |
Modstander-i-midten |
NSPX30-implantatet leveres til ofrene gennem AitM-angreb. |
|
Oplysninger fra adgangskodebutikker |
NSPX30 plugin c001.dat kan stjæle legitimationsoplysninger fra Tencent QQ-databaser. |
||
Discovery |
Opdagelse af filer og mapper |
NSPX30's bagdør og plugins kan vise filer. |
|
Forespørgselsregister |
NSPX30 a010.dat plugin indsamler forskellige oplysninger om installeret software fra registreringsdatabasen. |
||
Softwareopdagelse |
NSPX30 a010.dat plugin indsamler oplysninger fra registreringsdatabasen. |
||
Opdagelse af systemoplysninger |
NSPX30's bagdør indsamler systemoplysninger. |
||
Opdagelse af systemnetværkskonfiguration |
NSPX30's bagdør indsamler forskellige netværksadapteroplysninger. |
||
Opdagelse af systemnetværksforbindelser |
NSPX30's bagdør indsamler netværksadapteroplysninger. |
||
Systemejer/brugeropdagelse |
NSPX30's bagdør indsamler system- og brugeroplysninger. |
||
Samling |
Input Capture: Keylogging |
NSPX30 plugin b011.dat er en grundlæggende keylogger. |
|
Arkiver indsamlede data: Arkiver via bibliotek |
NSPX30-plugins komprimerer indsamlet information ved hjælp af zlib. |
||
Audio Capture |
NSPX30 plugin c003.dat optager input og output lydstreams. |
||
Automatiseret indsamling |
NSPX30's orkestrator og bagdør starter automatisk plugins for at indsamle information. |
||
Data iscenesat: Lokal datainddeling |
NSPX30's plugins gemmer data i lokale filer før eksfiltrering. |
||
Screen Capture |
NSPX30 plugin b010.dat tager skærmbilleder. |
||
Kommando og kontrol |
Application Layer Protocol: Webprotokoller |
NSPX30's orkestrator- og bagdørskomponenter downloader nyttelast ved hjælp af HTTP. |
|
Application Layer Protocol: DNS |
NSPX30's bagdør eksfiltrerer den indsamlede information ved hjælp af DNS. |
||
Datakodning: Standardkodning |
Opsamlede data til eksfiltrering komprimeres med zlib. |
||
Dataobfuskation |
NSPX30's bagdør krypterer sin C&C-kommunikation. |
||
Ikke-applikationslagsprotokol |
NSPX30's bagdør bruger UDP til sin C&C-kommunikation. |
||
proxy |
NSPX30's kommunikation med sin C&C-server er proxy af en uidentificeret komponent. |
||
Eksfiltrering |
Automatiseret eksfiltrering |
Når den er tilgængelig, eksfiltrerer NSPX30's bagdør automatisk enhver indsamlet information. |
|
Størrelsesgrænser for dataoverførsel |
NSPX30's bagdør eksfiltrerer indsamlede data via DNS-forespørgsler med en fast pakkestørrelse. |
||
Exfiltration Over Alternative Protocol: Exfiltration Over Ukrypteret Non-C2 Protocol |
NSPX30's bagdør eksfiltrerer den indsamlede information ved hjælp af DNS. |
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://www.welivesecurity.com/en/eset-research/nspx30-sophisticated-aitm-enabled-implant-evolving-since-2005/
- :har
- :er
- :ikke
- :hvor
- $OP
- 08
- 1
- 10
- 11
- 12
- 13
- 14
- 15 %
- 16
- 17
- 179
- 180
- 19
- 2005
- 2008
- 2011
- 2014
- 2016
- 2018
- 2020
- 24
- 360
- 7
- 75
- 77
- 8
- 9
- 98
- a
- I stand
- Om
- adgang
- Ifølge
- Konto
- aktioner
- aktiv
- aktivitet
- aktører
- Desuden
- Yderligere
- Derudover
- adresse
- adresser
- Tilføjer
- Efter
- mod
- Agent
- alias
- Alle
- tilladelsesliste
- næsten
- allerede
- også
- alternativ
- Skønt
- an
- analyse
- analysere
- analyseret
- ,
- antivirus
- enhver
- api
- API'er
- kommer til syne
- apparater
- Anvendelse
- Indløs
- APT
- Arkiv
- ER
- omkring
- AS
- vurdere
- forbundet
- antage
- At
- angribe
- Angreb
- forsøg
- forsøger
- Forsøg på
- lyd
- forfattere
- automatisk
- til rådighed
- tilbage
- bagdør
- Bagdøre
- Baidu
- baseret
- grundlæggende
- BE
- fordi
- bliver
- været
- før
- være
- Tro
- BEDSTE
- bitvise
- både
- bygget
- .
- by
- bypass
- kaldet
- ringer
- Opkald
- Kampagne
- CAN
- kapaciteter
- kapacitet
- stand
- fange
- gennemføres
- tilfælde
- tilfælde
- kæde
- lave om
- ændret
- chatte
- Kina
- kinesisk
- klar
- tættere
- Lukker
- CO
- kode
- codebase
- indsamler
- samling
- solfanger
- KOM
- kombinationer
- kombinerer
- kommer
- almindeligt
- kommunikere
- Kommunikation
- Kommunikation
- Virksomheder
- selskab
- kompileret
- færdiggøre
- komponent
- komponenter
- kompromis
- Kompromitteret
- betingelse
- betingelser
- Adfærd
- Konfiguration
- tilsluttet
- tilslutning
- Tilslutninger
- betragtes
- består
- kontakt
- indeholder
- indhold
- kontrol
- controller
- samtaler
- VIRKSOMHED
- Tilsvarende
- kunne
- skabe
- oprettet
- skaber
- Legitimationsoplysninger
- Nuværende
- skik
- Cybersecurity
- mørk
- data
- datapunkter
- Database
- databaser
- Dato
- DCM
- DCM'er
- årtier
- Standard
- levere
- leveret
- leverer
- afhænger
- indsætte
- indsat
- implementering
- beskrive
- beskriver
- beskrivelse
- konstrueret
- destination
- detaljeret
- detaljer
- opdaget
- Detektion
- Bestem
- bestemmes
- udviklet
- udviklere
- Udvikling
- udvikling
- DID
- forskel
- forskellige
- direkte
- opdage
- opdaget
- fordeling
- Divided
- dns
- do
- dokumentation
- gør
- domæne
- Domæner
- downloade
- Drops
- i løbet af
- hver
- Tidligt
- nemt
- forhøjet
- emails
- indlejret
- muliggør
- muliggør
- kodning
- krypteret
- engagerende
- Engine (Motor)
- Engineering
- indrejse
- fejl
- indfører
- begivenheder
- evolution
- udviklet sig
- udviklende
- præcist nok
- eksempel
- udføre
- henrettet
- Udfører
- udførelse
- udførelse
- eksfiltration
- udstille
- eksisterer
- erfaring
- forklarede
- opdagelsesrejsende
- eksport
- Faktisk
- mislykkes
- Funktionalitet
- Figur
- File (Felt)
- Filer
- filtrere
- Finde
- fund
- fingeraftryk
- firewalls
- Fornavn
- fast
- efter
- Til
- formular
- Videresend
- fundet
- fra
- fuldt ud
- funktion
- funktionalitet
- funktioner
- gateways
- genereret
- geografisk
- få
- GitHub
- Giv
- given
- Go
- gruppe
- Gruppens
- havde
- Håndterer
- Have
- headers
- link.
- Skjule
- høj-profil
- historie
- Hong
- Hong Kong
- Hvordan
- Men
- HTML
- http
- HTTPS
- ID
- identificeret
- if
- illustrerer
- billede
- implementeringer
- implementeret
- in
- omfatter
- omfatter
- Herunder
- Indgående
- Stigninger
- angiver
- indikationer
- Indikatorer
- individuel
- enkeltpersoner
- oplysninger
- Infrastruktur
- initial
- i første omgang
- indledt
- indgang
- Forespørgsler
- Indsætter
- indvendig
- installere
- installeret
- instans
- i stedet
- Institut
- anvisninger
- Intelligens
- grænseflade
- internt
- Internet
- ind
- undersøgelse
- IP
- IP-adresse
- IP-adresser
- ISP
- udstedelse
- IT
- ITS
- selv
- januar
- Japan
- japansk
- juni
- Nøgle
- Kingdom
- Kend
- viden
- kendt
- Kong
- stor
- Efternavn
- senere
- lancere
- lag
- førende
- mindst
- Led
- til venstre
- legitim
- Lets
- Sandsynlig
- Liste
- Lytte
- lytter
- Lister
- belastning
- loader
- lastning
- belastninger
- lokale
- placeret
- placering
- lås
- Se
- tabte
- Ltd
- maskine
- Maskiner
- Main
- større
- ondsindet
- malware
- leder
- manipuleret
- Produktion
- Match
- tændstikker
- matchende
- Kan..
- betyder
- mekanisme
- mekanismer
- Medier
- Hukommelse
- nævnte
- besked
- beskeder
- mødte
- Metadata
- microsoft
- måske
- millioner
- ændre
- mere
- mest
- for det meste
- flere
- skal
- navn
- Som hedder
- Behov
- behov
- netværk
- net
- Ny
- ingen
- Ingen
- Varsel..
- nummer
- opnå
- opnå
- forekom
- oktober
- of
- Tilbud
- Office
- Gammel
- ældste
- on
- ONE
- kun
- åbent
- open source
- drift
- operativsystem
- drift
- Produktion
- Operatører
- or
- ordrer
- oprindelse
- original
- Andet
- vores
- ud
- output
- uden for
- i løbet af
- egen
- ejede
- P&E
- pakker
- side
- parameter
- del
- særlig
- gennemløb
- passive
- Adgangskode
- sti
- stier
- PC
- ejendommelige
- Udfør
- udføres
- udfører
- udholdenhed
- billede
- Place
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- plugin
- Plugins
- Punkt
- punkter
- politisk
- Populær
- eventuelt
- PowerShell
- tilstedeværelse
- præsentere
- forhindre
- tidligere
- Forud
- private
- sandsynligvis
- Problem
- procedure
- behandle
- Processer
- Produkt
- Produkter
- Program
- projekt
- projekter
- protokol
- give
- forudsat
- udbyder
- proxy
- offentlige
- Offentliggørelse
- offentligt
- offentliggjort
- formål
- forespørgsler
- hellere
- nå
- modtaget
- nylige
- optage
- optegnelser
- tilbagevendende
- henvise
- refererer
- om
- registreret
- register
- relaterede
- relevant
- stole
- resterne
- fjernelse
- Fjern
- svar
- indberette
- Rapporter
- anmode
- anmodninger
- forskning
- forskere
- løst
- ressource
- dem
- svar
- resultere
- resulterer
- afkast
- vende
- Rich
- stigende
- router
- Herske
- samme
- gemt
- Videnskab
- Videnskab og Teknologi
- screenshots
- Søg
- søgemaskine
- Anden
- sekunder
- sektioner
- sikkerhed
- se
- synes
- synes
- set
- valgt
- sendt
- september
- serveret
- server
- Servere
- tjeneste
- Tjenester
- sæt
- flere
- delt
- Shell
- vist
- Shows
- lignende
- Simpelt
- ganske enkelt
- siden
- SIX
- Størrelse
- lidt anderledes
- lille
- mindre
- So
- Social
- Software
- software komponenter
- Løsninger
- nogle
- sofistikeret
- specifikke
- specificeret
- spøgelse
- delt
- spionage
- Stage
- etaper
- standard
- starte
- påbegyndt
- Starter
- Steps
- Stadig
- butik
- opbevaret
- vandløb
- String
- struktur
- Studio
- emne
- indsendelse
- sådan
- foreslår
- suite
- bølge
- mistænksom
- systemet
- Systemer
- bord
- Tag
- taget
- tager
- mål
- målrettet
- mål
- opgaver
- teknik
- teknikker
- Teknologier
- midlertidig
- Tencent
- end
- at
- UK
- Det Forenede Kongerige
- verdenen
- deres
- Them
- tema
- derefter
- Der.
- derfor
- Disse
- de
- Tredje
- denne
- dem
- trussel
- trusselsaktører
- tre
- Gennem
- tid
- tidslinje
- tidsstempel
- til
- værktøj
- Trace
- spor
- Trading
- Trafik
- overførsel
- udløst
- to
- Uk
- forstå
- Forenet
- Storbritannien
- universitet
- ukendt
- usandsynligt
- UNAVNT
- Opdatering
- opdateringer
- URL
- us
- brug
- anvendte
- Bruger
- bruger
- ved brug af
- gyldig
- validering
- værdi
- Værdier
- Variant
- forskellige
- verificere
- udgave
- lodret
- via
- Victim
- ofre
- Besøg
- visuel
- Sårbar
- var
- Vej..
- we
- web
- Hjemmeside
- GODT
- var
- Hvad
- hvornår
- når
- som
- bredde
- Wikipedia
- vilje
- vinduer
- med
- træ
- Arbejde
- arbejder
- world
- ville
- skrivning
- skriftlig
- endnu
- zephyrnet
- Zip