ESET-forskere gir en analyse av et angrep utført av en tidligere ikke avslørt Kina-justert trusselaktør vi har kalt Blackwood, og som vi tror har vært i drift siden minst 2018. Angriperne leverer et sofistikert implantat, som vi kalte NSPX30, gjennom motstanderen -in-the-middle (AitM) angrep som kaprer oppdateringsforespørsler fra legitim programvare.
Hovedpunkter i denne bloggposten:
- Vi oppdaget at NSPX30-implantatet ble distribuert via oppdateringsmekanismene til legitim programvare som Tencent QQ, WPS Office og Sogou Pinyin.
- Vi har oppdaget implantatet i målrettede angrep mot kinesiske og japanske selskaper, samt mot enkeltpersoner lokalisert i Kina, Japan og Storbritannia.
- Vår forskning sporet utviklingen av NSPX30 tilbake til en liten bakdør fra 2005 som vi har kalt Project Wood, designet for å samle inn data fra ofrene.
- NSPX30 er et flertrinnsimplantat som inkluderer flere komponenter som en dropper, en installatør, lastere, en orkestrator og en bakdør. Begge de to sistnevnte har sine egne sett med plugins.
- Implantatet ble designet rundt angripernes evne til å utføre pakkeavskjæring, noe som gjorde det mulig for NSPX30-operatører å skjule infrastrukturen sin.
- NSPX30 er også i stand til å godkjenne seg selv i flere kinesiske antimalware-løsninger.
- Vi tilskriver denne aktiviteten til en ny APT-gruppe som vi har kalt Blackwood.
Blackwood-profil
Blackwood er en Kina-justert APT-gruppe som har vært aktiv siden minst 2018, og har engasjert seg i nettspionasjeoperasjoner mot kinesiske og japanske enkeltpersoner og selskaper. Blackwood har evner til å utføre motstander-i-midten-angrep for å levere implantatet vi kalte NSPX30 gjennom oppdateringer av legitim programvare, og for å skjule plasseringen av kommando- og kontrollserverne ved å avskjære trafikk generert av implantatet.
Kampanjeoversikt
I 2020 ble en bølge av ondsinnet aktivitet oppdaget på et målrettet system lokalisert i Kina. Maskinen hadde blitt det vi vanligvis refererer til som en "trusselmagnet", ettersom vi oppdaget forsøk fra angripere på å bruke verktøysett for skadelig programvare knyttet til forskjellige APT-grupper: Unnvikende Panda, LuoYu, og en tredje trusselskuespiller vi sporer som LittleBear.
På det systemet oppdaget vi også mistenkelige filer som ikke tilhørte verktøysettene til disse tre gruppene. Dette førte til at vi startet en undersøkelse av et implantat vi kalte NSPX30; vi var i stand til å spore utviklingen helt tilbake til 2005.
I følge ESET-telemetri ble implantatet oppdaget på et lite antall systemer. Ofrene inkluderer:
- uidentifiserte personer lokalisert i Kina og Japan,
- en uidentifisert kinesisktalende person knyttet til nettverket til et høyt profilert offentlig forskningsuniversitet i Storbritannia,
- et stort produksjons- og handelsselskap i Kina, og
- kontoret i Kina til et japansk selskap innen ingeniør- og produksjonsvertikalen.
Vi har også observert at angriperne forsøker å kompromittere systemene på nytt hvis tilgangen går tapt.
Figur 1 er en geografisk fordeling av Blackwoods mål, ifølge ESET telemetri.
NSPX30 evolusjon
Under vår forskning på NSPX30-implantatet kartla vi utviklingen tilbake til en tidlig stamfar – en enkel bakdør vi har kalt Project Wood. Den eldste prøven av Project Wood vi kunne finne ble kompilert i 2005, og den ser ut til å ha blitt brukt som kodebase for å lage flere implantater. Et slikt implantat, som NSPX30 utviklet seg fra, ble kalt DCM av forfatterne i 2008.
Figur 2 illustrerer en tidslinje for denne utviklingen, basert på vår analyse av prøver i samlingen vår og ESET-telemetri, samt offentlig dokumentasjon. Imidlertid er hendelsene og dataene som er dokumentert her fortsatt et ufullstendig bilde av nesten to tiår med utvikling og ondsinnet aktivitet fra et ukjent antall trusselaktører.
I de følgende delene beskriver vi noen av funnene våre angående Project Wood, DCM og NSPX30.
Prosjekt Wood
Utgangspunktet i utviklingen av disse implantatene er en liten bakdør kompilert 9. januarth, 2005, i henhold til tidsstemplene i PE-overskriften til de to komponentene – lasteren og bakdøren. Sistnevnte har muligheter til å samle inn system- og nettverksinformasjon, samt ta opp tastetrykk og ta skjermbilder.
Vi kalte bakdøren Project Wood, basert på et tilbakevendende mutex-navn, som vist i figur 3.
Tidsstempler for kompilering er upålitelige indikatorer, siden de kan tukles av angripere; derfor, i dette spesifikke tilfellet, vurderte vi ytterligere datapunkter. Først tidsstemplene fra PE-overskriften til lasteren og bakdørsprøvene; se tabell 1. Det er kun en forskjell på 17 sekunder i kompileringstiden for begge komponentene.
Tabell 1. PE-sammenstillingstidsstempler i komponenter fra 2005-utvalget
SHA-1 |
filnavn |
PE kompilering tidsstempel |
Beskrivelse |
9A1B575BCA0DC969B134 |
MainFuncOften.dll |
2005-01-09 08:21:22 |
Project Wood bakdør. Tidsstemplet fra eksporttabellen samsvarer med tidsstemplet for PE-samlingen. |
834EAB42383E171DD6A4 |
N / A |
2005-01-09 08:21:39 |
Project Wood-lasteren inneholder bakdøren innebygd som en ressurs. |
Det andre datapunktet kommer fra dropperprøven som ble komprimert ved hjelp av UPX. Dette verktøyet setter inn versjonen (figur 4) i den resulterende komprimerte filen – i dette tilfellet UPX versjon 1.24, som var utgitt i 2003, før samlingsdatoen for prøven.
Det tredje datapunktet er de gyldige metadataene fra PE Rich Headers (figur 5) som indikerer at prøven ble kompilert med Visual Studio 6.0, utgitt i 1998, før prøvens kompileringsdato.
Vi vurderer at det er usannsynlig at tidsstemplene, Rich Headers-metadataene og UPX-versjonen alle ble manipulert av angriperne.
Offentlig dokumentasjon
Ifølge en teknisk papir publisert av SANS Institute i september 2011, ble en navnløs og ikke tilskrevet bakdør (Project Wood) brukt til å målrette mot en politisk figur fra Hong Kong via spearphishing-e-poster.
I oktober 2014 publiserte G DATA en rapporterer av en kampanje kalt Operation TooHash, som siden har blitt tilskrevet Gelsemium APT gruppe. Rootsettet G DATA kalt DirectsX laster inn en variant av Project Wood-bakdøren (se figur 6) med noen funksjoner sett i DCM og senere i NSPX30, for eksempel å godkjenne seg selv i cybersikkerhetsprodukter (detaljert senere, i tabell 4).
DCM aka Dark Spectre
Det tidlige Project Wood fungerte som en kodebase for flere prosjekter; en av dem er et implantat kalt DCM (se figur 7) av forfatterne.
Rapporten fra Tencent i 2016 beskriver en mer utviklet DCM-variant som er avhengig av AitM-evnen til angriperne for å kompromittere ofrene sine ved å levere DCM-installasjonsprogrammet som en programvareoppdatering, og for å eksfiltrere data via DNS-forespørsler til legitime servere. Sist gang vi observerte DCM brukt i et angrep var i 2018.
Offentlig dokumentasjon
DCM ble først dokumentert av det kinesiske selskapet Jiangmin i 2012, selv om den ikke ble navngitt på det tidspunktet, og senere ble kalt Dark Spectre av Tencent i 2016.
NSPX30
Den eldste prøven av NSPX30 som vi har funnet ble samlet 6. junith, 2018. NSPX30 har en annen komponentkonfigurasjon enn DCM fordi operasjonen er delt inn i to trinn, og er fullt avhengig av angriperens AitM-evne. DCMs kode ble delt opp i mindre komponenter.
Vi kalte implantatet etter PDB-baner funnet i plugin-prøver:
- Z:Workspacemm32NSPX30Pluginspluginb001.pdb
- Z:WorkspaceCodeMMX30ProtrunkMMPluginshookdllReleasehookdll.pdb
Vi tror at NSP refererer til dens utholdenhetsteknikk: den vedvarende loader DLL, som på disken heter msnsp.dll, er internt navngitt mynsp.dll (i henhold til eksporttabelldataene), sannsynligvis fordi den er installert som en Winsock namestempo prvider (NSP).
Til slutt, så vidt vi vet, har ikke NSPX30 blitt offentlig dokumentert før denne publikasjonen.
Teknisk analyse
Ved å bruke ESET-telemetri, fastslo vi at maskiner er kompromittert når legitim programvare prøver å laste ned oppdateringer fra legitime servere ved å bruke den (ukrypterte) HTTP-protokollen. Kaprede programvareoppdateringer inkluderer de for populær kinesisk programvare som Tencent QQ, Sogou Pinyin og WPS Office.
En illustrasjon av utførelseskjeden sett i ESET-telemetri er vist i figur 8.
I tabell 2 gir vi et eksempel på en URL og IP-adressen som domenet ble løst til på brukerens system på det tidspunktet nedlastingen skjedde.
Tabell 2. En observert URL, server-IP-adresse og prosessnavn for en legitim nedlastningskomponent
URL |
Først sett |
IP-adresse |
ASN |
Downloader |
http://dl_dir.qq[.]com/ |
2021-10-17 |
183.134.93[.]171 |
AS58461 (KINANET) |
Tencentdl.exe |
I henhold til ESET-telemetri og passiv DNS-informasjon, er IP-adressene som ble observert i andre tilfeller assosiert med domener fra legitime programvareselskaper; vi har registrert opptil millioner av tilkoblinger på noen av dem, og vi har sett legitime programvarekomponenter bli lastet ned fra disse IP-adressene.
Nettverksimplantathypotese
Nøyaktig hvordan angriperne er i stand til å levere NSPX30 som ondsinnede oppdateringer forblir ukjent for oss, ettersom vi ennå ikke har oppdaget verktøyet som gjør det mulig for angriperne å kompromittere målene sine til å begynne med.
Basert på vår egen erfaring med Kina-justerte trusselaktører som viser disse evnene (Unnvikende Panda og Veiviserne), samt nyere forskning på ruterimplantater tilskrevet BlackTech og Camaro Dragon (Aka Mustang Panda), spekulerer vi i at angriperne distribuerer et nettverksimplantat i nettverkene til ofrene, muligens på sårbare nettverksenheter som rutere eller gatewayer.
Det faktum at vi ikke fant noen indikasjoner på trafikkomdirigering via DNS kan tyde på at når det antatte nettverksimplantatet fanger opp ukryptert HTTP-trafikk relatert til oppdateringer, svarer det med NSPX30-implantatets dropper i form av en DLL, en kjørbar fil eller et ZIP-arkiv som inneholder DLL.
Tidligere nevnte vi at NSPX30-implantatet bruker pakkeavskjæringsevnen til angriperne for å anonymisere C&C-infrastrukturen. I de følgende underavsnittene vil vi beskrive hvordan de gjør dette.
HTTP-avskjæring
For å laste ned bakdøren, utfører orkestratoren en HTTP-forespørsel (Figur 9) til Baidus nettsted – en legitim kinesisk søkemotor og programvareleverandør – med en særegen User-Agent maskerer seg som Internet Explorer på Windows 98. Svaret fra serveren lagres i en fil som bakdørskomponenten trekkes ut fra og lastes inn i minnet.
De Forespørsel-URI er tilpasset og inkluderer informasjon fra orkestratoren og det kompromitterte systemet. I ikke-avlyttede forespørsler returnerer en slik forespørsel til den legitime serveren en 404-feilkode. En lignende prosedyre brukes av bakdøren for å laste ned plugins, med en litt annen Forespørsel-URI.
Nettverksimplantatet trenger ganske enkelt å se etter HTTP GET-forespørsler til www.baidu.com med den spesielle gamle User-Agent og analysere Forespørsel-URI for å bestemme hvilken nyttelast som må sendes.
UDP-avskjæring
Under initialiseringen oppretter bakdøren en passiv UDP-lyttekontakt og lar operativsystemet tildele porten. Det kan være komplikasjoner for angripere som bruker passive bakdører: for eksempel hvis brannmurer eller rutere som bruker NAT hindrer innkommende kommunikasjon fra utenfor nettverket. I tillegg må kontrolleren for implantatet vite den nøyaktige IP-adressen og porten til den kompromitterte maskinen for å kontakte bakdøren.
Vi tror at angriperne løste det siste problemet ved å bruke den samme porten som bakdøren lytter etter kommandoer på for også å eksfiltrere de innsamlede dataene, slik at nettverksimplantatet vet nøyaktig hvor de skal videresende pakkene. Dataeksfiltreringsprosedyren starter som standard etter at sokkelen er opprettet, og den består av DNS-spørringer for microsoft.com domene; de innsamlede dataene legges til DNS-pakken. Figur 10 viser en fangst av den første DNS-spørringen sendt av bakdøren.
Den første DNS-forespørselen sendes til 180.76.76[.]11:53 (en server som i skrivende stund ikke eksponerer noen DNS-tjeneste) og for hvert av de følgende spørsmålene endres destinasjons-IP-adressen til den etterfølgende adressen, som vist i figur 11.
De 180.76.76.0/24 nettverket eies av Baidu, og interessant nok eksponerer noen av serverne på disse IP-adressene DNS-tjenester, som f.eks. 180.76.76.76, som er Baidu sin offentlig DNS-tjeneste.
Vi tror at når DNS-spørringspakkene blir fanget opp, sender nettverksimplantatet dem til angripernes server. Implantatet kan enkelt filtrere pakkene ved å kombinere flere verdier for å lage et fingeravtrykk, for eksempel:
- destinasjons-IP-adresse
- UDP-port (vi observerte 53, 4499og 8000),
- transaksjons-ID for samsvarende DNS-søk 0xFEAD,
- domenenavn, og,
- DNS-spørring med ekstra data vedlagt.
Avsluttende tanker
Å bruke angripernes AitM-evne til å avskjære pakker er en smart måte å skjule plasseringen til C&C-infrastrukturen deres. Vi har observert ofre utenfor Kina – det vil si i Japan og Storbritannia – som orkestratoren var i stand til å utplassere bakdøren mot. Angriperne sendte deretter kommandoer til bakdøren for å laste ned plugins; for eksempel mottok offeret fra Storbritannia to plugins designet for å samle informasjon og chatter fra Tencent QQ. Derfor vet vi at AitM-systemet var på plass og fungerte, og vi må anta at eksfiltrasjonsmekanismen var det også.
Noen av serverne – for eksempel i 180.76.76.0/24 nettverk – ser ut til å være det anycasted, noe som betyr at det kan være flere servere geolokalisert rundt om i verden for å svare på (legitime) innkommende forespørsler. Dette antyder at nettverksavlytting sannsynligvis utføres nærmere målene i stedet for nærmere Baidus nettverk. Avlytting fra en kinesisk ISP er også usannsynlig fordi Baidu har en del av nettverksinfrastrukturen sin utenfor Kina, så ofre utenfor Kina kan ikke gå gjennom noen kinesiske ISPer for å nå Baidu-tjenester.
NSPX30
I de følgende delene vil vi beskrive de viktigste stadiene i utførelse av skadelig programvare.
Stage 1
Figur 12 illustrerer utførelseskjeden når den legitime komponenten laster en ondsinnet dropper-DLL som lager flere filer på disken.
Dropperen utfører RsStub.exe, en legitim programvarekomponent i det kinesiske antimalware-produktet Rising Antivirus, som misbrukes for å sidelaste det ondsinnede comx3.dll.
Figur 13 illustrerer de viktigste trinnene som er tatt under utførelsen av denne komponenten.
Når RsStub.exe samtaler ExitProcess, kjøres loader-funksjonen fra shellcode i stedet for den legitime API-funksjonskoden.
Lasteren dekrypterer installasjons-DLL fra filen comx3.dll.txt; skallkoden laster deretter installasjons-DLL i minnet og kaller inngangspunktet.
Installasjons-DLL
Installasjonsprogrammet bruker UAC-bypass-teknikker hentet fra åpen kildekode-implementeringer for å lage en ny forhøyet prosess. Hvilken den bruker avhenger av flere forhold, som vist i tabell 3.
Tabell 3. Hovedbetingelse og respektive underbetingelser som må oppfylles for å kunne anvende en UAC-bypass-teknikk
Betingelsene bekrefter tilstedeværelsen av to prosesser: vi tror det avp.exe er en komponent av Kasperskys antimalware-programvare, og rstray.exe en komponent av Rising Antivirus.
Installasjonsprogrammet prøver å deaktivere innsending av eksempler fra Windows Defender, og legger til en ekskluderingsregel for loader-DLL msnsp.dll. Det gjør dette ved å utføre to PowerShell-kommandoer gjennom cmd.exe:
- cmd /c powershell -inputformat ingen -outputformat ingen -Ikkeinteraktiv -Kommandosett-MpPreference -SubmitSamplesConsent 0
- cmd /c powershell -inputformat ingen -outputformat ingen -Ikkeinteraktiv -Command Add-MpPreference -ExclusionPath "C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll"
Installasjonsprogrammet slipper deretter den vedvarende lasteren DLL til C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll og etablerer utholdenhet for det ved å bruke API WSCInstallNameSpace for å installere DLL-en som en Winsock navneområdeleverandør navngitt msnsp, som vist i figur 14.
Som et resultat vil DLL-en lastes automatisk når en prosess bruker Winsock.
Til slutt dropper installasjonsprogrammet loader DLL mshlp.dll og den krypterte orkestrator-DLL WIN.cfg til C: ProgramDataWindows.
Stage 2
Dette stadiet begynner med utførelse av msnsp.dll. Figur 15 illustrerer lastekjeden i trinn 2.
Orchestrator
Figur 16 illustrerer hovedoppgavene som utføres av orkestratoren, som inkluderer å skaffe bakdøren og laste inn plugins.
Når den er lastet, oppretter orkestratoren to tråder for å utføre oppgavene sine.
Orkestertråd 1
Orkestratoren sletter den originale dropper-filen fra disken, og prøver å laste inn bakdøren fra msfmtkl.dat. Hvis filen ikke eksisterer eller ikke åpnes, bruker orkestratoren Windows Internett-APIer for å åpne en tilkobling til den legitime nettsiden til det kinesiske selskapet Baidu som forklart tidligere.
Svaret fra serveren lagres i en midlertidig fil underlagt en valideringsprosedyre; hvis alle betingelser er oppfylt, blir den krypterte nyttelasten som er inne i filen skrevet til en ny fil og omdøpt til msfmtkl.dat.
Etter at den nye filen er opprettet med den krypterte nyttelasten, leser orkestratoren innholdet og dekrypterer nyttelasten ved hjelp av RC4. Den resulterende PE lastes inn i minnet og inngangspunktet utføres.
Orkestertråd 2
Avhengig av navnet på den gjeldende prosessen, utfører orkestratoren flere handlinger, inkludert lasting av plugins, og tillegg av ekskluderinger for å godkjenne loader-DLL-ene i de lokale databasene til tre antimalware-programvareprodukter av kinesisk opprinnelse.
Tabell 4 beskriver handlingene som utføres når prosessnavnet samsvarer med det til en sikkerhetsprogramvarepakke der orkestratoren kan godkjenne lastelistene sine.
Tabell 4. Orchestrator-handlinger ved kjøring i en prosess med navnet på spesifikk sikkerhetsprogramvare
Prosessen navn |
Målrettet programvare |
Handling |
qqpcmgr.exe qqpctray.exe qqpcrtp.exe |
Forsøk på å laste den legitime DLL-filen TAVinterface.dll for å bruke den eksporterte funksjonen CreateTaveInstance for å få et grensesnitt. Når du kaller en annen funksjon fra grensesnittet, sender den en filbane som en parameter. |
|
360safe.exe 360tray.exe |
Forsøk på å laste den legitime DLL-filen deepscancloudcom2.dll for å bruke de eksporterte funksjonene XDOpen, XDAddRecordsExog XDClukk, legger den til en ny oppføring i SQL-databasefilen speedmem2.hg. |
|
360sd.exe |
Forsøk på å åpne filen sl2.db to legger til en base64-kodet binær struktur som inneholder banen til loader DLL. |
|
kxescore.exe kxetray.exe |
Forsøk på å laste den legitime DLL-filen securitykxescankhistory.dll for å bruke den eksporterte funksjonen KSDllGetClassObject for å få et grensesnitt. Når den kaller en av funksjonene fra vtabellen, sender den en filbane som en parameter. |
Tabell 5 beskriver handlingene som utføres når prosessnavnet samsvarer med valgt direktemeldingsprogramvare. I disse tilfellene laster orkestratoren inn plugins fra disken.
Tabell 5. Okestrator-handlinger ved kjøring i en prosess med navnet på spesifikk programvare for direktemeldinger
Prosessen navn |
Målrettet programvare |
Handling |
qq.exe |
Forsøk på å lage en mutex kalt FÅ QQ MELDINGSLÅS. Hvis mutexen ikke allerede eksisterer, laster den inn pluginene c001.dat, c002.datog c003.dat fra disken. |
|
wechat.exe |
Laster inn plugin c006.dat. |
|
telegram.exe |
Laster inn plugin c007.dat. |
|
skype.exe |
Laster inn plugin c003.dat. |
|
cc.exe |
Ukjent; muligens CloudChat. |
|
raidcall.exe |
||
yy.exe |
Ukjent; eventuelt en søknad fra YY sosialt nettverk. |
|
aliim.exe |
Laster inn plugin c005.dat. |
Etter å ha fullført de tilsvarende handlingene, kommer tråden tilbake.
Programtillegg gruppe "c"
Fra vår analyse av orkestratorkoden forstår vi at minst seks plugins fra "c"-gruppen kan eksistere, hvorav bare tre er kjent for oss på dette tidspunktet.
Tabell 6 beskriver den grunnleggende funksjonaliteten til de identifiserte pluginene.
Tabell 6. Beskrivelse av plugins fra gruppe "c"
Pluginnavn |
Beskrivelse |
c001.dat |
Stjeler informasjon fra QQ-databaser, inkludert legitimasjon, chattelogger, kontaktlister og mer. |
c002.dat |
Hekker flere funksjoner fra Tencent QQ's KernelUtil.dll og Common.dll i minnet om QQ.exe prosess, som muliggjør avlytting av direkte- og gruppemeldinger, og SQL-spørringer til databaser. |
c003.dat |
Kobler flere APIer: - CoCreateInstance - waveInOpen - waveInClose - waveInAddBuffer - waveOutOpen - waveOutWrite - waveOutClose Dette gjør at plugin-en kan avskjære lydsamtaler i flere prosesser. |
Bakdør
Vi har allerede delt flere detaljer om det grunnleggende formålet med bakdøren: å kommunisere med kontrolleren og eksfiltrere innsamlede data. Kommunikasjon med kontrolleren er for det meste basert på å skrive plugin-konfigurasjonsdata inn i en ukryptert fil med navn license.dat, og påkaller funksjonalitet fra innlastede plugins. Tabell 7 beskriver de mest relevante kommandoene som håndteres av bakdøren.
Tabell 7. Beskrivelse av noen av kommandoene som håndteres av bakdøren
Kommando ID |
Beskrivelse |
0x04 |
Oppretter eller lukker et omvendt skall og håndterer input og output. |
0x17 |
Flytter en fil med stier levert av kontrolleren. |
0x1C |
Avinstallerer implantatet. |
0x1E |
Samler inn filinformasjon fra en spesifisert katalog, eller samler inn stasjonens informasjon. |
0x28 |
Avslutter en prosess med en PID gitt av kontrolleren. |
Plugin-gruppene "a" og "b"
Bakdørskomponenten inneholder sine egne innebygde plugin-DLL-er (se tabell 8) som er skrevet til disk og gir bakdøren dens grunnleggende spionerings- og informasjonsinnsamlingsmuligheter.
Tabell 8. Beskrivelser av plugin-gruppene "a" og "b" innebygd i bakdøren
Pluginnavn |
Beskrivelse |
a010.dat |
Samler informasjon om installert programvare fra registeret. |
b010.dat |
Tar skjermbilder. |
b011.dat |
Grunnleggende keylogger. |
konklusjonen
Vi har analysert angrep og evner fra en trusselaktør som vi har kalt Blackwood, som har utført cyberspionasjeoperasjoner mot enkeltpersoner og selskaper fra Kina, Japan og Storbritannia. Vi kartla utviklingen av NSPX30, det tilpassede implantatet som ble distribuert av Blackwood, helt tilbake til 2005 til en liten bakdør vi har kalt Project Wood.
Interessant nok ser Project Wood-implantatet fra 2005 ut til å være arbeidet til utviklere med erfaring i utvikling av skadevare, gitt teknikkene som er implementert, noe som får oss til å tro at vi ennå ikke har oppdaget mer om historien til den opprinnelige bakdøren.
For eventuelle spørsmål om forskningen vår publisert på WeLiveSecurity, vennligst kontakt oss på threatintel@eset.com.
ESET Research tilbyr private APT-etterretningsrapporter og datafeeder. For eventuelle spørsmål om denne tjenesten, besøk ESET Threat Intelligence side.
IOC
Filer
SHA-1 |
filnavn |
ESET-deteksjonsnavn |
Beskrivelse |
625BEF5BD68F75624887D732538B7B01E3507234 |
minibrowser_shell.dll |
Win32/Agent.AFYI |
NSPX30 initial dropper. |
43622B9573413E17985B3A95CBE18CFE01FADF42 |
comx3.dll |
Win32/Agent.AFYH |
Laster for installatøren. |
240055AA125BD31BF5BA23D6C30133C5121147A5 |
msnsp.dll |
Win32/Agent.AFYH |
Vedvarende laster. |
308616371B9FF5830DFFC740318FD6BA4260D032 |
mshlp.dll |
Win32/Agent.AFYH |
Laster for orkestratoren. |
796D05F299F11F1D78FBBB3F6E1F497BC3325164 |
comx3.dll.txt |
Win32/TrojanDropper.Agent.SWR |
Dekryptert installasjonsprogram. |
82295E138E89F37DD0E51B1723775CBE33D26475 |
WIN.cfg |
Win32/Agent.AFYI |
Dekryptert orkestrator. |
44F50A81DEBF68F4183EAEBC08A2A4CD6033DD91 |
msfmtkl.dat |
Win32/Agent.VKT |
Dekryptert bakdør. |
DB6AEC90367203CAAC9D9321FDE2A7F2FE2A0FB6 |
c001.dat |
Win32/Agent.AFYI |
Legitimasjons- og datatyver-plugin. |
9D74FE1862AABAE67F9F2127E32B6EFA1BC592E9 |
c002.dat |
Win32/Agent.AFYI |
Tencent QQ-plugin for meldingsavskjæring. |
8296A8E41272767D80DF694152B9C26B607D26EE |
c003.dat |
Win32/Agent.AFYI |
Plugin for lydopptak. |
8936BD9A615DD859E868448CABCD2C6A72888952 |
a010.dat |
Win32/Agent.VKT |
Plugin for informasjonsinnsamler. |
AF85D79BC16B691F842964938C9619FFD1810C30 |
b011.dat |
Win32/Agent.VKT |
Keylogger-plugin. |
ACD6CD486A260F84584C9FF7409331C65D4A2F4A |
b010.dat |
Win32/Agent.VKT |
Skjermbilde-plugin. |
Network
IP |
Domene |
Hosting-leverandør |
Først sett |
Detaljer |
104.193.88[.]123 |
www.baidu[.]com |
Beijing Baidu Netcom Science and Technology Co., Ltd. |
2017-08-04 |
Legitime nettsted kontaktet av orkestratoren og bakdørskomponenter for å laste ned nyttelast. HTTP GET-forespørselen fanges opp av AitM. |
183.134.93[.]171 |
dl_dir.qq[.]com |
IRT-CHINANET-ZJ |
2021-10-17 |
En del av URL-en der dropperen ble lastet ned av legitim programvare. |
MITRE ATT&CK-teknikker
Dette bordet ble bygget vha versjon 14 i MITRE ATT&CK-rammeverket.
taktikk |
ID |
Navn |
Beskrivelse |
Ressursutvikling |
Utvikle evner: Skadelig programvare |
Blackwood brukte et tilpasset implantat kalt NSPX30. |
|
Innledende tilgang |
Kompromiss i forsyningskjeden |
NSPX30s dropper-komponent leveres når legitime forespørsler om programvareoppdatering blir fanget opp via AitM. |
|
Gjennomføring |
Kommando- og skripttolk: PowerShell |
NSPX30s installasjonskomponent bruker PowerShell for å deaktivere Windows Defenders eksempelinnsending, og legger til en ekskludering for en lasterkomponent. |
|
Kommando- og skripttolk: Windows Command Shell |
NSPX30s installasjonsprogram kan bruke cmd.exe når du prøver å omgå UAC. NSPX30s bakdør kan lage et omvendt skall. |
||
Kommando- og skripttolk: Visual Basic |
NSPX30s installasjonsprogram kan bruke VBScript når du prøver å omgå UAC. |
||
Innfødt API |
NSPX30s installatør og bakdørsbruk CreateProcessA/W APIer for å utføre komponenter. |
||
Utholdenhet |
Kapringsutførelsesflyt |
NSPX30s loader lastes automatisk inn i en prosess når Winsock startes. |
|
Opptrapping av privilegier |
Hendelsesutløst utførelse |
NSPX30s installasjonsprogram endrer registret for å endre en medieknappnøkkelverdi (APPCOMMAND_LAUNCH_APP2) for å peke på dens kjørbare laster. |
|
Misbruk av høydekontrollmekanisme: Omgå brukerkontokontroll |
Installasjonsprogrammet til NSPX30 bruker tre teknikker for å forsøke å omgå UAC. |
||
Forsvarsunndragelse |
Deobfuscate / Decode filer eller informasjon |
NSPX30s installasjonsprogram, orkestrator, bakdør og konfigurasjonsfiler er dekryptert med RC4, eller kombinasjoner av bitvise og aritmetiske instruksjoner. |
|
Forringe forsvar: Deaktiver eller endre verktøy |
NSPX30s installasjonsprogram deaktiverer Windows Defenders eksempelinnsending, og legger til en ekskludering for en lasterkomponent. NSPX30s orkestrator kan endre databasene for sikkerhetsprogramvare for å godkjenne lasterkomponentene. Målrettet programvare inkluderer: Tencent PC Manager, 360 Safeguard, 360 Antivirus og Kingsoft AntiVirus. |
||
Indikatorfjerning: Filsletting |
NSPX30 kan fjerne filene sine. |
||
Indikatorfjerning: Clear Persistence |
NSPX30 kan fjerne dens utholdenhet. |
||
Indirekte kommandoutførelse |
NSPX30s installasjonsprogram kjører PowerShell gjennom Windows' Command Shell. |
||
Masquerading: Match legitimt navn eller sted |
NSPX30s komponenter er lagret i den legitime mappen %PROGRAMDATA%Intel. |
||
Endre registret |
NSPX30s installasjonsprogram kan endre registret når du prøver å omgå UAC. |
||
Uklare filer eller informasjon |
NSPX30s komponenter lagres kryptert på disk. |
||
Tilslørede filer eller informasjon: Innebygde nyttelaster |
NSPX30s dropper inneholder innebygde komponenter. NSPX30s loader inneholder innebygd skallkode. |
||
System binær proxy-utførelse: Rundll32 |
NSPX30s installasjonsprogram kan lastes inn rundll32.exe. |
||
Legitimasjonstilgang |
Motstander-i-midten |
NSPX30-implantatet leveres til ofre gjennom AitM-angrep. |
|
Legitimasjon fra passordbutikker |
NSPX30-plugin c001.dat kan stjele legitimasjon fra Tencent QQ-databaser. |
||
Discovery |
Fil- og katalogoppdagelse |
NSPX30s bakdør og plugins kan vise filer. |
|
Spørringsregister |
NSPX30 a010.dat plugin samler inn ulike opplysninger om installert programvare fra registeret. |
||
Oppdagelse av programvare |
NSPX30 a010.dat plugin samler informasjon fra registeret. |
||
Oppdagelse av systeminformasjon |
NSPX30s bakdør samler inn systeminformasjon. |
||
Oppdagelse av systemnettverkskonfigurasjon |
NSPX30s bakdør samler inn ulike nettverkskortinformasjon. |
||
Oppdagelse av systemnettverkstilkoblinger |
NSPX30s bakdør samler informasjon om nettverkskort. |
||
Systemeier/brukeroppdagelse |
NSPX30s bakdør samler inn system- og brukerinformasjon. |
||
Samling |
Inndatafangst: Tastelogging |
NSPX30-plugin b011.dat er en grunnleggende keylogger. |
|
Arkiver innsamlede data: Arkiver via bibliotek |
NSPX30-plugins komprimerer innsamlet informasjon ved hjelp av zlib. |
||
Audio Capture |
NSPX30-plugin c003.dat registrerer input og output lydstrømmer. |
||
Automatisert innsamling |
NSPX30s orkestrator og bakdør starter automatisk plugins for å samle inn informasjon. |
||
Dataoppsamling: Lokal dataoppsamling |
NSPX30s plugins lagrer data i lokale filer før eksfiltrering. |
||
Screen Capture |
NSPX30-plugin b010.dat tar skjermbilder. |
||
Command and Control |
Application Layer Protocol: Webprotokoller |
NSPX30s orkestrator- og bakdørskomponenter laster ned nyttelast ved hjelp av HTTP. |
|
Application Layer Protocol: DNS |
NSPX30s bakdør eksfiltrerer den innsamlede informasjonen ved hjelp av DNS. |
||
Datakoding: Standardkoding |
Innsamlede data for eksfiltrering komprimeres med zlib. |
||
Dataobfuskasjon |
NSPX30s bakdør krypterer C&C-kommunikasjonen. |
||
Ikke-applikasjonslagsprotokoll |
NSPX30s bakdør bruker UDP for sin C&C-kommunikasjon. |
||
Proxy |
NSPX30s kommunikasjon med sin C&C-server er proxy av en uidentifisert komponent. |
||
exfiltration |
Automatisert eksfiltrering |
Når den er tilgjengelig, eksfiltrerer NSPX30s bakdør automatisk all innsamlet informasjon. |
|
Størrelsesgrenser for dataoverføring |
NSPX30s bakdør eksfiltrerer innsamlede data via DNS-spørringer med en fast pakkestørrelse. |
||
Eksfiltrering over alternativ protokoll: Eksfiltrering over ukryptert ikke-C2-protokoll |
NSPX30s bakdør eksfiltrerer den innsamlede informasjonen ved hjelp av DNS. |
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://www.welivesecurity.com/en/eset-research/nspx30-sophisticated-aitm-enabled-implant-evolving-since-2005/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 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
- 90
- 98
- a
- I stand
- Om oss
- misbrukt
- adgang
- Ifølge
- Logg inn
- handlinger
- aktiv
- aktivitet
- aktører
- tillegg
- Ytterligere
- I tillegg
- adresse
- adresser
- Legger
- Etter
- mot
- Agent
- aka
- Alle
- godkjenningsliste
- nesten
- allerede
- også
- alternativ
- Selv
- an
- analyse
- analysere
- analysert
- og
- antivirus
- noen
- api
- APIer
- vises
- hvitevarer
- Søknad
- Påfør
- APT
- Arkiv
- ER
- rundt
- AS
- vurdere
- assosiert
- anta
- At
- angripe
- Angrep
- forsøk
- forsøker
- forsøk
- lyd
- forfattere
- automatisk
- tilgjengelig
- tilbake
- backdoor
- Bakdører
- Baidu
- basert
- grunnleggende
- BE
- fordi
- bli
- vært
- før du
- være
- tro
- BEST
- bitvis
- både
- bygget
- knapp
- by
- bypass
- som heter
- ringer
- Samtaler
- Kampanje
- CAN
- evner
- evne
- stand
- fangst
- gjennomført
- saken
- saker
- kjede
- endring
- endret
- chatte
- Kina
- Kinesisk
- CISA
- fjerne
- nærmere
- Stenger
- CO
- kode
- kodebase
- samle
- samling
- oppsamler
- innsamler
- COM
- kombinasjoner
- kombinere
- kommer
- vanligvis
- kommunisere
- Kommunikasjon
- kommunikasjon
- Selskaper
- Selskapet
- kompilert
- fullført
- komplikasjoner
- komponent
- komponenter
- kompromiss
- kompromittert
- tilstand
- forhold
- Gjennomføre
- Konfigurasjon
- tilkoblet
- tilkobling
- Tilkoblinger
- ansett
- består
- kontakt
- inneholder
- innhold
- kontroll
- controller
- samtaler
- SELSKAP
- Tilsvarende
- kunne
- skape
- opprettet
- skaper
- Credentials
- Gjeldende
- skikk
- Cyberspionage
- Cybersecurity
- mørk
- dato
- datapunkter
- Database
- databaser
- Dato
- DCM
- DCM
- tiår
- Misligholde
- leverer
- levert
- levere
- avhenger
- utplassere
- utplassert
- utplasserings
- beskrive
- beskriver
- beskrivelse
- designet
- destinasjonen
- detaljert
- detaljer
- oppdaget
- Gjenkjenning
- Bestem
- bestemmes
- utviklet
- utviklere
- Utvikling
- utviklingen
- gJORDE
- forskjell
- forskjellig
- direkte
- oppdage
- oppdaget
- distribusjon
- Divided
- dns
- do
- dokumentasjon
- dokumentert
- gjør
- domene
- domener
- nedlasting
- Drops
- under
- hver enkelt
- Tidlig
- lett
- forhøyet
- e-post
- innebygd
- muliggjør
- muliggjør
- koding
- kryptert
- engasjerende
- Motor
- Ingeniørarbeid
- entry
- feil
- etablerer
- hendelser
- evolusjon
- utviklet seg
- utvikling
- nøyaktig
- eksempel
- henrette
- henrettet
- Utfører
- utførende
- gjennomføring
- eksfiltrering
- viser
- eksisterer
- erfaring
- forklarte
- explorer
- eksportere
- Faktisk
- mislykkes
- Egenskaper
- Figur
- filet
- Filer
- filtrere
- Finn
- funn
- fingeravtrykk
- brannmurer
- Først
- fikset
- etter
- Til
- skjema
- Forward
- funnet
- fra
- fullt
- funksjon
- funksjonalitet
- funksjoner
- generert
- geografiske
- få
- GitHub
- Gi
- gitt
- Go
- Gruppe
- Gruppens
- HAD
- Håndterer
- Ha
- overskrifter
- her.
- Gjemme seg
- høy profil
- historie
- Hong
- Hong Kong
- Hvordan
- Men
- HTML
- http
- HTTPS
- ID
- identifisert
- if
- illustrerer
- bilde
- implementeringer
- implementert
- in
- inkludere
- inkluderer
- Inkludert
- Innkommende
- øker
- indikerer
- indikasjoner
- indikatorer
- individuelt
- individer
- informasjon
- Infrastruktur
- innledende
- i utgangspunktet
- initiert
- inngang
- forespørsler
- Setter inn
- innsiden
- installere
- f.eks
- i stedet
- Institute
- instruksjoner
- Intelligens
- Interface
- internt
- Internet
- inn
- etterforskning
- IP
- IP-adresse
- IP-adresser
- ISP
- utstedelse
- IT
- DET ER
- selv
- Januar
- Japan
- Japansk
- juni
- nøkkel
- Kingdom
- Vet
- kunnskap
- kjent
- Kong
- stor
- Siste
- seinere
- lansere
- lag
- ledende
- minst
- Led
- venstre
- legitim
- Lar
- Sannsynlig
- Liste
- Lytting
- lytter
- lister
- laste
- loader
- lasting
- laster
- lokal
- ligger
- plassering
- låse
- Se
- tapte
- Ltd
- maskin
- maskiner
- Hoved
- større
- skadelig
- malware
- leder
- manipulert
- produksjon
- Match
- fyrstikker
- matchende
- Kan..
- betyr
- mekanisme
- mekanismer
- Media
- Minne
- nevnt
- melding
- meldinger
- møtte
- metadata
- Microsoft
- kunne
- millioner
- modifisere
- mer
- mest
- for det meste
- flere
- må
- navn
- oppkalt
- Trenger
- behov
- nettverk
- nettverk
- Ny
- Nei.
- none
- Legge merke til..
- Antall
- observerte
- få
- å skaffe seg
- forekom
- oktober
- of
- Tilbud
- Office
- Gammel
- eldste
- on
- ONE
- bare
- åpen
- åpen kildekode
- drift
- operativsystem
- drift
- Drift
- operatører
- or
- rekkefølge
- Origin
- original
- Annen
- vår
- ut
- produksjon
- utenfor
- enn
- egen
- eide
- P&E
- pakker
- side
- parameter
- del
- Spesielt
- passerer
- passiv
- Passord
- banen
- baner
- PC
- merkelig
- utføre
- utført
- utfører
- utholdenhet
- bilde
- Sted
- klartekst
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- kontakt
- plugg inn
- plugins
- Point
- poeng
- politisk
- Populær
- muligens
- PowerShell
- tilstedeværelse
- presentere
- forebygge
- tidligere
- Før
- privat
- sannsynligvis
- Problem
- prosedyren
- prosess
- Prosesser
- Produkt
- Produkter
- program
- prosjekt
- prosjekter
- protokollen
- gi
- forutsatt
- leverandør
- proxy
- offentlig
- Utgivelse
- offentlig
- publisert
- formål
- spørsmål
- heller
- å nå
- mottatt
- nylig
- rekord
- poster
- gjentakende
- referere
- refererer
- om
- registrert
- registret
- i slekt
- relevant
- avhengig
- forblir
- fjerning
- fjerne
- svar
- rapporterer
- Rapporter
- anmode
- forespørsler
- forskning
- forskere
- løst
- ressurs
- de
- svar
- resultere
- resulterende
- avkastning
- reversere
- Rich
- stiger
- router
- Regel
- samme
- lagret
- Vitenskap
- Vitenskap og teknologi
- skjermbilder
- Søk
- søkemotor
- Sekund
- sekunder
- seksjoner
- sikkerhet
- Sikkerhetsprogramvare
- se
- synes
- synes
- sett
- valgt
- sendt
- September
- servert
- server
- servere
- tjeneste
- Tjenester
- sett
- flere
- delt
- Shell
- vist
- Viser
- lignende
- Enkelt
- ganske enkelt
- siden
- SIX
- Størrelse
- litt annerledes
- liten
- mindre
- So
- selskap
- Software
- programvarekomponenter
- programvare oppdatering
- Solutions
- løst
- noen
- sofistikert
- spesifikk
- spesifisert
- spekter
- splittet
- spionasje
- SQL
- Scene
- stadier
- Standard
- Begynn
- startet
- Start
- Steps
- Still
- oppbevare
- lagret
- bekker
- String
- struktur
- studio
- emne
- innsending
- slik
- foreslår
- suite
- bølge
- mistenkelig
- system
- Systemer
- bord
- Ta
- tatt
- tar
- Target
- målrettet
- mål
- oppgaver
- teknikk
- teknikker
- Teknologi
- midlertidig
- Tencent
- enn
- Det
- De
- Storbritannia
- Storbritannia
- verden
- deres
- Dem
- tema
- deretter
- Der.
- derfor
- Disse
- de
- Tredje
- denne
- De
- trussel
- trusselaktører
- tre
- Gjennom
- tid
- tidslinje
- tidsstempel
- til
- verktøy
- spore
- spor
- trading
- trafikk
- overføre
- utløst
- to
- Uk
- forstå
- forent
- Storbritannia
- universitet
- ukjent
- usannsynlig
- UNAVNT
- Oppdater
- oppdateringer
- URL
- us
- bruke
- brukt
- Bruker
- bruker
- ved hjelp av
- gyldig
- validering
- verdi
- Verdier
- variant
- ulike
- verifisere
- versjon
- vertikal
- av
- Offer
- ofre
- Besøk
- visuell
- Sårbar
- var
- Vei..
- we
- web
- Nettsted
- VI VIL
- var
- Hva
- når
- når som helst
- hvilken
- hvem
- Wikipedia
- vil
- vinduer
- med
- tre
- Arbeid
- arbeid
- verden
- ville
- skriving
- skrevet
- ennå
- zephyrnet
- Zip