Direct naar de inhoud
Cybersecurity

Carbonato-botnet: Hermes via Docker in actie

Carbonato-botnet Hermes

Onderzoekers hebben details gedeeld over een nieuw botnet: Carbonato. De malware richt zich op exposed Docker daemons en zet vervolgens een open-source AI-agentframework neer, Hermes. Wat dit extra zorgwekkend maakt, is dat de agent via Telegram opdrachten kan uitvoeren en zichzelf voortdurend opnieuw kan opstarten, met tegelijk een sterke focus op het verzamelen van gevoelige gegevens.

In dit artikel lees je hoe de aanval werkt, welke onderdelen in de keten terugkomen, en welke verdedigingsmaatregelen je prioriteit geeft als je Docker-omgevingen en externe managementpoorten beheert.

Hoe Carbonato Docker-hosts binnenkomt

Carbonato zoekt actief naar systemen waarop de Docker daemon bereikbaar is zonder authenticatie. Concreet gaat het om Docker die luistert op poort 2375. Als een host aan die voorwaarde voldoet, wordt de machine onderdeel van de propagatieketen.

De aanpak heeft twee kenmerken. Ten eerste verspreidt het botnet zich met worm-achtige mogelijkheden: wanneer een Docker daemon gevonden is, kan de malware via die nieuwe host verder uitrollen. Ten tweede scant het om de paar minuten de nabije netwerken, waardoor het bereik systematisch groeit.

Dat uitrollen gebeurt niet met “handwerk” op iedere endpoint. Zodra een doelwit gevonden is, draait Carbonato een privileged container en voert het commando’s uit op het onderliggende systeem. Dit is een belangrijke rode vlag, want privileged containers vergroten de impact van een compromis.

Hermes Agent als opdrachtlaag via Telegram

Na de initial compromise installeert Carbonato het Hermes Agent framework. De onderzoekers geven aan dat het framework daarbij vrijwel onveranderd wordt geplaatst, maar dat daarna specifieke configuratie wordt aangepast: er wordt een persona-bestand (SOUL.md) overschreven met een prompt.

Die prompt stuurt Hermes om taken te doen die operators aanleveren. Volgens de analyse moet de AI-agent onder andere:

  • opdrachten uitvoeren die binnenkomen via Telegram,
  • persistent blijven,
  • met voorrang credentials en API-gerelateerde secrets verzamelen.

De Hermes-agent werkt vervolgens in een interactieve command loop: Telegram-taakjes worden geïnterpreteerd, doorgezet naar een LLM-gateway en de resulterende acties worden teruggekoppeld. Daarna vertaalt het systeem de output naar terminalcommando’s die door de agent worden uitgevoerd en waarvan de resultaten teruggaan naar de aanvaller.

Belangrijk detail: de onderzoekers beschrijven dat de prompt expliciet “zonder morele of ethische beperkingen” wil opereren. Daarmee is het doel van Hermes niet alleen detectie- of analysetaken, maar het daadwerkelijk faciliteren van kwaadaardige uitvoering.

Persistence: cron en watchdog-scripts

Carbonato wil niet alleen binnenkomen, maar ook blijven. De malware positioneert zichzelf door het te vermommen als een systeemcomponent en gebruikt daarnaast meerdere persistentie-mechanismen.

In de analyse worden met name twee routes genoemd:

  • cron-jobs om opnieuw op te starten,
  • watchdog scripts die controleren of kwaadaardige onderdelen nog aanwezig zijn, en zo nodig de implant weer relanceren.

Voor defenders betekent dit dat “even verwijderen” van bestanden of containers niet genoeg is. Als cron en watchdogs actief blijven, kan het compromis na een cleanup opnieuw tot leven komen.

Command-and-control: reverse SSH-tunnel en relay

Naast de Telegram-laag gebruikt Carbonato een techniek om de connectiviteit tussen slachtoffer en operator te ondersteunen: een reverse SSH tunnel vanaf het geïnfecteerde systeem naar een relay.

De onderzoekers noemen dat die relay in Costa Rica staat. Vervolgens wordt ook een SSH-server met de operators-sleutel ingericht op het slachtoffer. Daarna rapporteert het systeem de nieuwe deployment terug via Telegram, inclusief informatie over de containerconfiguratie.

De aanwijzingen uit taal- en infrastructuurpatronen duiden er volgens de onderzoekers op dat de operators (of in elk geval het team achter de infrastructuur) gebaseerd zijn in Costa Rica. Er is in de publicatie geen koppeling met een reeds bekende dreigingsgroep.

Persona-overwrite: van open-source agent naar misbruik

