ESET-onderzoekers geven een analyse van een aanval die is uitgevoerd door een eerder niet bekendgemaakte, op China gerichte bedreigingsacteur die we Blackwood hebben genoemd en die naar onze mening al sinds 2018 actief is. De aanvallers leveren een geavanceerd implantaat af, dat we NSPX30 hebben genoemd, via tegenstanders. -in-the-middle-aanvallen (AitM) waarbij updateverzoeken van legitieme software worden gekaapt.
Kernpunten in deze blogpost:
- We ontdekten dat het NSPX30-implantaat werd ingezet via de updatemechanismen van legitieme software zoals Tencent QQ, WPS Office en Sogou Pinyin.
- We hebben het implantaat ontdekt bij gerichte aanvallen op Chinese en Japanse bedrijven, maar ook op individuen in China, Japan en het Verenigd Koninkrijk.
- Ons onderzoek heeft de evolutie van NSPX30 teruggevoerd tot een kleine achterdeur uit 2005 die we Project Wood hebben genoemd, ontworpen om gegevens van de slachtoffers te verzamelen.
- NSPX30 is een meertrapsimplantaat dat verschillende componenten omvat, zoals een druppelaar, een installatieprogramma, laders, een orkestrator en een achterdeur. Beide laatste twee hebben hun eigen sets plug-ins.
- Het implantaat is ontworpen rond de mogelijkheid van aanvallers om pakketten te onderscheppen, waardoor NSPX30-operators hun infrastructuur kunnen verbergen.
- NSPX30 kan zichzelf ook op de toelatingslijst zetten in verschillende Chinese antimalwareoplossingen.
- We schrijven deze activiteit toe aan een nieuwe APT-groep die we Blackwood hebben genoemd.
Blackwood-profiel
Blackwood is een met China verbonden APT-groep die minstens sinds 2018 actief is en zich bezighoudt met cyberspionageoperaties tegen Chinese en Japanse individuen en bedrijven. Blackwood heeft de mogelijkheid om 'adversary-in-the-middle'-aanvallen uit te voeren om het implantaat dat we NSPX30 noemen te leveren via updates van legitieme software, en om de locatie van zijn commando- en controleservers te verbergen door verkeer te onderscheppen dat door het implantaat wordt gegenereerd.
Campagneoverzicht
In 2020 werd een golf van kwaadaardige activiteiten gedetecteerd op een gericht systeem in China. De machine was geworden wat we gewoonlijk een ‘bedreigingsmagneet’ noemen, omdat we pogingen van aanvallers hebben gedetecteerd om malware-toolkits te gebruiken die verband houden met verschillende APT-groepen: Ontwijkende Panda, LuoYu, en een derde bedreigingsacteur die we volgen als LittleBear.
Op dat systeem hebben we ook verdachte bestanden aangetroffen die niet tot de toolkits van die drie groepen behoorden. Dit bracht ons ertoe een onderzoek te starten naar een implantaat dat we NSPX30 noemden; we konden de evolutie ervan helemaal terugvoeren tot 2005.
Volgens ESET-telemetrie werd het implantaat op een klein aantal systemen gedetecteerd. De slachtoffers zijn onder meer:
- niet-geïdentificeerde personen in China en Japan,
- een niet-geïdentificeerde Chineessprekende persoon die verbonden is met het netwerk van een spraakmakende openbare onderzoeksuniversiteit in het Verenigd Koninkrijk,
- een groot productie- en handelsbedrijf in China, en
- het kantoor in China van een Japans bedrijf in de engineering- en productiebranche.
We hebben ook waargenomen dat de aanvallers proberen systemen opnieuw te compromitteren als de toegang verloren gaat.
Figuur 1 is een geografische spreiding van de Blackwood-doelen, volgens ESET-telemetrie.
NSPX30-evolutie
Tijdens ons onderzoek naar het NSPX30-implantaat hebben we de evolutie ervan teruggevoerd tot een vroege voorouder: een eenvoudige achterdeur die we Project Wood hebben genoemd. Het oudste voorbeeld van Project Wood dat we konden vinden, werd in 2005 samengesteld en lijkt te zijn gebruikt als codebasis om verschillende implantaten te maken. Eén zo'n implantaat, waaruit NSPX30 is voortgekomen, werd in 2008 door de auteurs DCM genoemd.
Figuur 2 illustreert een tijdlijn van deze ontwikkelingen, gebaseerd op onze analyse van voorbeelden in onze collectie en ESET-telemetrie, evenals op openbare documentatie. De hier gedocumenteerde gebeurtenissen en gegevens vormen echter nog steeds een onvolledig beeld van bijna twee decennia van ontwikkeling en kwaadwillige activiteiten door een onbekend aantal dreigingsactoren.
In de volgende paragrafen beschrijven we enkele van onze bevindingen met betrekking tot Project Wood, DCM en NSPX30.
Projecthout
Het startpunt in de evolutie van deze implantaten is een kleine achterdeur die op 9 januari werd samengesteldth, 2005, volgens de tijdstempels in de PE-header van de twee componenten: de lader en de achterdeur. Deze laatste heeft mogelijkheden om systeem- en netwerkinformatie te verzamelen, maar ook om toetsaanslagen op te nemen en screenshots te maken.
We hebben de achterdeur Project Wood genoemd, gebaseerd op een terugkerende mutex-naam, zoals weergegeven in figuur 3.
Compilatietijdstempels zijn onbetrouwbare indicatoren, omdat er door aanvallers mee kan worden geknoeid; daarom hebben we in dit specifieke geval aanvullende gegevenspunten overwogen. Ten eerste de tijdstempels van de PE-header van de lader- en achterdeurmonsters; zie Tabel 1. Er is slechts een verschil van 17 seconden in de compilatietijd van beide componenten.
Tabel 1. PE-compilatietijdstempels in componenten uit het voorbeeld van 2005
SHA-1 |
Bestandsnaam |
Tijdstempel voor PE-compilatie |
Omschrijving |
9A1B575BCA0DC969B134 |
MainFuncOften.dll |
2005-01-09 08:21:22 |
Project Houten achterdeur. Het tijdstempel uit de exporttabel komt overeen met het tijdstempel van de PE-compilatie. |
834EAB42383E171DD6A4 |
NB |
2005-01-09 08:21:39 |
De Project Wood-lader bevat de achterdeur ingebed als hulpbron. |
Het tweede gegevenspunt is afkomstig van het druppelmonster dat is gecomprimeerd met behulp van UPX. Deze tool voegt zijn versie (Afbeelding 4) in het resulterende gecomprimeerde bestand in – in dit geval UPX versie 1.24, die uitgebracht in 2003, vóór de compilatiedatum van het monster.
Het derde gegevenspunt zijn de geldige metagegevens van de PE Rich Headers (Afbeelding 5), die aangeven dat het voorbeeld is gecompileerd met Visual Studio 6.0. uitgebracht in 1998, vóór de compilatiedatum van het monster.
We zijn van mening dat het onwaarschijnlijk is dat de tijdstempels, de Rich Headers-metagegevens en de UPX-versie allemaal door de aanvallers zijn gemanipuleerd.
Openbare documentatie
Volgens een technisch papier gepubliceerd door het SANS Institute in september 2011, werd een naamloze en niet-toegeschreven achterdeur (Project Wood) gebruikt om een politieke figuur uit Hong Kong te targeten via spearphishing-e-mails.
In oktober 2014 publiceerde G DATA een verslag van een campagne genaamd Operatie TooHash, die sindsdien wordt toegeschreven aan de Gelsemium APT-groep. De rootkit G DATA genaamd DirectsX laadt een variant van de Project Wood-achterdeur (zie Figuur 6) met enkele functies die te zien zijn in DCM en later in NSPX30, zoals het op de toelatingslijst zetten van zichzelf in cyberbeveiligingsproducten (later beschreven in Tabel 4).
DCM oftewel Dark Spectre
Het vroege Project Wood diende als codebasis voor verschillende projecten; een daarvan is een implantaat dat door de auteurs DCM wordt genoemd (zie figuur 7).
Het rapport van Tencent uit 2016 beschrijft een meer ontwikkelde DCM-variant die vertrouwt op de AitM-mogelijkheden van de aanvallers om zijn slachtoffers in gevaar te brengen door het DCM-installatieprogramma als software-update af te leveren, en om gegevens via DNS-verzoeken naar legitieme servers te exfiltreren. De laatste keer dat we zagen dat DCM bij een aanval werd gebruikt, was in 2018.
Openbare documentatie
DCM werd voor het eerst gedocumenteerd door het Chinese bedrijf Jiangmin in 2012, hoewel het op dat moment geen naam had, en later door de naam Dark Spectre werd genoemd Tencent in 2016.
NSPX30
Het oudste exemplaar van NSPX30 dat we hebben gevonden, is op 6 juni samengesteldth, 2018. NSPX30 heeft een andere componentconfiguratie dan DCM, omdat de werking ervan in twee fasen is verdeeld en volledig afhankelijk is van de AitM-mogelijkheden van de aanvaller. De code van DCM werd opgesplitst in kleinere componenten.
We hebben het implantaat vernoemd naar PDB-paden gevonden in plug-invoorbeelden:
- Z:Werkruimtemm32NSPX30Pluginspluginb001.pdb
- Z:WorkspaceCodeMMX30ProtrunkMMPluginshookdllReleasehookdll.pdb
Wij zijn van mening dat NSP verwijst naar zijn persistentietechniek: de persistente loader-DLL, die op schijf wordt genoemd msnsp.dll, wordt intern genoemd mijnnsp.dll (volgens de Export Table-gegevens), waarschijnlijk omdat het als Winsock is geïnstalleerd neen mijstempo prover (NSP).
Ten slotte is NSPX30, voor zover wij weten, voorafgaand aan deze publicatie niet publiekelijk gedocumenteerd.
Technische analyse
Met behulp van ESET-telemetrie hebben we vastgesteld dat machines worden gecompromitteerd wanneer legitieme software updates probeert te downloaden van legitieme servers met behulp van het (niet-versleutelde) HTTP-protocol. Gekaapte software-updates omvatten updates voor populaire Chinese software zoals Tencent QQ, Sogou Pinyin en WPS Office.
Figuur 8 toont een illustratie van de uitvoeringsketen zoals te zien in ESET-telemetrie.
In Tabel 2 geven we een voorbeeld van een URL en het IP-adres waarnaar het domein werd omgezet op het systeem van de gebruiker op het moment dat de download plaatsvond.
Tabel 2. Een waargenomen URL, server-IP-adres en procesnaam van een legitieme downloadercomponent
URL |
Eerst gezien |
IP-adres |
ASN |
Downloader |
http://dl_dir.qq[.]com/ |
2021-10-17 |
183.134.93[.]171 |
AS58461 (CHINANET) |
Tencentdl.exe |
Volgens ESET-telemetrie en passieve DNS-informatie zijn de IP-adressen die in andere gevallen zijn waargenomen, gekoppeld aan domeinen van legitieme softwarebedrijven; Op sommige ervan hebben we tot wel miljoenen verbindingen geregistreerd, en we hebben gezien dat legitieme softwarecomponenten vanaf die IP-adressen werden gedownload.
Netwerkimplantaathypothese
Hoe de aanvallers NSPX30 precies als kwaadaardige updates kunnen leveren, is voor ons onbekend, omdat we de tool die de aanvallers in staat stelt hun doelen in eerste instantie in gevaar te brengen, nog moeten ontdekken.
Gebaseerd op onze eigen ervaring met aan China verbonden dreigingsactoren die deze capaciteiten vertonen (Ontwijkende Panda en De Tovenaars), evenals recent onderzoek naar routerimplantaten toegeschreven aan BlackTech en Camaro-draak (Ook bekend als Mustang-panda), speculeren we dat de aanvallers een netwerkimplantaat inzetten in de netwerken van de slachtoffers, mogelijk op kwetsbare netwerkapparatuur zoals routers of gateways.
Het feit dat we geen aanwijzingen hebben gevonden voor het omleiden van verkeer via DNS zou erop kunnen wijzen dat wanneer het veronderstelde netwerkimplantaat niet-versleuteld HTTP-verkeer gerelateerd aan updates onderschept, het antwoordt met de dropper van het NSPX30-implantaat in de vorm van een DLL, een uitvoerbaar bestand of een ZIP-archief. die de DLL bevat.
Eerder vermeldden we dat het NSPX30-implantaat de pakketonderscheppingsmogelijkheden van de aanvallers gebruikt om de C&C-infrastructuur te anonimiseren. In de volgende paragrafen beschrijven we hoe zij dit doen.
HTTP-onderschepping
Om de achterdeur te downloaden, voert de orkestrator een HTTP-verzoek uit (Afbeelding 9) naar de website van Baidu – een legitieme Chinese zoekmachine en softwareleverancier – met een eigenaardige User-Agent vermomd als Internet Explorer op Windows 98. Het antwoord van de server wordt opgeslagen in een bestand waaruit de achterdeurcomponent wordt geëxtraheerd en in het geheugen geladen.
De Aanvraag-URI is op maat gemaakt en bevat informatie van de orkestrator en het gecompromitteerde systeem. Bij niet-onderschepte verzoeken retourneert het versturen van een dergelijk verzoek aan de legitieme server een 404-foutcode. Een soortgelijke procedure wordt door de achterdeur gebruikt om plug-ins te downloaden, waarbij een iets andere procedure wordt gebruikt Aanvraag-URI.
Het netwerkimplantaat zou eenvoudigweg moeten zoeken naar HTTP GET-verzoeken www.baidu.com met dat specifieke oude User-Agent en analyseer de Aanvraag-URI om te bepalen welke lading moet worden verzonden.
UDP-onderschepping
Tijdens de initialisatie creëert de achterdeur een passieve UDP-luisteraansluiting en laat het besturingssysteem de poort toewijzen. Er kunnen complicaties optreden voor aanvallers die passieve achterdeuren gebruiken: bijvoorbeeld als firewalls of routers die NAT gebruiken, inkomende communicatie van buiten het netwerk verhinderen. Bovendien moet de controller van het implantaat het exacte IP-adres en de poort van de aangetaste machine kennen om contact te kunnen maken met de achterdeur.
Wij denken dat de aanvallers dit laatste probleem hebben opgelost door dezelfde poort te gebruiken waarop de achterdeur luistert naar opdrachten om ook de verzamelde gegevens te exfiltreren, zodat het netwerkimplantaat precies weet waar de pakketten naartoe moeten worden doorgestuurd. De gegevensexfiltratieprocedure begint standaard nadat de socket is gemaakt en bestaat uit DNS-query's voor de microsoft.com domein; de verzamelde gegevens worden aan het DNS-pakket toegevoegd. Figuur 10 toont een opname van de eerste DNS-query die door de achterdeur wordt verzonden.
De eerste DNS-query wordt verzonden naar 180.76.76[.]11:53 (een server die op het moment van schrijven geen enkele DNS-service beschikbaar stelt) en voor elk van de volgende zoekopdrachten wordt het bestemmings-IP-adres gewijzigd in het volgende adres, zoals weergegeven in Figuur 11.
De 180.76.76.0/24 netwerk is eigendom van Baidu, en interessant genoeg bieden sommige servers op deze IP-adressen DNS-services aan, zoals 180.76.76.76, dat is van Baidu openbare DNS-service.
Wij zijn van mening dat wanneer de DNS-querypakketten worden onderschept, het netwerkimplantaat deze doorstuurt naar de server van de aanvaller. Het implantaat kan de pakketten eenvoudig filteren door verschillende waarden te combineren om een vingerafdruk te creëren, bijvoorbeeld:
- Bestemming IP Adres
- UDP-poort (we hebben waargenomen 53, 4499 en 8000),
- transactie-ID van de DNS-querymatching 0xFEAD,
- domeinnaam, en,
- DNS-query met toegevoegde externe gegevens.
Laatste gedachten
Het gebruik van de AitM-mogelijkheden van de aanvallers om pakketten te onderscheppen is een slimme manier om de locatie van hun C&C-infrastructuur te verbergen. We hebben slachtoffers buiten China waargenomen – dat wil zeggen in Japan en het Verenigd Koninkrijk – tegen wie de orkestrator de achterdeur kon inzetten. De aanvallers stuurden vervolgens opdrachten naar de achterdeur om plug-ins te downloaden; Het slachtoffer uit Groot-Brittannië ontving bijvoorbeeld twee plug-ins die waren ontworpen om informatie en chats van Tencent QQ te verzamelen. Daarom weten we dat het AitM-systeem aanwezig was en werkte, en we moeten aannemen dat het exfiltratiemechanisme dat ook was.
Sommige servers – bijvoorbeeld in de 180.76.76.0/24 netwerk – lijkt te zijn gecast, wat betekent dat er mogelijk meerdere servers over de hele wereld zijn geolokaliseerd om te reageren op (legitieme) binnenkomende verzoeken. Dit suggereert dat netwerkonderschepping waarschijnlijk dichter bij de doelen wordt uitgevoerd in plaats van dichter bij het netwerk van Baidu. Onderschepping door een Chinese ISP is ook onwaarschijnlijk omdat Baidu een deel van zijn netwerkinfrastructuur buiten China heeft, zodat slachtoffers buiten China mogelijk niet via Chinese ISP's de diensten van Baidu kunnen bereiken.
NSPX30
In de volgende secties beschrijven we de belangrijkste stadia van de uitvoering van de malware.
Stage 1
Figuur 12 illustreert de uitvoeringsketen wanneer de legitieme component een kwaadaardige dropper-DLL laadt die verschillende bestanden op schijf creëert.
De druppelaar wordt uitgevoerd RsStub.exe, een legitieme softwarecomponent van het Chinese antimalwareproduct Rising Antivirus, dat wordt misbruikt om kwaadaardige programma's te sideloaden comx3.dll.
Figuur 13 illustreert de belangrijkste stappen die zijn genomen tijdens de uitvoering van dit onderdeel.
. RsStub.exe gesprekken AfsluitenProces, wordt de loader-functie uit de shellcode uitgevoerd in plaats van de legitieme API-functiecode.
De lader decodeert de installatie-DLL uit het bestand comx3.dll.txt; de shellcode laadt vervolgens de installatie-DLL in het geheugen en roept het toegangspunt aan.
Installatieprogramma-DLL
Het installatieprogramma gebruikt UAC-bypass-technieken uit open-source-implementaties om een nieuw verhoogd proces te creëren. Welke het gebruikt, hangt af van verschillende omstandigheden, zoals te zien is in Tabel 3.
Tabel 3. Hoofdvoorwaarde en respectieve subvoorwaarden waaraan moet worden voldaan om een UAC-bypasstechniek toe te passen
De voorwaarden verifiëren de aanwezigheid van twee processen: dat geloven wij avp.exe is een onderdeel van de antimalwaresoftware van Kaspersky, en rstray.exe een onderdeel van Rising Antivirus.
Het installatieprogramma probeert het indienen van voorbeelden door Windows Defender uit te schakelen en voegt een uitsluitingsregel toe voor de loader-DLL msnsp.dll. Dit gebeurt door twee PowerShell-opdrachten uit te voeren via cmd.exe:
- cmd /c powershell -inputformat geen -outputformat geen -NonInteractive -Command Set-MpPreference -SubmitSamplesConsent 0
- cmd /c powershell -inputformat geen -outputformat geen -NonInteractive -Command Add-MpPreference -ExclusionPath “C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll”
Het installatieprogramma zet vervolgens de persistente loader-DLL neer C: Programmabestanden (x86) Algemene bestanden microsoft sharedTextConvmsnsp.dll en stelt er persistentie voor in met behulp van de API WSCInstallNameSpace om de DLL te installeren als een Winsock-naamruimteprovider genoemd msnsp, zoals weergegeven in figuur 14.
Als gevolg hiervan wordt de DLL automatisch geladen wanneer een proces Winsock gebruikt.
Ten slotte laat het installatieprogramma de loader-DLL vallen mshlp.dll en de gecodeerde Orchestrator-DLL WIN.cfg naar C: Programmagegevens Windows.
Stage 2
Deze fase begint met de uitvoering van msnsp.dll. Figuur 15 illustreert de laadketen in fase 2.
Orchestrator
Figuur 16 illustreert de belangrijkste taken die door de orkestrator worden uitgevoerd, waaronder het verkrijgen van de achterdeur en het laden van plug-ins.
Wanneer deze is geladen, maakt de Orchestrator twee threads om zijn taken uit te voeren.
Orchestrator-thread 1
De Orchestrator verwijdert het oorspronkelijke dropper-bestand van schijf en probeert de achterdeur te laden msfmtkl.dat. Als het bestand niet bestaat of niet kan worden geopend, gebruikt de Orchestrator Windows Internet API's om een verbinding te openen met de legitieme website van het Chinese bedrijf Baidu, zoals eerder uitgelegd.
Het antwoord van de server wordt opgeslagen in een tijdelijk bestand, onderworpen aan een validatieprocedure; als aan alle voorwaarden is voldaan, wordt de gecodeerde payload die zich in het bestand bevindt naar een nieuw bestand geschreven en hernoemd naar msfmtkl.dat.
Nadat het nieuwe bestand is gemaakt met de gecodeerde payload, leest de Orchestrator de inhoud ervan en decodeert de payload met behulp van RC4. De resulterende PE wordt in het geheugen geladen en het toegangspunt wordt uitgevoerd.
Orchestrator-thread 2
Afhankelijk van de naam van het huidige proces voert de Orchestrator verschillende acties uit, waaronder het laden van plug-ins en het toevoegen van uitsluitingen om de loader-DLL's op de toelatingslijst te zetten in de lokale databases van drie antimalwaresoftwareproducten van Chinese oorsprong.
Tabel 4 beschrijft de acties die worden ondernomen wanneer de procesnaam overeenkomt met die van een beveiligingssoftwaresuite waarin de orkestrator zijn laders op de toelatingslijst kan zetten.
Tabel 4. Orchestrator-acties bij uitvoering in een proces met de naam van specifieke beveiligingssoftware
Procesnaam |
Gerichte software |
Actie |
qqpcmgr.exe qqpctray.exe qqpcrtp.exe |
Pogingen om de legitieme DLL te laden TAVinterface.dll om de geëxporteerde functie te gebruiken Maak TaveInstance om een interface te verkrijgen. Wanneer een tweede functie vanuit de interface wordt aangeroepen, geeft deze een bestandspad als parameter door. |
|
360safe.exe 360tray.exe |
Pogingen om de legitieme DLL te laden deepscancloudcom2.dll om de geëxporteerde functies te gebruiken XDOpen, XDAddRecordsEx en XDSluit, voegt het een nieuw item toe aan het SQL-databasebestand snelheidmem2.hg. |
|
360sd.exe |
Pogingen om het bestand te openen sl2.db om een base64-gecodeerde binaire structuur toe te voegen die het pad naar de loader-DLL bevat. |
|
kxescore.exe kxetray.exe |
Pogingen om de legitieme DLL te laden securitykxescankhistory.dll om de geëxporteerde functie te gebruiken KSDllGetClassObject om een interface te verkrijgen. Wanneer het een van de functies uit de vtable aanroept, geeft het een bestandspad als parameter door. |
Tabel 5 beschrijft de acties die worden ondernomen wanneer de procesnaam overeenkomt met die van geselecteerde instant-messaging-software. In deze gevallen laadt de Orchestrator plug-ins vanaf schijf.
Tabel 5. Ochestrator-acties bij uitvoering in een proces met de naam van specifieke instant-messaging-software
Procesnaam |
Gerichte software |
Actie |
qq.exe |
Er wordt geprobeerd een mutex te maken met de naam KRIJG QQ-BERICHTENVERGRENDELING. Als de mutex nog niet bestaat, worden de plug-ins geladen c001.dat, c002.dat en c003.dat van schijf. |
|
wechat.exe |
Laadt plug-in c006.dat. |
|
telegram.exe |
Laadt plug-in c007.dat. |
|
skype.exe |
Laadt plug-in c003.dat. |
|
cc.exe |
Onbekend; mogelijk CloudChat. |
|
raidcall.exe |
||
yy.exe |
Onbekend; eventueel een aanvraag van JJ sociaal netwerk. |
|
Aliim.exe |
Laadt plug-in c005.dat. |
Na het voltooien van de bijbehorende acties keert de draad terug.
Plug-insgroep “c”
Uit onze analyse van de Orchestrator-code begrijpen we dat er minstens zes plug-ins van de “c”-groep zouden kunnen bestaan, waarvan er op dit moment slechts drie bij ons bekend zijn.
Tabel 6 beschrijft de basisfunctionaliteit van de geïdentificeerde plug-ins.
Tabel 6. Beschrijving van de plug-ins uit groep “c”
Plug-in naam |
Omschrijving |
c001.dat |
Steelt informatie uit QQ-databases, inclusief inloggegevens, chatlogboeken, contactlijsten en meer. |
c002.dat |
Koppelt verschillende functies van Tencent QQ's KernelUtil.dll en Common.dll ter nagedachtenis van de QQ.exe proces, waardoor onderschepping van directe en groepsberichten en SQL-query's naar databases mogelijk wordt. |
c003.dat |
Koppelt verschillende API's: - CoCreateInstance - golfInOpen - waveInClose - waveInAddBuffer - waveOutOpen - waveOutWrite - waveOutClose Hierdoor kan de plug-in audiogesprekken in verschillende processen onderscheppen. |
Achterdeur
We hebben al verschillende details gedeeld over het basisdoel van de achterdeur: communiceren met de controller en het exfiltreren van verzamelde gegevens. De communicatie met de controller is grotendeels gebaseerd op het schrijven van plug-inconfiguratiegegevens in een niet-gecodeerd bestand met de naam licentie.dat, en het aanroepen van functionaliteit van geladen plug-ins. Tabel 7 beschrijft de meest relevante opdrachten die door de achterdeur worden afgehandeld.
Tabel 7. Beschrijving van enkele opdrachten die door de achterdeur worden afgehandeld
Opdracht-ID |
Omschrijving |
0x04 |
Creëert of sluit een omgekeerde shell en verwerkt invoer en uitvoer. |
0x17 |
Verplaatst een bestand met paden die door de controller worden verstrekt. |
0x1C |
Verwijdert het implantaat. |
0x1E |
Verzamelt bestandsinformatie uit een opgegeven map, of verzamelt schijfinformatie. |
0x28 |
Beëindigt een proces met een PID gegeven door de controller. |
Plugingroepen “a” en “b”
De backdoor-component bevat zijn eigen ingebedde plug-in-DLL's (zie Tabel 8) die naar schijf worden geschreven en de backdoor zijn basismogelijkheden voor spionage en informatieverzameling geven.
Tabel 8. Beschrijvingen van plug-ingroepen “a” en “b” ingebed in de achterdeur
Plug-in naam |
Omschrijving |
a010.dat |
Verzamelt geïnstalleerde software-informatie uit het register. |
b010.dat |
Maakt schermafbeeldingen. |
b011.dat |
Basis keylogger. |
Conclusie
We hebben aanvallen en capaciteiten geanalyseerd van een bedreigingsacteur die we Blackwood hebben genoemd, die cyberspionageoperaties heeft uitgevoerd tegen individuen en bedrijven uit China, Japan en het Verenigd Koninkrijk. We hebben de evolutie van NSPX30, het op maat gemaakte implantaat dat door Blackwood werd ingezet, in kaart gebracht, helemaal terug tot 2005, tot een kleine achterdeur die we Project Wood hebben genoemd.
Interessant is dat het Project Wood-implantaat uit 2005 het werk lijkt te zijn van ontwikkelaars met ervaring in de ontwikkeling van malware, gezien de geïmplementeerde technieken, wat ons doet geloven dat we nog meer moeten ontdekken over de geschiedenis van de oorspronkelijke achterdeur.
Neem voor vragen over ons onderzoek gepubliceerd op WeLiveSecurity contact met ons op via: bedreigingintel@eset.com.
ESET Research biedt privé APT-inlichtingenrapporten en datafeeds. Voor vragen over deze service kunt u terecht op de ESET-bedreigingsinformatie pagina.
IOCs
Bestanden
SHA-1 |
Bestandsnaam |
ESET-detectienaam |
Omschrijving |
625BEF5BD68F75624887D732538B7B01E3507234 |
minibrowser_shell.dll |
Win32/Agent.AFYI |
NSPX30 initiële druppelaar. |
43622B9573413E17985B3A95CBE18CFE01FADF42 |
comx3.dll |
Win32/Agent.AFYH |
Lader voor het installatieprogramma. |
240055AA125BD31BF5BA23D6C30133C5121147A5 |
msnsp.dll |
Win32/Agent.AFYH |
Persistente lader. |
308616371B9FF5830DFFC740318FD6BA4260D032 |
mshlp.dll |
Win32/Agent.AFYH |
Lader voor de orkestrator. |
796D05F299F11F1D78FBBB3F6E1F497BC3325164 |
comx3.dll.txt |
Win32/TrojanDropper.Agent.SWR |
Gedecodeerd installatieprogramma. |
82295E138E89F37DD0E51B1723775CBE33D26475 |
WIN.cfg |
Win32/Agent.AFYI |
Gedecodeerde orkestrator. |
44F50A81DEBF68F4183EAEBC08A2A4CD6033DD91 |
msfmtkl.dat |
Win32/Agent.VKT |
Gedecodeerde achterdeur. |
DB6AEC90367203CAAC9D9321FDE2A7F2FE2A0FB6 |
c001.dat |
Win32/Agent.AFYI |
Inloggegevens en plug-in voor gegevenssteler. |
9D74FE1862AABAE67F9F2127E32B6EFA1BC592E9 |
c002.dat |
Win32/Agent.AFYI |
Tencent QQ-plug-in voor het onderscheppen van berichten. |
8296A8E41272767D80DF694152B9C26B607D26EE |
c003.dat |
Win32/Agent.AFYI |
Plugin voor audio-opname. |
8936BD9A615DD859E868448CABCD2C6A72888952 |
a010.dat |
Win32/Agent.VKT |
Plug-in voor informatieverzamelaar. |
AF85D79BC16B691F842964938C9619FFD1810C30 |
b011.dat |
Win32/Agent.VKT |
Keylogger-plug-in. |
ACD6CD486A260F84584C9FF7409331C65D4A2F4A |
b010.dat |
Win32/Agent.VKT |
Plug-in voor schermopname. |
Netwerk
IP |
Domein |
Hostingprovider |
Eerst gezien |
Details |
104.193.88[.]123 |
www.baidu[.]com |
Beijing Baidu Netcom Wetenschap en Technologie Co., Ltd. |
2017-08-04 |
Legitieme website waarmee de orkestrator en backdoor-componenten contact hebben opgenomen om payloads te downloaden. Het HTTP GET-verzoek wordt onderschept door AitM. |
183.134.93[.]171 |
dl_dir.qq[.]com |
IRT-CHINANET-ZJ |
2021-10-17 |
Een deel van de URL waar de dropper is gedownload door legitieme software. |
MITRE ATT&CK-technieken
Deze tafel is gemaakt met behulp van versie 14 van het MITRE ATT&CK-framework.
Tactiek |
ID |
Naam |
Omschrijving |
Ontwikkeling van hulpbronnen |
Ontwikkelmogelijkheden: Malware |
Blackwood gebruikte een aangepast implantaat genaamd NSPX30. |
|
Eerste toegang |
Compromis van de toeleveringsketen |
De droppercomponent van NSPX30 wordt geleverd wanneer legitieme software-updateverzoeken worden onderschept via AitM. |
|
Uitvoering |
Opdracht- en scriptinterpreter: PowerShell |
De installatiecomponent van NSPX30 gebruikt PowerShell om de voorbeeldinzending van Windows Defender uit te schakelen en voegt een uitsluiting toe voor een ladercomponent. |
|
Opdracht- en scriptinterpreter: Windows Command Shell |
Het installatieprogramma van NSPX30 kan gebruiken cmd.exe wanneer u probeert UAC te omzeilen. De achterdeur van NSPX30 kan een omgekeerde schil creëren. |
||
Opdracht- en scriptinterpreter: Visual Basic |
Het installatieprogramma van NSPX30 kan VBScript gebruiken bij een poging UAC te omzeilen. |
||
Native API |
NSPX30's installatieprogramma en achterdeurgebruik CreëerProcesA/W API's om componenten uit te voeren. |
||
Volharding |
Uitvoeringsstroom kapen |
De lader van NSPX30 wordt automatisch in een proces geladen wanneer Winsock wordt gestart. |
|
Privilege-escalatie |
Door gebeurtenis geactiveerde uitvoering |
Het installatieprogramma van NSPX30 wijzigt het register om de sleutelwaarde van een mediaknop te wijzigen (APPCOMMAND_LAUNCH_APP2) om naar het uitvoerbare bestand van de lader te verwijzen. |
|
Mechanisme voor misbruik van hoogtecontrole: gebruikersaccountbeheer omzeilen |
Het installatieprogramma van NSPX30 gebruikt drie technieken om UAC-bypasses te proberen. |
||
verdediging ontduiking |
Deobfuscate/decodeer bestanden of informatie |
De installatie-, orkestrator-, backdoor- en configuratiebestanden van NSPX30 worden gedecodeerd met RC4 of combinaties van bitsgewijze en rekenkundige instructies. |
|
Afweer tegengaan: Tools uitschakelen of wijzigen |
Het installatieprogramma van NSPX30 schakelt de voorbeeldinzending van Windows Defender uit en voegt een uitsluiting toe voor een ladercomponent. De Orchestrator van NSPX30 kan de databases van beveiligingssoftware wijzigen om de ladercomponenten op de toelatingslijst te zetten. Gerichte software omvat: Tencent PC Manager, 360 Safeguard, 360 Antivirus en Kingsoft AntiVirus. |
||
Indicator verwijderen: verwijderen van bestanden |
NSPX30 kan zijn bestanden verwijderen. |
||
Indicatorverwijdering: duidelijke persistentie |
NSPX30 kan de persistentie ervan verwijderen. |
||
Indirecte uitvoering van opdrachten |
Het installatieprogramma van NSPX30 voert PowerShell uit via de Command Shell van Windows. |
||
Maskerade: match legitieme naam of locatie |
De componenten van NSPX30 worden opgeslagen in de legitieme map %PROGRAMDATA%Intel. |
||
Wijzig register |
Het installatieprogramma van NSPX30 kan het register wijzigen wanneer wordt geprobeerd UAC te omzeilen. |
||
Verduisterde bestanden of informatie |
De componenten van NSPX30 worden gecodeerd op schijf opgeslagen. |
||
Obfuscated bestanden of informatie: ingesloten payloads |
De druppelaar van NSPX30 bevat ingebedde componenten. De lader van NSPX30 bevat ingebedde shellcode. |
||
Uitvoering van binaire proxy van systeem: Rundll32 |
Het installatieprogramma van NSPX30 kan worden geladen rundll32.exe. |
||
Toegang tot inloggegevens |
Tegenstander-in-the-Middle |
Het NSPX30-implantaat wordt via AitM-aanvallen aan slachtoffers afgeleverd. |
|
Inloggegevens van wachtwoordwinkels |
NSPX30-plug-in c001.dat kan inloggegevens stelen uit Tencent QQ-databases. |
||
De reis van mijn leven |
Bestands- en directorydetectie |
De achterdeur en plug-ins van NSPX30 kunnen bestanden weergeven. |
|
Query register |
NSPX30 a010.dat plugin verzamelt verschillende informatie over geïnstalleerde software uit het register. |
||
Software ontdekken |
NSPX30 a010.dat plug-in verzamelt informatie uit het register. |
||
Ontdekking van systeeminformatie |
De achterdeur van NSPX30 verzamelt systeeminformatie. |
||
Detectie van systeemnetwerkconfiguratie |
De achterdeur van de NSPX30 verzamelt verschillende netwerkadapterinformatie. |
||
Detectie van systeemnetwerkverbindingen |
De achterdeur van de NSPX30 verzamelt netwerkadapterinformatie. |
||
Systeemeigenaar/gebruiker detectie |
De achterdeur van NSPX30 verzamelt systeem- en gebruikersinformatie. |
||
Collectie |
Invoer vastleggen: Keylogging |
NSPX30-plug-in b011.dat is een eenvoudige keylogger. |
|
Verzamelde gegevens archiveren: archiveren via bibliotheek |
NSPX30-plug-ins comprimeren de verzamelde informatie met behulp van zlib. |
||
Audio Capture |
NSPX30-plug-in c003.dat registreert invoer- en uitvoeraudiostreams. |
||
Geautomatiseerde verzameling |
De orkestrator en achterdeur van NSPX30 starten automatisch plug-ins om informatie te verzamelen. |
||
Gefaseerde gegevens: Staging van lokale gegevens |
De plug-ins van NSPX30 slaan gegevens op in lokale bestanden vóór exfiltratie. |
||
Screen Capture |
NSPX30-plug-in b010.dat maakt schermafbeeldingen. |
||
Command and Control |
Applicatielaagprotocol: webprotocollen |
De orkestrator- en backdoor-componenten van NSPX30 downloaden payloads met behulp van HTTP. |
|
Applicatielaagprotocol: DNS |
De achterdeur van NSPX30 exfiltreert de verzamelde informatie met behulp van DNS. |
||
Gegevenscodering: standaardcodering |
Verzamelde gegevens voor exfiltratie worden gecomprimeerd met zlib. |
||
Gegevensverduistering |
De achterdeur van NSPX30 codeert de C&C-communicatie. |
||
Niet-toepassingslaagprotocol |
De achterdeur van NSPX30 gebruikt UDP voor zijn C&C-communicatie. |
||
volmacht |
De communicatie van NSPX30 met zijn C&C-server wordt geproxyd door een niet-geïdentificeerd onderdeel. |
||
exfiltratie |
Geautomatiseerde exfiltratie |
Indien beschikbaar, exfiltreert de achterdeur van NSPX30 automatisch alle verzamelde informatie. |
|
Limieten voor gegevensoverdracht |
De achterdeur van NSPX30 exfiltreert verzamelde gegevens via DNS-query's met een vaste pakketgrootte. |
||
Exfiltratie via alternatief protocol: Exfiltratie via niet-gecodeerd niet-C2-protocol |
De achterdeur van NSPX30 exfiltreert de verzamelde informatie met behulp van DNS. |
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://www.welivesecurity.com/en/eset-research/nspx30-sophisticated-aitm-enabled-implant-evolving-since-2005/
- : heeft
- :is
- :niet
- :waar
- $UP
- 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
- in staat
- Over
- toegang
- Volgens
- Account
- acties
- actieve
- activiteit
- actoren
- toevoeging
- Extra
- Daarnaast
- adres
- adressen
- Voegt
- Na
- tegen
- Agent
- aka
- Alles
- toelatingslijst
- bijna
- al
- ook
- alternatief
- Hoewel
- an
- analyse
- analyseren
- geanalyseerd
- en
- antivirus
- elke
- api
- APIs
- komt naar voren
- huishoudelijke apparaten
- Aanvraag
- Solliciteer
- APT
- Archief
- ZIJN
- rond
- AS
- schatten
- geassocieerd
- ervan uitgaan
- At
- aanvallen
- Aanvallen
- poging
- proberen
- pogingen
- audio
- auteurs
- webmaster.
- Beschikbaar
- terug
- achterdeur
- Backdoors
- Baidu
- gebaseerde
- basis-
- BE
- omdat
- worden
- geweest
- vaardigheden
- wezen
- geloofd wie en wat je bent
- BEST
- bitsgewijze
- zowel
- bebouwd
- by
- bypass
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- bellen
- oproepen
- Campagne
- CAN
- mogelijkheden
- bekwaamheid
- in staat
- vangen
- gedragen
- geval
- gevallen
- keten
- verandering
- veranderd
- de chat
- China
- Chinese
- duidelijk
- dichterbij
- Sluit
- CO
- code
- Codebasis
- verzamelen
- Collectie
- verzamelaar
- COM
- combinaties
- combineren
- komt
- algemeen
- communiceren
- Communicatie
- Communicatie
- Bedrijven
- afstand
- gecompileerd
- het invullen van
- bestanddeel
- componenten
- compromis
- Aangetast
- voorwaarde
- voorwaarden
- Gedrag
- Configuratie
- gekoppeld blijven
- versterken
- aansluitingen
- beschouwd
- bestaat uit
- contact
- bevat
- inhoud
- onder controle te houden
- controleur
- conversaties
- BEDRIJF
- Overeenkomend
- kon
- en je merk te creëren
- aangemaakt
- creëert
- Geloofsbrieven
- Actueel
- gewoonte
- Cybersecurity
- Donker
- gegevens
- data punten
- Database
- databanken
- Datum
- DCM
- DCM's
- decennia
- Standaard
- leveren
- geleverd
- het leveren van
- afhankelijk
- implementeren
- ingezet
- het inzetten
- beschrijven
- beschrijft
- beschrijving
- ontworpen
- bestemming
- gedetailleerd
- gegevens
- gedetecteerd
- Opsporing
- Bepalen
- vastbesloten
- ontwikkelde
- ontwikkelaars
- Ontwikkeling
- ontwikkelingen
- DEED
- verschil
- anders
- directe
- Onthul Nu
- ontdekt
- distributie
- Verdeeld
- dns
- do
- documentatie
- doet
- domein
- domeinen
- Download
- Drops
- gedurende
- elk
- Vroeg
- gemakkelijk
- verhoogd
- e-mails
- ingebed
- maakt
- waardoor
- codering
- versleutelde
- boeiende
- Motor
- Engineering
- toegang
- fout
- vestigt
- EVENTS
- Evolutie
- evolueerde
- evoluerende
- precies
- voorbeeld
- uitvoeren
- uitgevoerd
- Voert uit
- uitvoeren
- uitvoering
- exfiltratie
- tentoonstellen
- bestaan
- ervaring
- uitgelegd
- ontdekkingsreiziger
- exporteren
- feit
- mislukt
- Voordelen
- Figuur
- Dien in
- Bestanden
- filter
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- bevindingen
- vingerafdruk
- firewalls
- Voornaam*
- vast
- volgend
- Voor
- formulier
- Naar voren
- gevonden
- oppompen van
- geheel
- functie
- functionaliteit
- functies
- gateways
- gegenereerde
- geografisch
- krijgen
- GitHub
- Geven
- gegeven
- Go
- Groep
- Groep
- HAD
- Handvaten
- Hebben
- headers
- hier
- Verbergen
- spraakmakend
- geschiedenis
- Hong
- Hong Kong
- Hoe
- Echter
- HTML
- http
- HTTPS
- ID
- geïdentificeerd
- if
- illustreert
- beeld
- implementaties
- geïmplementeerd
- in
- omvatten
- omvat
- Inclusief
- Inkomend
- Verhoogt
- aangeven
- indicaties
- indicatoren
- individueel
- individuen
- informatie
- Infrastructuur
- eerste
- eerste
- geïnitieerd
- invoer
- vragen
- Inzetstukken
- binnen
- installeren
- geïnstalleerd
- instantie
- verkrijgen in plaats daarvan
- Instituut
- instructies
- Intelligentie
- Interface
- inwendig
- Internet
- in
- onderzoek
- IP
- IP-adres
- IP adressen
- ISP
- uitgevende
- IT
- HAAR
- zelf
- Januari
- Japan
- Japanse
- juni
- sleutel
- Koninkrijk
- blijven
- kennis
- bekend
- Kong
- Groot
- Achternaam*
- later
- lancering
- lagen
- leidend
- minst
- LED
- links
- rechtmatig
- Laten we
- Waarschijnlijk
- Lijst
- Het luisteren
- luistert
- lijsten
- laden
- lader
- het laden
- ladingen
- lokaal
- gelegen
- plaats
- slot
- Kijk
- verloren
- Ltd
- machine
- Machines
- Hoofd
- groot
- kwaadaardig
- malware
- manager
- gemanipuleerd
- productie
- Match
- lucifers
- matching
- Mei..
- betekenis
- mechanisme
- mechanismen
- Media
- Geheugen
- vermeld
- Bericht
- berichten
- voldaan
- Metadata
- Microsoft
- macht
- miljoenen
- wijzigen
- meer
- meest
- meestal
- meervoudig
- Dan moet je
- naam
- Genoemd
- Noodzaak
- behoeften
- netwerk
- netwerken
- New
- geen
- Geen
- Merk op..
- aantal
- verkrijgen
- het verkrijgen van
- opgetreden
- oktober
- of
- Aanbod
- Kantoor
- Oud
- oudste
- on
- EEN
- Slechts
- open
- open source
- werkzaam
- besturingssysteem
- operatie
- Operations
- exploitanten
- or
- bestellen
- herkomst
- origineel
- Overige
- onze
- uit
- uitgang
- buiten
- over
- het te bezitten.
- eigendom
- P&E
- pakketten
- pagina
- parameter
- deel
- bijzonder
- passes
- passief
- Wachtwoord
- pad
- paden
- PC
- eigenaardig
- Uitvoeren
- uitgevoerd
- presteert
- volharding
- beeld
- plaats
- Plato
- Plato gegevensintelligentie
- PlatoData
- dan
- inpluggen
- plugins
- punt
- punten
- politiek
- Populair
- mogelijk
- PowerShell
- aanwezigheid
- presenteren
- voorkomen
- die eerder
- Voorafgaand
- privaat
- waarschijnlijk
- probleem
- procedures
- processen
- Product
- Producten
- Programma
- project
- projecten
- protocol
- zorgen voor
- mits
- leverancier
- volmacht
- publiek
- Publicatie
- in het openbaar
- gepubliceerde
- doel
- queries
- liever
- bereiken
- ontvangen
- recent
- record
- archief
- terugkerend
- verwijzen
- verwijst
- met betrekking tot
- geregistreerd
- register
- verwant
- relevante
- te vertrouwen
- stoffelijk overschot
- verwijdering
- verwijderen
- antwoord
- verslag
- Rapporten
- te vragen
- verzoeken
- onderzoek
- onderzoekers
- opgelost
- hulpbron
- degenen
- antwoord
- resultaat
- verkregen
- Retourneren
- omkeren
- Rijk
- stijgende
- router
- Regel
- dezelfde
- gered
- Wetenschap
- Wetenschap en Technologie
- screenshots
- Ontdek
- zoekmachine
- Tweede
- seconden
- secties
- veiligheid
- zien
- lijken
- lijkt
- gezien
- gekozen
- verzonden
- September
- geserveerd
- server
- Servers
- service
- Diensten
- Sets
- verscheidene
- gedeeld
- Shell
- getoond
- Shows
- gelijk
- Eenvoudig
- eenvoudigweg
- sinds
- ZES
- Maat
- iets andere
- Klein
- kleinere
- So
- Social
- Software
- software componenten
- Oplossingen
- sommige
- geraffineerd
- specifiek
- gespecificeerd
- spook
- spleet
- spionage
- Stadium
- stadia
- standaard
- begin
- gestart
- Start
- Stappen
- Still
- shop
- opgeslagen
- streams
- Draad
- structuur
- studio
- onderwerpen
- voorlegging
- dergelijk
- Stelt voor
- suite
- ontstaat
- verdacht
- system
- Systems
- tafel
- Nemen
- ingenomen
- neemt
- doelwit
- doelgerichte
- doelen
- taken
- techniek
- technieken
- Technologie
- tijdelijk
- Tencent
- neem contact
- dat
- De
- Brittannië
- het Verenigd Koninkrijk
- de wereld
- hun
- Ze
- thema
- harte
- Er.
- daarom
- Deze
- ze
- Derde
- dit
- die
- bedreiging
- bedreigingsactoren
- drie
- Door
- niet de tijd of
- tijdlijn
- tijdstempel
- naar
- tools
- Opsporen
- spoor
- Handel
- verkeer
- overdracht
- veroorzaakt
- twee
- Uk
- begrijpen
- United
- United Kingdom
- universiteit-
- onbekend
- onwaarschijnlijk
- NAAM
- bijwerken
- updates
- URL
- us
- .
- gebruikt
- Gebruiker
- toepassingen
- gebruik
- geldig
- bevestiging
- waarde
- Values
- Variant
- divers
- controleren
- versie
- verticaal
- via
- Slachtoffer
- slachtoffers
- Bezoek
- visuele
- Kwetsbaar
- was
- Manier..
- we
- web
- Website
- GOED
- waren
- Wat
- wanneer
- telkens als
- welke
- Breedte
- Wikipedia
- wil
- ruiten
- Met
- hout
- Mijn werk
- werkzaam
- wereld
- zou
- het schrijven van
- geschreven
- nog
- zephyrnet
- Postcode