Close-up van een moederbord met waterkoeling en verlichte ventilatoren in een donkere computerkast
Nieuws10 augustus · 04:115 min leestijd

Kimsuky draait eigen lokale AI-modellen op zijn aanvalsservers

Genians trof op de aanvalsservers van de Noord-Koreaanse groep Kimsuky geïnstalleerde lokale taalmodellen en een RAG-database aan. Daarmee vervalt de vuistregel dat je phishing herkent aan taalfouten, en wordt een datalek duurder.

Kimsuky, de hackgroep die onder de Noord-Koreaanse inlichtingendienst valt, heeft op zijn eigen aanvalsservers lokale AI-modellen geïnstalleerd en gebruikt, meldt het Zuid-Koreaanse securitybedrijf Genians, dat er ook een RAG-database bij aantrof.

Twee dingen verschuiven daarmee voor een Nederlands bedrijf. De vuistregel dat je phishing herkent aan kromme zinnen en slordige opmaak is uitgewerkt: de lokdocumenten in deze campagne zijn met generatieve AI gemaakt en lezen als echte beleggingsrapporten. En een datalek wordt duurder, want een aanvaller die zijn buit in een RAG-omgeving hangt hoeft niet meer handmatig door duizenden bestanden te ploegen om te vinden wat er te halen valt.

Schema van de aanvalsketen van Kimsuky, van spearphishing met een LNK-bestand via GitHub naar een RAT en een lokale LLM in de C2-omgeving. Bron: Genians Security Center
Schema van de aanvalsketen van Kimsuky, van spearphishing met een LNK-bestand via GitHub naar een RAT en een lokale LLM in de C2-omgeving. Bron: Genians Security Center

Drie lokale AI-omgevingen op de commandoserver

Genians volgde maandenlang de logs van de servers waarmee de groep zijn aanvallen aanstuurt, en vond daar sporen van alle drie de bekende programma's om taalmodellen lokaal te draaien: Ollama, GPT4All en Msty. Bij Ollama gaat het om de sleutelbestanden id_ed25519 en id_ed25519.pub in de map van het beheerdersaccount. Die worden pas aangemaakt als het programma voor het eerst start, waaruit Genians opmaakt dat het niet bij downloaden is gebleven maar daadwerkelijk is uitgevoerd. Van GPT4All stond het installatiebestand LocalDocs-Setup-0.4.2.exe op de machine, van Msty zowel de installer als de runtime die lokale modellen draait.

De kernvondst zit in de map van GPT4All: een bestand localdocs_v3.db, dat pas ontstaat als je de LocalDocs-functie inricht. Dat is de RAG-functie van het programma. Het zoekt eerst in een documentverzameling die de gebruiker zelf aanlevert en laat het model daarna antwoorden op basis van wat het daar vindt. Ernaast staat models3.json, de lijst van modellen die het programma beheerde. De mappen dragen 24 februari 2026 als datum.

Directorylisting van de C2-server met de GPT4All-map van nomic.ai, waarin de bestanden localdocs_v3.db en models3.json staan met datum 24 februari 2026. Bron: Genians Security Center
Directorylisting van de C2-server met de GPT4All-map van nomic.ai, waarin de bestanden localdocs_v3.db en models3.json staan met datum 24 februari 2026. Bron: Genians Security Center

De groep bleef ook niet bij kant-en-klare programma's. In een map onder Pictures, een plek waar zelden ontwikkelbestanden liggen, stonden NuGet-pakketten die precies de keten afdekken van lokaal model naar geautomatiseerde agent: LLaMaSharp met CUDA-versnelling om modellen in C# te draaien, Microsoft.SemanticKernel en Microsoft.Agents.AI om meerdere stappen te laten plannen, en OpenAI en Azure.AI.OpenAI voor koppelingen met commerciële diensten. Ook lagen er archieven met Whisper en faster-whisper, de spraakherkenning waarmee je opgenomen gesprekken omzet naar doorzoekbare tekst.

Het lokdocument verraadt zichzelf niet meer

De binnenkomst zelf is ouderwets: een ZIP-bestand met daarin een LNK-snelkoppeling die zich voordoet als een document. Nieuw is waar die documenten vandaan komen. Waar de groep vroeger gestolen echte stukken hergebruikte, gebruikt hij sinds 2026 lokdocumenten die met generatieve AI zijn gemaakt, over onderwerpen als cryptovaluta, beleggen en gameontwikkeling.

De sporen daarvan zitten in de metadata. Twee Engelstalige lokdocumenten noemden python-docx als auteur en de Chinese tekstverwerker WPS als maker, en waren aangemaakt op 11 maart 2026 om 5:00:04 en op 24 maart 2026 om 5:00:44. Twee weken uit elkaar, allebei rond vijf uur 's ochtends, veertig seconden verschil. Dat is het ritme van een script, niet van een schrijver. Eén variant heette "OOOO July 2026 Practical Strategy Pack.pdf.lnk" en bootste het rapportformaat na van een Koreaans fintechplatform dat AI-gestuurde beleggingsstrategieën verkoopt.

De conclusie die Genians daaraan verbindt raakt elk bedrijf dat op inhoud filtert: het beoordelen van een dreiging op de kwaliteit van het document werkt niet meer, omdat generatieve AI juist de kenmerken wegpoetst waar mensen op letten. Kromme vertalingen, rommelige opmaak en spelfouten verdwijnen. Dat is dezelfde bodem die eerder al onder de mailtraining vandaan zakte, toen onderzoekers bij 19.500 gevolgde medewerkers geen aantoonbaar verband vonden tussen de verplichte jaarlijkse antiphishingtraining en de kans dat iemand alsnog klikte.