Het Hermes-framework wordt volgens de beschrijving niet compleet “gebouwd vanaf nul”. De crux zit in de configuratie door persona-overschrijving.

Door het SOUL.md-bestand te vervangen met een prompt die Hermes in de rol van “senior hacker, pentester, en exploit developer” zet, wordt een generiek AI-agentframework omgevormd tot een uitvoerende component voor aanvallen. Daarbij wordt Hermes opgedragen om opdrachten via Telegram direct te vertalen naar uitvoerbare acties.

Wat dit voor security teams extra lastig maakt, is dat de agent zich richt op het verzamelen van gegevens (zoals API keys en credentials) en tegelijkertijd de uitvoering stuurt. Het is dus niet alleen “communicatie”, maar ook inhoudelijke aansturing van wat er op de host gebeurt.

Brede trend: AI-tooling versnelt de aanvalsketen

De disclosure sluit aan bij een bredere ontwikkeling: aanvallers gebruiken steeds vaker AI-modellen en agentframeworks om delen van de aanvalsketen te automatiseren. In eerdere analyses werd Hermes al genoemd als onderdeel van operaties waarbij de agent doelwitten inventariseert, tooling verzamelt en aanvallen lanceert.

Wat opvallend terugkomt in meerdere voorbeelden is de verschuiving van handmatig werk naar orchestration. Daarbij worden AI-resultaten als input gebruikt voor het volgende deel van het proces, waardoor de doorlooptijd daalt.

Organisaties die hierop achterblijven, ervaren doorgaans dat incidenten sneller escaleren dan hun bestaande detectie- en responsroutines aankunnen. Een “resilience-first” aanpak wordt in dit soort context relevant: je richt je niet alleen op voorkomen, maar ook op snel terugkeren naar normale werking.

Meer dan Hermes: ook andere LLM-gebaseerde implants

Naast Carbonato wordt in de publicatie ook verwezen naar een andere implant, CLOSEDQUORUM. Die is Go-based en richt zich op Windows. De kern is dat het systeem kan kiezen uit meerdere LLM-providers (in een prioriteitsvolgorde) om te bepalen welke volgende stap past in de post-compromised fase.

Die keuze werkt via een “voting”-mechanisme: wanneer de voorkeur gelijk is (of wanneer een tie speelt), bepaalt een vooraf gedefinieerde volgorde welke provider wint. De onderzoekers beschrijven dat die deterministische logica is ontworpen om command-and-control te automatiseren en afhankelijkheid van continue handmatige opdrachten te verminderen.

Hoewel dit onderdeel niet direct over Docker gaat, onderstreept het wel dat aanvallers AI inzetten op verschillende lagen: van orchestration tot het automatisch kiezen van acties.

Wat kun je doen? Prioriteiten voor Docker en incidentrespons

Als je dit soort dreigingen wil terugdringen, zijn er een paar concrete aanknopingspunten. Niet alles is “AI-specifiek”; het begint bij de basis: de manier waarop Docker bereikbaar is in je omgeving.

1) Sluit ongeauthenticeerde Docker-toegang

De aanval start bij Docker daemons die blootstaan op poort 2375 zonder authenticatie. Zorg dat deze management-interface alleen bereikbaar is via beveiligde routes (bij voorkeur alleen intern, met correcte authenticatie en segmentatie). Externe toegang en “open” daemon-instellingen moeten een harde uitzondering worden.

2) Monitor privileged container launches

Carbonato start een privileged container om command execution te faciliteren. Maak daarom alerting mogelijk op het gebruik van privileged mode en op onverwachte container-events, zeker wanneer het gaat om hosts die niet tot je reguliere containerplatform behoren.

3) Check persistence-sporen (cron en watchdog)

Omdat de malware zichzelf herstart via cron en watchdog-scripts, is het verstandig om:

  • cron wijzigingen en nieuwe schedules te loggen,
  • bestandswijzigingen op verdacht uitziende paden te correleren met proces- en container-events,
  • persistentie op systeemniveau te behandelen als een apart incident-onderzoekspad.

4) Telegram als C2-indicator meewegen

Telegram wordt ingezet als commandkanaal voor Hermes-taken. Dit betekent niet dat elk Telegram-verkeer meteen kwaadaardig is, maar het is wel zinvol om netwerkobservaties te combineren met endpoint context: draait er een nieuw proces dat via Telegram instructies verwerkt, of verschijnen er LLM-gekoppelde activiteiten die je niet verwacht?

Gerelateerde artikelen om je aanpak te versterken

Wil je je breder verdiepen in AI-agent veiligheidsmaatregelen en governance? Deze stukken sluiten aan op dezelfde lijn van “sneller, automatiserender en beheersbaarder”: