Direct naar de inhoud
Cybersecurity

NetamLoader: malwareketen op Windows 10 via .NET

NetamLoader malwareketen

Onderzoekers van Kaspersky hebben details gedeeld over een NetamLoader malwareketen die is gericht op overheidsorganisaties in Azië. Volgens de melding gaat het om een uiterst samengestelde aanval, gebaseerd op een custom Windows 10-build die exclusief wordt gebruikt door overheidsinstanties.

De onderzoekers konden (nog) niet vaststellen door wie de activiteit is uitgevoerd, en ook is onduidelijk of er meerdere systemen zijn gecompromitteerd of dat er daadwerkelijk gevoelige data is buitgemaakt. Wel is duidelijk dat de techniek draait om het geruisloos uitvoeren van kwaadaardige code via het .NET Framework en een slimme keten van laadstappen.

Wat is de NetamLoader malwareketen precies?

De aanval draait om een voorheen onbekend framework voor het laden van .NET-assemblies, dat Kaspersky NetamLoader noemt. Het interessante daarbij is dat de afhandeling van de payload niet plaatsvindt in één klap, maar als een meerstaps leverings- en uitvoeringstraject.

De onderzoekers koppelen de artefacten aan een Windows 10-build die specifiek is samengesteld voor overheidstoepassingen. In de telemetrie troffen ze in elk geval één slachtoffer in Azië aan. Welke landen of instellingen precies zijn geraakt, is niet publiek gemaakt.

Levering via CAB- en Windows-updatepaden

De eerste sporen wijzen erop dat de malware is verpakt in een Windows cabinet archive (CAB)-bestand. Dat CAB-bestand bevatte onder meer een .config-bestand en werd geplaatst in een map die wordt gebruikt voor Windows updatepakketten.

Concreet noemde Kaspersky een pad waar het CAB-bestand terechtkwam:

  • C:WindowsSoftwareDistributionDownload\u0000e4537a1762fcafd2fd96bfc825bad34f9db9a24

Daarna werd de inhoud uitgepakt in een installatiemap:

  • C:WindowsSoftwareDistributionDownloadInstall

De exacte manier waarop het CAB-bestand uiteindelijk werd aangeboden (het echte leveringsmiddel) bleef onbekend. Wel is opvallend dat de CAB-inhoud bestandsonderdelen bevatte die niet allemaal kwaadaardig waren.

AppDomainManager-injectie: code execution via .NET opstart

Het hart van de NetamLoader malwareketen is een techniek met AppDomainManager injection. Daarmee wordt het opstartmechanisme van een .NET-applicatie gebruikt: wanneer een .NET-toepassing zijn application-domain initialiseert, kan een gemanipuleerde .config-parameter het laden van willekeurige .NET-assemblies omleiden.

Het doel is hetzelfde als bij bekende DLL-sideloading: kwaadaardige code draait binnen een legitiem proces, waardoor het lastiger kan zijn om de activiteit op te sporen. Voor de buitenwereld lijkt de uitvoering daarmee op normale softwarewerking.

Patch My PC als schijnvertoning in de keten

In de CAB zaten in totaal zeven bestanden. Vier daarvan bleken legitieme componenten van Patch My PC, een endpoint-managementsoftwarepakket. Kaspersky noemt de volgende bestanden in de archive:

  • fabric.config
  • Microsoft.HostIntegration.Connectors.dll
  • PatchMyPC-Enum.dll
  • PatchMyPC-Models.dll
  • PatchMyPC-ScriptRunner.exe
  • PatchMyPC-ScriptRunner.exe.config
  • Resources.resx

Volgens de beschrijving bevatte niet elk bestand kwaadaardige code. Met uitzondering van Resources.resx was er geen directe ‘live’ malwarecode zichtbaar in de andere componenten. Dit maakt de keten extra afhankelijk van de manier waarop de applicatie de config en resources interpreteert.

Twee fasen: van ScriptRunner naar gecodeerde payloads

Kaspersky beschrijft de uitvoering als een twee-staps proces. Eerst dient PatchMyPC-ScriptRunner.exe als lanceerplatform. Vervolgens misbruikt de malware de eerdergenoemde AppDomainManager-injectie om de uitvoerlogica richting een .config-bestand te sturen.

In de eerste fase gebeurt daarbij het volgende: de aanpak verwerkt de PatchMyPC-ScriptRunner.exe.config en leidt uiteindelijk tot het uitvoeren van Microsoft.HostIntegration.Connectors.dll. Daarna wordt in dezelfde map gezocht naar fabric.config, dat vervolgens wordt gebruikt om Resources.resx te laden.

In de tweede fase draait het om multiple layers aan versleutelde, gecomprimeerde of gecodeerde data. De inhoud bevat onder meer:

  • XAML-bestanden (meerdere varianten)
  • .NET-assemblies
  • JSON-gegevens

Deze lagen worden achtereenvolgens gedecodeerd en geladen door componenten in de keten. Daarmee wordt de kans vergroot dat één statische scan of één enkele inspectiestap niet genoeg is.

Payload-lagen (XAML en JSON) en stapgewijze opbouw

De beschreven payloadstructuur bevat meerdere genummerde XAML-onderdelen. Zo fungeert XAML-2 als schakel naar de volgende fase. Een van de XAML-onderdelen wordt daarnaast ingezet om een beveiligingscomponent te omzeilen: Kaspersky noemt dat XAML-2-1 gebruikt wordt om AMSI (Antimalware Scan Interface) te omzeilen.

