Aanvallers gebruiken kwaadaardige Terraform-providers om Go-malware te leveren via het HashiCorp-register

Cybersecurity-onderzoekers hebben op Go gebaseerde malware onthuld die wordt verspreid via twee Go-modules en twee Terraform-providers. Dit is de eerste keer dat bedreigingsactoren de gecentraliseerde opslagplaats van HashiCorp gebruiken als distributievector voor kwaadaardige ladingen.

Volgens Aikido staat de lijst met Terraform-providers en Go-modules hieronder:

De malware die via deze pakketten wordt ingezet, vertoont overlappingen met Graphalgo, een campagne die eerder deze februari voor het eerst werd gedocumenteerd door ReversingLabs en werd toegeschreven aan Noord-Koreaanse (ook wel Noord-Koreaanse) dreigingsactoren.

Als onderdeel van deze inspanning worden potentiële ontwikkelaars benaderd via sociale platforms zoals LinkedIn en Facebook, of via vacatures op forums door zich voor te doen als niet-bestaande Web3-bedrijven, en vervolgens gevraagd om een ​​codeeropdracht uit te voeren door een goedaardige GitHub-repository aan te bieden die het kwaadaardige gedrag introduceert via een afhankelijkheid gepubliceerd op npm of PyPI.

Het is vermeldenswaard dat de laatste ontdekking samenvalt met de identificatie van een nieuwe reeks kwaadaardige npm-pakketten, deze week, voor het leveren van dezelfde malware. Een lijst van enkele van de gemarkeerde pakketten, zoals benadrukt door Checkmarx, JFrog en SafeDep, is als volgt:

  • geïndexeerde btree
  • wiskundebasis
  • wiskundehoofd
  • wiskunde-universum
  • moderne evenementen
  • snelle gebeurtenissen
  • crypto-hasher
  • gebeurtenissen-router
  • soort-btree
  • graphcore-js
  • graphlib-js

Uit een analyse van deze pakketten blijkt dat de uitvoering van de malware in sommige gevallen alleen wordt geactiveerd wanneer een specifieke cryptografische operatie wordt uitgevoerd, die alle kenmerken van een gerichte operatie vertoont.

“De payload wordt alleen gedecodeerd wanneer het slachtoffer een lineair systeem met één specifieke matrix oplost, zijn orders opneemt van een slim contract op het Ethereum Sepolia-testnet, een tweede commandokanaal open houdt via Slack en zich verschuilt achter downloadaantallen die zijn vervaardigd door een boerderij van GitHub Actions-medewerkers”, aldus JFrog.

De aanvalsketen maakt de weg vrij voor een gecodeerde payload waarvan de exacte functies onbekend blijven vanwege het feit dat deze is gecodeerd met asymmetrische cryptografie. Het implantaat is ook ontworpen om contact te maken met een Slack-kanaal en peilt elke 10 seconden het “conversations.history”-eindpunt en voert de volgende actie uit op basis van het pakkettype –

  • Start pakket, om een ​​bestandsoverdracht te starten
  • Chunkpakket, om bestandsinhoud te leveren
  • Eindpakket, om de brokken samen te voegen

“Het blockchain-pad decodeert ook externe gegevens, schrijft subwatcher en start deze met Node.js”, aldus SafeDep. “Deze paden laten een operator code afleveren voor uitvoering op een host waar de vereiste configuratie slaagt. We hebben het implantaat teruggevonden, maar niet de latere code die via deze kanalen werd afgeleverd. We kunnen daarom niet zeggen welke taken een operator op een slachtoffer heeft uitgevoerd.”

Aikido zei dat de malware die wordt verspreid via de Terraform-providers en Go Modules een Go-poort is die de blockchain- en Slack-infrastructuur deelt met de npm-versie. Het beschikt over dubbele command-and-control (C2)-kanalen, waarbij gebruik wordt gemaakt van blockchain-deaddrops en een Slack-bottoken.

In het begin verzamelt het systeeminformatie, inclusief hardwarekenmerken, besturingssysteem, hostnaam en of het knooppunt beschikbaar is op het geïnfecteerde systeem. De vastgelegde gegevens worden vervolgens via de API verzonden naar het door de aanvaller bestuurde Slack-kanaal.

“Na de check-in-oproep genereert de malware een kortstondig publiek-privaat sleutelpaar”, aldus beveiligingsonderzoeker Oliver Smith. “De malware genereert gedeelde sleutels door zijn kortstondige sleutel te combineren met twee openbare sleutels van bedreigingsactoren. De gedeelde sleutel zorgt ervoor dat de malware kan communiceren met geïnfecteerde clients via gedeelde kanalen zonder C2-communicatie bloot te leggen of berichten tussen geïnfecteerde hosts te lekken.”

De op blockchain gebaseerde C2 haalt gegevens op van een Ethereum slim contract op het Arbitrum Sepolia-testnet met behulp van een hardgecodeerd contractadres, en gebruikt het om elke drie seconden te peilen naar gecodeerde opdrachten. De opdrachten worden vervolgens uitgevoerd als Go- of JavaScript-code.

“Het C2-mechanisme is een verdere indicatie dat deze malware deel uitmaakt van een gerichte operatie”, aldus Smith. “Het vermogen van de bedreigingsactor om commando’s uit te voeren wordt belemmerd omdat alle clients alle berichten consumeren en geen actie ondernemen als ze er niet in slagen berichten te ontsleutelen die voor andere clients bedoeld zijn.”

“Dit is een bijzonder geavanceerde implementatie van een blockchain-deaddrop die bidirectionele communicatie integreert met minimaal risico op informatielekken of verstoring.”

Socket-beveiligingsonderzoeker Karlo Zanki vertelde The Hacker News dat Graphalgo zich blijft houden aan hetzelfde operationele draaiboek, waarbij hij waarschijnlijk nep-sollicitatiegesprekken gebruikt als de primaire initiële toegangsvector.

“De uitvoering wordt afgesloten door een basiscontrole op gegevens die waarschijnlijk door de front-endcomponent worden aangeleverd”, aldus Zanki. “Hoewel dit gedrag zou kunnen duiden op doelgerichte activiteit, is het waarschijnlijker bedoeld om de analyse te belemmeren als onderzoekers de backend-payload ontdekken zonder de bijbehorende frontend. De oorspronkelijke Graphalgo-operatie vertoonde hetzelfde kenmerk.”

Is Terraform Registry de nieuwe supply chain-aanvalsvector?

De opkomst van Terraform-providers is een nieuwe tactiek, maar misschien wel geen verrassing, omdat het een directere route kan bieden naar kritische productiereferenties, voegde Aikido eraan toe. Het illustreert ook dat de dreigingsactor het bereik van de campagne uitbreidt door verder te gaan dan npm en PyPI.

Dit is echter niet de eerste keer dat Noord-Koreaanse tegenstanders hun toevlucht nemen tot het gebruik van Terraform-providers voor de verspreiding van malware. In een vorige week gepubliceerd rapport beschrijft SentinelOne hoe het dreigingsactiviteitencluster met de codenaam TraderTraitor vertrouwde op bewapende Terraform-vergrendelingsbestanden om de levering van op Rust gebaseerde achterdeurtjes uit aangepaste Terraform-providerregisters die door de aanvallers worden beheerd, te vergemakkelijken.

“Het is te vroeg om met zekerheid te concluderen dat aan de DVK gelinkte dreigingsactoren Terraform-registers gebruiken als een nieuwe distributietactiek”, aldus Zanki. “Desalniettemin maakt hun recente verschijning in twee afzonderlijke campagnes die verband houden met deze operators het toeval minder waarschijnlijk. Deze bedreigingsactoren hebben een geschiedenis van het introduceren van nieuwe infectietechnieken en het toepassen van succesvolle methoden in meerdere campagnes.”

“Aan Noord-Korea gelinkte bedreigingsactoren zijn zeer adaptief en breiden hun toolsets voortdurend uit met technieken die een breed scala aan doelen kunnen bereiken. Terraform-registers kunnen het volgende distributiekanaal zijn dat ze op grote schaal gaan gebruiken.”

Schadelijke npm-pakketaandelen Links naar PolinRider

De ontwikkeling komt op het moment dat CloudSEK een voorheen niet-gerapporteerde JavaScript-lader met de naam GHAPPIER benadrukte, die werd gedistribueerd na het compromitteren van een legitiem npm-pakket, “@dforge-core/dforge-mcp.” Het is momenteel niet bekend hoe de aanvallers toegang hebben gekregen tot het account van de beheerder, hoewel vermoed wordt dat de machine van de ontwikkelaar mogelijk is geïnfecteerd door een kwaadaardige extensie of pakket.

Het primaire doel van de lader is om code op te halen van een server die de operator beheert en deze uit te voeren, waardoor de bedreigingsacteur de payloads tijdens runtime dynamisch kan wijzigen.

De kwaadaardige versie (0.2.21) zou op 9 september 2026 35 minuten en 38 seconden live zijn gebleven op npm, voordat de oorspronkelijke beheerder de wijzigingen ongedaan maakte en een schone versie (0.2.22) publiceerde. Dezelfde lader is waargenomen in 65 openbare opslagplaatsen die tot 22 verschillende accounts behoren.

“Het bereikte hen in beide gevallen op dezelfde manier: de operator verkreeg de opgeslagen inloggegevens van een ontwikkelaar en gebruikte die inloggegevens vervolgens om in elke repository te schrijven waar de ontwikkelaar naartoe kon pushen”, zei CloudSEK-onderzoeker Vikas Kundu.

Een vergelijking van twee exemplaren van de loader – één uit het npm-pakket en een andere verkregen uit de repository van een tweede slachtoffer – heeft onthuld dat de aanvalsketen dezelfde staging-host en verzoek aan een Vercel-domein gebruikt, maar verschilt in de gebruikte campagnetag (“ghappier” vs. “g0115”).

Interessant is dat de tweede payload is waargenomen met behulp van de NullReceiver-techniek om zijn C2-adres (“193.247.144(.)38”) te verkrijgen van een portemonnee van een aanvaller en beschikt over dezelfde volgbytereeks (“68656c6c6f6970626f742121”) die decodeert naar de string “helloipbot!!.” Deze activiteit overlapt met een langlopende aan Noord-Korea gelinkte campagne die bekend staat als PolinRider.

Rust waarschuwt voor sollicitatiegesprekken met een schadelijke lading

De bevindingen volgen ook op een waarschuwing van het Rust-project over een lopende campagne gericht op roest-lang-leden en eigenaren van populaire kratten met als doel hun apparaten en accounts in gevaar te brengen voor de verspreiding van malware.

“Een videogesprek wordt opgezet voor iets positiefs – misschien voor een baan, misschien voor een project, misschien voor een contractmogelijkheid – en dan wordt dat gebruikt als een vector om het doel ertoe te brengen iets op hun computer te installeren (zoals een zogenaamd ontbrekende audiocodec) of een andere opdracht uit te voeren (bijvoorbeeld door een opdracht op het klembord te plaatsen), “zei Adam Harvey, een softwareontwikkelaar bij de Rust Foundation.

“Deze aanvallers maken nieuwe maar legitiem ogende bedrijfsprofielen aan, inclusief plausibele LinkedIn-aanwezigheden, om een ​​vluchtige inspectie te doorstaan.”

Het Rust-project zei dat de modus operandi overlapt met de Contagious Interview-campagne die verband houdt met Noord-Korea, en roept bijdragers en krateigenaren op om voorzichtig te zijn, ervoor te zorgen dat multi-factor authenticatie (MFA) is ingeschakeld en hun accounts te controleren op onverwachte logins.

Thijs Van der Does