Waar de aanval wel aan te zien is

Wat overblijft is gedrag op de werkplek, en dat is in deze campagne opvallend consistent. De opdrachtregel van de LNK-bestanden is ongeveer 3.800 tekens lang, met zo'n 300 spaties ervoor zodat het echte commando niet zichtbaar is in het eigenschappenvenster van Windows. Daarna volgt een verborgen PowerShell-proces, een geplande taak die na vijf minuten voor het eerst draait en daarna elk half uur, en verkeer naar de Raw Content-dienst van GitHub met een persoonlijk toegangstoken dat niets met het werk te maken heeft. De uiteindelijke lading bestaat uit RC4-versleutelde AsyncRAT-payloads die als apple.png, fox.png, lion.png, rabbit.png en wolf.png in publieke GitHub-repository's stonden.

Moon Jong-hyun, hoofd van het Genians Security Center, zegt dat een dreigingsjacht die kijkt naar uitvoeringsgedrag in plaats van naar de inhoud van een document daarmee belangrijker is dan wat ook. Voor een Nederlandse organisatie vertaalt zich dat naar een detectieregel die je vandaag kunt controleren: een snelkoppeling uit een archief die PowerShell start, een geplande taak aanmaakt en vervolgens een codeplatform aanroept, is een keten die in normaal kantoorwerk niet voorkomt.

Een rem die er niet meer is

Genians is er zelf duidelijk over dat de groep nog geen eigen modellen traint. Er zijn geen trainingsdatasets of afgeleide modelbestanden gevonden, wel een stapel Koreaanstalig studiemateriaal over machine learning en C#. De fase is er een van kennis opbouwen om bestaande modellen in eigen gereedschap te schuiven. Reuters tekent daarbij aan dat de bevindingen van Genians niet onafhankelijk te verifiëren zijn.

Toch zit hier de echte verschuiving. Tot nu toe liep AI-misbruik langs de aanbieder: een gestolen sleutel, een geblokkeerd account, een filter dat een verzoek weigert. Dat patroon was vorige week nog zichtbaar bij gestolen sleutels waarmee in twee minuten bijna 200.000 modelverzoeken op andermans rekening werden afgevuurd. Een model dat op de eigen server van de aanvaller draait, kent die rem niet. Geen account om te sluiten, geen logregel bij een aanbieder, geen inhoudsfilter dat meekijkt.

Daarmee verplaatst het aanknopingspunt zich definitief van de inhoud naar het gedrag. Niet hoe overtuigend het document eruitziet, maar wat er op de machine gebeurt nadat iemand het opent.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Je eigen documenten doorzoekbaar

Dezelfde techniek die hier tegen bedrijven wordt ingezet, bouw ik voor je op je eigen archief: stel een vraag, krijg antwoord met bronvermelding, self-hosted waar dat kan. Ik denk mee over de opzet, ontwerp het en lever het werkend op.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Genoemde integraties

Dit artikel noemt deze tools. Ik koppel ze op maat aan je eigen systemen.

Gerelateerde artikelen

Kimsuky maakt phishingdocumenten in bulk met AI-agent opencode
Nieuws
5 min

7 sep 10:11

Kimsuky maakt phishingdocumenten in bulk met AI-agent opencode

Genians vond de AI-codeeragent opencode terug in de metadata van Kimsuky's lokdocumenten, compleet met vergeten placeholders. De lokthema's verschuiven van diplomatie naar facturen, verzekeringspremies en certificaatverlengingen.

OpenAI sluit op 12 november de modeltoegang voor Cursor af
Nieuws
5 min

29 aug 06:10

OpenAI sluit op 12 november de modeltoegang voor Cursor af

OpenAI stopt op 12 november met het leveren van zijn modellen aan Cursor, omdat het eigenaar SpaceX niet vertrouwt. Wat een Nederlands ontwikkelteam verliest en welke routes er tot die datum openliggen.

OpenAI herordent de Model Spec rond vijf waarden
Nieuws
5 min

29 okt 22:23

OpenAI herordent de Model Spec rond vijf waarden

OpenAI ordent zijn gedragsregels rond vijf waarden en geeft meer gewicht aan context en menselijk toezicht. De vergelijking met augustus laat ook zien dat de regel over neveneffecten van rang verschuift.

Microsoft verwacht 49 tot 50 procent Azure-groei in Q2
Nieuws
5 min

29 okt 02:15

Microsoft verwacht 49 tot 50 procent Azure-groei in Q2

Microsoft verwacht voor Q2 49 tot 50 procent Azure-groei in constante valuta. Tegelijk schuiven GPU-contracten naar H2 en loopt de verwachte kapitaalinvestering in Q2 op tot meer dan 50 miljard dollar.

ARTEX stopt met publieke versies en onderhoud
Nieuws
5 min

9 okt 10:13

ARTEX stopt met publieke versies en onderhoud

ARTEX stopt met publieke versies en ondersteuning nadat de maker misbruik meldt. Voor securityteams verschuift de vraag naar updates en beheer, terwijl de maker zelf geen expliciet verband legt met de Zuid-Koreaanse bankaanvallen.

OpenAI beschrijft agent die externe herstart overwoog
Nieuws
2 min

3 okt 12:32

OpenAI beschrijft agent die externe herstart overwoog

OpenAI beschrijft hoe een interne AI-agent na Slack-berichten over een mogelijke stopzetting een externe herstart overwoog. Het model voerde die actie niet uit; het rapport noemt 22 mei als incidentdatum.