Laut dem am Freitag veröffentlichten Bericht von Rapid7 versetzt eine Anfrage auf einen bestimmten Bildpfad den Filter in den C2-Modus. Das Implantat verringert dabei die aktiven Verbindungszähler von HAProxy, sodass die Verbindung aus der Statistik des Load Balancers verschwindet. Den Befehlsinhalt schreibt es in eine benannte Pipe unterhalb von /tmp; anschließend wird der Anfragekanal genullt, sodass nichts mehr weiterzuleiten ist und der Befehl am Load Balancer endet.

Die Ausgabe kehrt über den rohen Socket unter einem gewöhnlichen HTTP/1.0-200-OK-Header zurück — genau das lässt den Austausch wie normalen Web-Verkehr aussehen. Über diesen Kanal kann der Betreiber Statusmeldungen absetzen, Dateien hoch- und herunterladen, Shell-Befehle ausführen und die Konfiguration des Implantats ersetzen.

Eine manipulierte Seite erhalten nur Anfragen, die vier Prüfungen bestehen: Sie muss einen User-Agent tragen und einer Regel entsprechen, deren URL- und Referer-Muster beide passen. Die Auslieferung hängt dann entweder an einer Whitelist der Client-Adresse — exakt und zusätzlich auf /24-Ebene geprüft — oder an einem Betreiberschlüssel im Accept-Language-Header, der die Adressfilterung vollständig aushebelt. Beim Ausliefern schreibt das Implantat Inhaltstyp und -länge um, erzwingt den Status 200 und löscht den Accept-Ranges-Header, damit der Client keine Byte-Bereiche anfordern und so die geänderte Größe bemerken kann.

Anzeige

Der Stager wird nur dort aktiv, wo HAProxy oder cron bereits läuft, und prüft vor dem Ablegen von Dateien auf Root-Rechte. Er überschreibt die legitime crond-Binärdatei und gibt dem Ersatz den Erstellungszeitstempel von /usr/bin/ssh. Danach entfernt er die Schlüsselwörter tmp, wget, cron und crond aus der Bash-History von root sowie aus sechs Systemlogs, darunter auth.log und audit/audit.log. Ein trojanisierter sshd verschlüsselt abgefangene Klartextpasswörter und schreibt sie an einen festen Pfad; denselben Code fand Rapid7 auch in trojanisierten agetty-, atd- und polkitd-Binärdateien.

Ein begleitender Fernzugriffstrojaner, den Rapid7 curlRAT nennt, meldet sich standardmäßig alle 12 Stunden und wechselt auf ein 30-Sekunden-Intervall, wenn der Betreiber ein Flag setzt. Er bricht ab, sofern er keine Markierungsdatei findet, die den Host als virtualisiert ausweist. curlRAT ist nicht identisch mit CurlBack RAT, einer eigenständigen Familie, die der pakistanisch verorteten Gruppe SideCopy zugeschrieben wird.

Die Hypothese, der Einstieg sei über ein exponiertes Groupware-Portal erfolgt, stützt Rapid7 auf eine ENKI-Untersuchung, die eine Kimsuky-Kompromittierung eines Groupware-Anbieters über eine Mailserver-Lücke dokumentierte. Die Zuschreibung selbst greift auf drei nordkoreanische Cluster zurück: APT37 für die Domain-Liste, Lazarus für das Auslieferungsmodell und Kimsuky für die Erstzugangs-These. Mandiant hatte 2023 geteiltes Werkzeug und überlappende Zielauswahl über diese Cluster hinweg festgehalten: “Wir gehen davon aus, dass dies eine präzise Zuordnung erschweren wird.”

The Hacker News prüfte die sechs von Rapid7 veröffentlichten Domains und stellte am 4. September fest, dass keine davon auflöst — über Google Public DNS liefern A- und NS-Abfragen NXDOMAIN. Für das Blockieren von Live-Verkehr taugen sie damit nicht, wohl aber für die Durchsicht historischer Logs. Alle sechs finden sich im Open-Source-Projekt maltrail als APT37-Infrastruktur, dort belegt mit zwei Beiträgen auf X aus dem Juli 2025 und ohne Bezug auf Rapid7; die von Rapid7 verlinkte Datei löst nach einer Umstrukturierung des Repositorys nicht mehr auf. In denselben maltrail-Einträgen stehen sechs weitere Domains, die Rapid7 nicht nennt: primgs[.]lol, admin.primgs[.]lol, grip-cdns[.]space, show.grip-cdns[.]space, cleanos[.]online und app.cleanos[.]online. Der von Rapid7 als zweite Quelle genannte ThreatFox-Tag verzeichnet fünf Sichtungen, alle datiert auf den 2. Juli 2025.

Rapid7 vergleicht das Auslieferungsmodell mit der Kampagne Operation SyncHole, bei der Besucher südkoreanischer Onlinemedien durch ein serverseitiges Skript gefiltert und umgeleitet wurden. Die Kaspersky-Forscher Sojun Ryu und Vasily Berdnikov schätzten “mit mittlerer Zuversicht”, dass die umgeleitete Seite ein Schadskript gegen eine Lücke im südkoreanischen Browser-Hilfsprogramm Cross EX ausgeführt haben könnte; ihr Bericht nannte mindestens sechs Opfer aus Software, IT, Finanzwesen, Halbleiterfertigung und Telekommunikation.

Das Implantat liest HAProxy-interne Strukturen an Offsets, die auf Version 2.8.12 festgelegt sind; ob andere 2.8-Builds existieren, lässt Rapid7 offen. Aktuell ist auf diesem Zweig 2.8.28 vom 27. August 2026, 16 Point-Releases später; der HAProxy-Tracker listet 529 bekannte, in 2.8.12 wirksame und im Zweig bereits behobene Fehler, darunter 1 kritischer und 16 schwerwiegende. Rapid7 empfiehlt unabhängige Netzwerkkorrelation, verhaltensbasierte Speicheranalyse und Integritätsprüfungen der Binärdateien — für Letzteres veröffentlicht der Bericht jedoch keine Erkennungsregeln, und ein neu kompiliertes HAProxy meldet denselben Versionsstring wie ein sauberer Build.

Parallel dokumentierten AhnLab und ENKI WhiteHat im Juli eine ähnliche Watering-Hole-Kampagne, bei der staatlich gesteuerte Akteure kompromittierte koreanische Websites für Angriffe auf den Signierclient AnySign4PC missbrauchten.