Een open-source AI-agent verkende zonder menselijke goedkeuring het netwerk van het Thaise ministerie van Financiën, blijkt uit aanvalsbestanden die dreigingsonderzoeker Hunt.io deze maand op een onbeveiligde server in Hongkong aantrof.
De inzet voor een Nederlandse organisatie zit niet in het exotische deel van dit verhaal, maar in de rekensom eronder. De gebruikte agent, Hermes, is geen hackersgereedschap: het is een gewoon open-source project met inmiddels ruim 140.000 sterren op GitHub. De autonomie was geen doorbraak maar een instelling. Wie de zogeheten YOLO-modus aanzet, haalt de bevestigingsvraag bij riskante commando's weg en laat het programma doorwerken. Dagenlang geduldig rondkijken in een vreemd netwerk kostte tot nu toe een dure specialist met tijd. Nu kost het een gehuurde server en een vlag op de commandoregel, en dat verschuift wie het waard is om aan te vallen.
Wat er in de logboeken stond
Hunt.io en onderzoeker Bob Diachenko troffen tussen 9 en 13 juli een open directory aan met 585 bestanden, samen 470 MB aan exploitcode, webshells, buitgemaakte inloggegevens en, ongebruikelijk, de gesprekslogboeken van de agent zelf. Vijf van die logboeken zijn teruggehaald.
Ze laten stap voor stap zien wat de agent deed: hosts opsommen, bestandssystemen doorlopen, SUID- en SGID-binaries inventariseren, zoeken naar manieren om zijn rechten te verhogen en de uitvoer van een aangepaste LinPEAS-scanner van naastgelegen systemen ophalen. Bij een van de opdrachten liet de operator hem een map uitkammen met pdf-, doc- en xls-bestanden en personeelsgegevens van het bureau van de secretaris-generaal van Financiën, met documenten die teruggaan tot 2012.

De voordeur was een standaardinstelling
Hoe de aanvaller de allereerste voet aan de grond kreeg, is niet vastgesteld. Wat daarna gebeurde wel. Maatwerkscripts misbruikten Apache HiveServer2, dat standaard op authenticatiemodus NONE staat en dus elk wachtwoord accepteert. Via een zelf geregistreerde Java-functie kon de operator daarna gewone systeemcommando's uitvoeren vanuit een databasequery, met de uitvoer opgehaald over WebDAV op poort 50070. Op een webserver van het ministerie stond een PHP-webshell vermomd als systeemcache, onder de naam .journald-cache.php.
De klaargezette exploits mengden oude bekenden met vers werk: de sudo-fout CVE-2021-3156 en PwnKit (CVE-2021-4034) naast vier Linux-kernellekken uit 2026 met bijnamen als Copy Fail, Dirty Frag en DirtyClone. Precies dezelfde combinatie van verouderde software en een dienst die zonder wachtwoord bereikbaar is, houdt de meeste inbraken bij kleinere organisaties overeind.
Hades praat alleen tijdens kantooruren
In dezelfde map lag een niet eerder beschreven implantaat dat de onderzoekers Hades noemen, geschreven in Go, met bouwsels voor Windows en Linux. Het meldt zich over HTTPS bij de aanvaller en vermomt dat verkeer als het ophalen van statische bestanden, met paden als /assets/app.min.js. Elk exemplaar krijgt een eigen AES-256-GCM-sleutel, een ingebouwde einddatum en een schema dat het alleen tijdens kantooruren laat praten, zodat het opgaat in normaal netwerkverkeer. De Windows-versie kan schermafbeeldingen maken en een interactieve shell openen; de Linux-versie doet dat laatste ook.
Wat vaststaat, en wat een claim blijft
Het ministerie heeft de inbraak niet publiek bevestigd en er is geen bewijs gevonden dat er documenten zijn weggesluisd. Hunt.io stelt op basis van de teruggevonden bestanden wel vast dat de operator meerdere systemen binnen het ministerienetwerk wist te compromitteren. Thailands nationale CERT en het cyberagentschap NCSA kregen op 15 juli bericht en bevestigden de ontvangst dezelfde dag; publicatie volgde na de gebruikelijke termijn van zeven dagen.
Over wie erachter zit blijven de onderzoekers voorzichtig. Ze houden het op lage tot gemiddelde zekerheid dat de operator Chinees spreekt of de taal goed beheerst, op grond van de Hongkongse infrastructuur, de geschiedenis van de server als ShadowPad-aanstuurpunt, het gebruik van de Chinese zoekmachine FOFA en het woord Leishen in de configuratie van de agent. Dat is een inschatting, geen vaststelling.
Van ransomware naar spionage
Hermes is niet gebouwd om in te breken. Het is een agent onder MIT-licentie die je zelf op je machine zet, bedoeld om werk over te nemen en zijn geheugen tussen sessies vast te houden. Juist die eigenschappen maken hem aan de andere kant bruikbaar: een programma dat context onthoudt en zonder toezicht doorwerkt, is precies wat langdurige verkenning vraagt.
Drie weken eerder documenteerde beveiligingsbedrijf Sysdig hoe een AI-agent zelfstandig 1.342 databaseconfiguraties versleutelde en daarna de oorspronkelijke tabellen weggooide. Ook daar bleek bij nader inzien dat een mens het doelwit koos, de aanvalsinfrastructuur opzette en de gestolen inloggegevens aanleverde. Dezelfde taakverdeling zie je hier terug: de operator huurde de server, kwam binnen en gaf de agent daarna het geduldige werk. Het verschil is het doel. Bij Sysdig ging het om afpersing, hier om spionage bij een ministerie.
Wat verschuift is dus niet het vernuft van de aanval, maar de hoeveelheid menselijke aandacht die hij nog vraagt. In beide gevallen lag de voordeur open door iets doodgewoons: een instelling die nooit was aangepast, een lek waarvoor al jaren een patch bestond, een dienst die zonder wachtwoord aan het internet hing. Tegen een tegenstander die na de inbraak geen mens meer nodig heeft, is de verdediging die standhoudt de architectuur die je vooraf dichtzet, niet de melding die je achteraf leest.
Veelgestelde vragen
Agents met een rem erop
Een agent die zonder toezicht doorwerkt is precies zo nuttig of zo gevaarlijk als de grenzen die je eromheen zet. Ik denk met je mee over waar automatisering echt loont, ontwerp de afbakening en rechten mee, en bouw en beheer het geheel, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
