Op 20 augustus zijn kwaadaardige versies van drie Rust-pakketten, waaronder het veelgebruikte arrayref, gepubliceerd op de crates.io-registratie. Deze pakketten bevatten een backdoor die automatisch werd uitgevoerd tijdens het compileren van getroffen projecten. Onderzoekers van Wiz meldden dat de aanval infrastructuur deelt met recente supply-chain campagnes die worden toegeschreven aan Noord-Koreaanse dreigingsactoren.
De gecompromitteerde versies betroffen "arrayref@0.3.10", "internment@0.8.7" en "append-only-vec@0.1.9". Alle drie introduceerden een afhankelijkheid van "proc-macro1", een typosquat van het legitieme en veelgebruikte "proc-macro2" crate. De kwaadaardige afhankelijkheid bevatte een buildscript dat tijdens de compilatie een tweede payload downloadde en uitvoerde, aldus de onderzoekers in een blogpost.
Deze tweede payload werd platformafhankelijk geselecteerd en ondersteunde x86_64 versies van Linux, Windows en macOS, evenals aarch64 macOS. Volgens een analyse heeft arrayref 245 miljoen downloads ooit, waarvan 53,7 miljoen in de laatste 90 dagen. De blootstellingsduur per crate werd geschat op respectievelijk 86, 90 en 107 minuten, waarna de pakketten en gerelateerde crates werden verwijderd.
De aanval vereiste niet dat ontwikkelaars verdachte code uitvoerden of functies aanriepen uit arrayref. Omdat Rust buildscripts tijdens compileertijd draaien, was het voldoende om een project te bouwen dat arrayref 0.3.10 gebruikte om de payload te activeren. Het "Cargo.toml"-bestand voegde proc-macro1 toe als afhankelijkheid, die vervolgens een command-and-control (C2) URL reconstrueerde, TLS-certificaatvalidatie uitschakelde, een platform-specifieke payload downloadde en uitvoerde als onderdeel van het buildproces.
De payload verzamelde informatie over host, gebruikersnaam en besturingssysteem, inventariseerde geïnstalleerde applicaties en inspecteerde browserprofielen van Chrome, Brave en Edge op opgeslagen inloggegevens en extensies. Daarnaast kon het persistentie opbouwen via Windows Registry Run keys, macOS LaunchAgents of Linux systemd user services en commando's accepteren om zichzelf te herconfigureren, te beëindigen of scripts te downloaden en uit te voeren. De payload ondersteunde Linux, Windows en macOS, inclusief Apple Silicon Macs, en beschikte over een fallback mechanisme om elke vijf dagen tien .com domeinen te genereren als de primaire C2 onbereikbaar was.
Wiz constateerde dat de infrastructuur van de payload sterk overlapt met operaties die worden toegeschreven aan Noord-Koreaanse actoren. De C2-aanvraagroute komt overeen met die van de Mastra-campagne, die Microsoft koppelt aan de DPRK-gerelateerde groep Sapphire Sleet. Ook deelt de gebruikte IP-infrastructuur een SSL-certificaatuitgever met die operatie. Verder is er een link met de Axios npm supply-chain campagne, waarbij een slachtoffer C2-verkeer rapporteerde naar een IP-adres dat ook in Google Cloud Threat Intelligence’s analyse van Axios voorkwam, welke door Mandiant aan Noord-Korea wordt gelinkt.
Wiz adviseert organisaties om "Cargo.lock"-bestanden en lokale Cargo-caches te doorzoeken op de gecompromitteerde versies en door aanvallers gecontroleerde pakketten. Ontwikkelwerkplekken en CI-runners die getroffen projecten hebben gebouwd, dienen als gecompromitteerd te worden beschouwd. Credentials, tokens en sleutels moeten worden geroteerd en artefacten opnieuw worden opgebouwd vanuit schone bronnen.
Reacties
Geef een reactie
Vereiste velden zijn gemarkeerd met *