Carbonato-malware kaapt Docker-hosts met AI-agents

Carbonato-malware kaapt Docker-hosts met AI-agents

Een nieuw ontdekt botnet genaamd Carbonato dringt slecht beveiligde Docker-hosts binnen en installeert daar het AI-framework Hermes Agent, dat vervolgens op de gecompromitteerde machines de opdrachten van de operators uitvoert. Dat meldt ThreatDown.

Het beveiligingsbedrijf voor de zakelijke markt vond de malware in een Docker-registry zonder authenticatie, met bijna 60 repositories en 4,3 GB aan image-data. Het operationele bewijsmateriaal dat daaruit is teruggehaald, beslaat de periode van oktober 2024 tot augustus 2026. Het archief bevatte ook details over een aparte campagne met nagemaakte cryptowallet-apps, een lokmiddel dat onlangs ook opdook in campagnes met stealers voor de Mac.

Van open poort naar geprivilegieerde container

Carbonato richt zich op Docker-hosts waarvan de API zonder authenticatie open staat op poort 2375. Docker wordt veel gebruikt om applicaties in geïsoleerde containers te draaien, en de daemon is de achtergronddienst die die containers beheert.

Zodra de malware bij de API komt, geeft hij de daemon opdracht een geprivilegieerde container te starten. Daarmee krijgt hij toegang tot de onderliggende host.

De volgende stappen verlopen volgens een vast patroon. De malware:

  • zet een reverse SSH-tunnel op
  • installeert een SSH-server die is ingesteld met de sleutel van de operators
  • meldt de nieuwe installatie via Telegram aan de aanvallers

Tegelijkertijd zorgen scripts voor persistentie via cronjobs, systemd-timers, rc.local en OpenRC-hooks. Dat zijn verschillende manieren waarop Linux-systemen taken bij het opstarten of volgens een schema uitvoeren, dus wie er maar één verwijdert, heeft de host nog niet schoon.

Een AI-agent met de naam GH0ST

Wat Carbonato onderscheidt, is het gebruik van Hermes Agent. De aanvallers zetten een agent met de naam "GH0ST" in en vervangen het standaardpersonabestand SOUL.md van het framework door hun eigen instructies.

Hermes is de laatste tijd bij meerdere kwaadaardige operaties gebruikt. Zo beschreef cybersecuritybedrijf Gambit een grootschalige skimmingoperatie die erop was gebouwd en waarbij de gegevens van 600.000 creditcards werden buitgemaakt.

Bij Carbonato krijgt de agent zijn taken via Telegram binnen. Het gaat onder meer om het verzamelen van AI-API-sleutels, SSH-inloggegevens, toegangstokens en andere gegevens, het uitvoeren van commando's en het terugsturen van de resultaten. ThreatDown omschrijft dit als een door de operator aangestuurd proces rond een "interactieve commandolus".

"Het model interpreteert de taak, schrijft terminalcommando's, leest de uitvoer en beslist wat de volgende stap is," leggen de onderzoekers uit.

"De agent voert die commando's uit op het systeem van het slachtoffer en stuurt zijn rapport terug naar de Telegram-chat die ook de installatiemeldingen ontvangt," voegen ze eraan toe.

Verspreiding als een worm

Carbonato wacht niet tot de operators nieuwe doelwitten vinden. Scripts op elke geïnfecteerde host scannen elke vijf minuten de gekoppelde netwerken op zoek naar meer onbeschermde Docker-daemons.

Vinden ze er een, dan haalt het nieuwe slachtoffer het implantaat op uit de registry, start het dezelfde geprivilegieerde container en belandt het in dezelfde lus van persistentie en scannen.

ThreatDown kon Carbonato niet koppelen aan een bekende groep aanvallers. Op basis van meerdere aanwijzingen vermoeden de onderzoekers dat de operator zich in Costa Rica bevindt.

Detectie en verdediging

Om besmetting te voorkomen, raadt ThreatDown aan de API's van Docker-daemons niet via het netwerk bereikbaar te maken en authenticatie op registries verplicht te stellen.

Aanwijzingen voor een besmetting met Carbonato zijn onder meer:

  • een GH0ST-personabestand
  • de instelling CARBONATO_API_KEY
  • onverwacht Telegram-verkeer
  • reverse SSH-tunnels richting AS262145, een autonoom-systeemnummer dat een specifiek netwerk op het internet aanduidt

Onze kijk

De manier van binnenkomen is hier oud nieuws. Docker-API's die open staan op poort 2375 zijn al jaren een bekende zwakke plek, en de oplossing is eenvoudig. Nieuw is wat er na de inbraak gebeurt. In plaats van een vaste payload af te leveren, geven de operators de host in handen van een AI-agent die zelf bepaalt welke commando's hij uitvoert en hoe hij op de uitvoer reageert. Dat wijst erop dat aanvallers agentframeworks zien als flexibel gereedschap na de inbraak, dat zich zonder extra scripts aan elke machine kan aanpassen.

Ook de lijst met doelwitten is veelzeggend. AI-API-sleutels staan naast SSH-inloggegevens en toegangstokens op het boodschappenlijstje van de agent. Gestolen AI-sleutels kunnen worden doorverkocht of gebruikt om op kosten van het slachtoffer nog meer agents te draaien, en het is de moeite waard in de gaten te houden of dat een gangbaar doel wordt bij inbraken in de cloud.

Carbonato past bovendien in een breder patroon. AI-agents duiken aan beide kanten van aanvallen op, van lekken waarmee buitenstaanders Salesforce Agentforce kunnen kapen tot agents die een statistiekenportaal van Medicare binnendrongen in Australië. Voor verdedigers is de praktische les dat onverwachte agentframeworks en personabestanden op servers als alarmsignaal moeten gelden. Of beveiligingstools zulke frameworks standaard gaan markeren, moet nog blijken.