Dein Reverse Proxy ist die Stelle, an der die Verschlüsselung endet. Alles, was ein Besucher schickt, liegt dort für einen Moment im Klartext — Cookies, Anmeldedaten, Formularinhalte. Wer diesen einen Prozess kontrolliert, braucht keine der Anwendungen dahinter mehr.
Genau dort hat Rapid7 Labs ein bislang unbekanntes Linux-Werkzeug gefunden. Es steckte bei zwei südkoreanischen Organisationen — einem Automobilzulieferer und einem Medienhaus — direkt in der HAProxy-Programmdatei. Nicht daneben, nicht als Modul: einkompiliert. Die Angreifer haben es in Debug-Strings selbst benannt: ted.
WICHTIG ZUERST: Das ist keine HAProxy-Lücke
Bevor du losrennst und aktualisierst — das hilft hier nicht. Es gibt keine Schwachstelle in HAProxy, die das ermöglicht hätte. Der Angreifer muss vorher Code auf dem Host ausführen und die laufende Programmdatei ersetzen können. Das ist eine Lieferketten- und Nachnutzungsgeschichte, kein Update-Problem.
Trotzdem sagt ein Detail viel über die Opfer aus: Beide liefen auf HAProxy 2.8.12, veröffentlicht am 8. November 2024. Aktuell ist in diesem Zweig 2.8.28 vom 27. August 2026 — sechzehn Point-Releases später. Der HAProxy-eigene Bug-Tracker listet für 2.8.12 529 bekannte Fehler, einen davon als kritisch und sechzehn als schwerwiegend eingestuft.
Das Implantat ist so eng auf diese Version zugeschnitten, dass es die internen Datenstrukturen an festen Speicher-Offsets ausliest. Wer aktualisiert, macht es damit unbrauchbar — für den nächsten Angriff, nicht für den bereits laufenden.
DIE AUFRÄUMARBEIT KOMMT ZUERST
Bevor ted überhaupt anfängt zu arbeiten, prüft ein Vorlader, ob er Root-Rechte hat und ob HAProxy und cron laufen. Dann räumt er auf:
- Er überschreibt
crondund setzt dessen Zeitstempel auf den von/usr/bin/ssh— die Datei sieht damit so alt aus wie das restliche System. - Er löscht die Stichwörter tmp, wget, cron und crond aus der bash_history und aus sechs Systemprotokollen, darunter
auth.logundaudit.log.
Nicht die ganze Datei — nur die Zeilen mit den Spuren. Wer solche Logs nicht zentral wegschreibt, hat danach ein sauberes Protokoll und ein sehr schmutziges System.
SO STEUERT DER ANGREIFER SEINEN PROXY
ted klinkt sich in die HTTP-Verarbeitung von HAProxy ein und liest die entschlüsselten Anfragen, bevor sie an deine Backends gehen. Mitgeschnitten werden Quell-IP, Host-Header, Referrer, User-Agent, Cookies — und alles, was auf vom Angreifer definierte Suchmuster passt.
Die Steuerung selbst sieht aus wie ganz normaler Verkehr. Der Operator ruft einen bestimmten Bildpfad auf. Das Implantat zählt interne Zähler herunter, legt den Befehl in eine benannte Pipe unter /tmp und antwortet mit einem gewöhnlichen HTTP/1.0 200 OK. Kein eigener Port, kein auffälliger Dienst.
Besonders perfide ist der Umgang mit manipulierten Seiten. ted liefert sie nur aus, wenn vier Bedingungen gleichzeitig passen: der richtige User-Agent, eine passende Regel auf URL oder Referrer, eine Freigabeliste mit exakter IP oder /24-Netz — oder ein Operator-Schlüssel im Feld Accept-Language. Der Header Accept-Ranges wird dabei entfernt. Ein normaler Besucher sieht nie etwas Ungewöhnliches. Ein gezielt ausgewähltes Opfer bekommt eine veränderte Seite.
NICHT ALLEIN UNTERWEGS
Rapid7 fand weitere trojanisierte Programme auf denselben Systemen: einen sshd, der eingegebene Passwörter mitschreibt, dazu manipulierte Versionen von agetty, atd und polkitd. Dazu kommt ein Fernzugriffswerkzeug, das die Forscher curlRAT nennen — es meldet sich nur alle zwölf Stunden und läuft ausschließlich, wenn es eine Virtualisierungs-Kennung findet.
Die Zuordnung erfolgt mit mittlerer Zuversicht nach Nordkorea. Die verwendeten Domains sind in der öffentlichen Datenbank maltrail als APT37 gelistet. Alle sechs bekannten Domains, darunter img.monderhouse[.]space, lieferten am 4. September bereits keine DNS-Antwort mehr.
WAS DAS FÜR DEIN HOMELAB HEISST
Nüchtern: Du bist nicht die Zielgruppe. Das hier war ein gezielter Angriff auf zwei konkrete Organisationen. Der Lerneffekt ist trotzdem übertragbar.
- Version prüfen.
haproxy -vsagt dir in einer Sekunde, wie viele Jahre du hinterherhinkst. - Integrität prüfen. Unter Debian und Ubuntu vergleicht
debsums haproxydie installierten Dateien mit den Prüfsummen des Pakets. Eine geänderte Programmdatei fällt sofort auf. - Logs außer Haus. Wenn deine Protokolle nur auf dem Server liegen, den jemand übernommen hat, sind sie wertlos. Ein zweiter Zielort ist der billigste Schutz gegen selektives Löschen.
- Zeitstempel misstrauen. ted hat gezeigt, wie leicht sich das Änderungsdatum fälschen lässt. Verlass dich auf Prüfsummen, nicht auf
ls -l.
Rapid7 ist bei der Bereinigung deutlich: Netzwerkverkehr korrelieren, Speicher analysieren, Programmdateien auf Integrität prüfen. Ein Update repariert einen bereits infizierten Host nicht.