Daarna bevat XAML-2-2 twee delen: een .NET-module (door Kaspersky aangeduid als .NET 1 Loader) en een JSON-datapakket (aangeduid als JSON-1). JSON-1 draagt volgens de beschrijving meerdere functies in zich, waaronder het opslaan van configuratie voor de C2-server (command-and-control).

Het componentenverhaal loopt vervolgens door naar XAML-3, dat ontworpen is om binnen dllhost.exe te draaien. Dat payloadonderdeel decodeert, comprimeert en laadt uiteindelijk de volgende assemblylaag: de .NET 2 Plugin.

Wat doet de .NET 2 Plugin in het echte compromis?

De uiteindelijke .NET 2 Plugin haalt de C2-configuratie op en verzamelt ook systeeminformatie vanuit het Windows-register. Daarnaast controleert hij of het huidige hostproces inderdaad dllhost.exe is.

Vervolgens bouwt de malware een timingcomponent in. Kaspersky meldt dat de eerste aanvraag aan de C2-server pas gebeurt na een willekeurige wachttijd van 20–40 minuten. Daarna volgt een pollingsroutine waarmee regelmatig wordt gecontroleerd of er een nieuwe instructie klaarstaat.

De communicatie met de C2-server die in de beschrijving is genoemd, ging richting:

  • openaigpt4v[.]com

Bij een geldige respons pauzeert de loop kort (5–6 minuten). Krijgt de malware geen geldig antwoord, dan pauzeert hij langer (22–28 uur) en controleert hij intussen elke 10 minuten of de lange wachttijd inmiddels verstreken is.

Tracks afdekken: verwijderen en sporen uitwissen

Een belangrijk onderdeel van de NetamLoader malwareketen is het opruimen van sporen. De onderzoekers beschrijven dat de malware na uitvoering niet alleen bestanden uit de CAB verwijdert, maar ook CLR usage logs en Windows Prefetch-informatie aanpakt. Daarmee wordt het voor forensisch onderzoek lastiger om de volledige keten direct te reconstrueren.

Dit sluit aan bij een bredere trend: niet alleen initial access en uitvoering tellen, maar ook het vermogen om detectie- en analysevensters te verkleinen.

Toont dit een supply chain aanpak?

Kaspersky suggereert dat de operatie mogelijk is begonnen als een supply chain aanval. Dat betekent: een aanvaller compromitteert een vertrouwde derde partij of softwarecomponent, waarna downstream gebruikers alsnog geraakt kunnen worden.

In deze casus blijft het exacte leveringskanaal onbekend. Toch is de combinatie van (1) plaatsing binnen een Windows update-achtig pad en (2) het gebruik van legitieme componenten uit een endpoint-tool een duidelijke aanwijzing dat de aanvaller bewust “normaal gedrag” wilde nabootsen.

Waarom Windows “Government Edition” relevant kan zijn

De targeted build is door Kaspersky omschreven als een custom Windows 10-versie die exclusief door overheden in Azië wordt gebruikt. De onderzoekers vermoeden dat het om een variant kan gaan die sterk aansluit op Windows 10 China Government Edition (zoals Microsoft die aanbiedt voor Chinese overheids- en staatsgerelateerde organisaties).

Daarbij is eerder in augustus gerapporteerd dat een Chinese veiligheidsdienst sommige overheidsinstanties zou hebben gevraagd te stoppen met het gebruik van die “Government Edition” en in plaats daarvan Chinese distributies (Linux) te overwegen. De reden die werd genoemd had te maken met data security en minder afhankelijkheid van buitenlandse technologie.

Los daarvan blijft de kerngedachte staan: wanneer landen eigen core softwareplatformen ontwikkelen en onderhouden, ontstaat er tegelijk ook een verantwoordelijkheid om het gehele ecosysteem actief te beschermen.

Wat kun je nu doen als je te maken hebt met .NET en endpoint tooling?

Je hoeft niet precies dezelfde infrastructuur te hebben om lessen uit deze NetamLoader malwareketen te halen. Richt je aandacht op de combinatie van .NET executie en “legitieme” softwarepaden.

  • Monitor .NET config-aanpassingen en ongebruikelijke AppDomainManager-injectiepatronen bij endpoints.
  • Let op CAB-/updatepad-activiteiten buiten normale updatevensters en processen die onverwacht uit updatepaden worden uitgevoerd.
  • Beoordeel resourcebestanden zoals .resx, vooral wanneer ze worden gebruikt als drager voor meerdere payloadlagen.
  • Onderzoek gedrag rond dllhost.exe en procescontexten waarin verdachte XAML/.NET plugin-logica actief wordt.

Wil je breder kijken naar de aanpak bij netwerk- en endpointdreigingen? Je kunt ook eens lezen hoe aanvallen zich kunnen uiten in andere scenario’s, zoals in Network-layer DDoS stijgt sterk: wat je moet weten, of hoe remediatie en bewijsgedreven aanpak helpen bij incidenten: Veilige security-remediatie: Observe, Prove, Act.

Conclusie

De NetamLoader malwareketen laat zien hoe ver aanvallers kunnen gaan om code-uitvoering te verbergen: via een combinatie van Windows-updatepaden, legitieme endpointonderdelen en .NET AppDomainManager-injectie. Door meerdere payloadlagen (XAML, JSON en .NET plugins) te stapelen én sporen af te dekken, wordt de kans kleiner dat één momentopname voldoende bewijs levert.

Omdat de oorsprong van de aanval en de omvang van het compromis niet volledig duidelijk zijn, is het extra belangrijk om detectie en respons te richten op gedrag en context: niet alleen op bekende bestandsnamen of hashes, maar op hoe en waar .NET code precies wordt geladen en uitgevoerd.

Bron: https://thehackernews.com/2026/11/netamloader-malware-targets-government.html