FortiOS malware verändert VPN-Prüfungen innerhalb laufender Prozesse
Die FortiOS malware namens PEERSTITCH wurde auf kompromittierten Appliances entdeckt, wo sie vollständig im Arbeitsspeicher arbeitet und zwei legitime Systemprozesse verändert, um die Validierung ausgewählter virtual private network (VPN) sessions zu manipulieren. Palo Alto Networks Unit 42 schreibt die Operation einem mutmaßlich hochentwickelten Threat Actor zu und erklärt, dass das Implant keine persistente ausführbare Datei auf dem Datenträger hinterlässt, keinen listening port öffnet und selbst keine ausgehende Verbindung herstellt.
Die Angreifer setzten PEERSTITCH ein, indem sie CVE-2025-61624 ausnutzten, eine path traversal-Schwachstelle, durch die Dateioperationen ihren vorgesehenen Speicherort verlassen können. Die Schwachstelle betrifft den Kommandozeileninterpreter in FortiOS, FortiPAM, FortiProxy und FortiSwitchManager. Ein privilegierter Angreifer kann speziell konstruierte Argumente für vorhandene Befehle verwenden, um beliebige Dateien zu schreiben oder zu löschen. Die Schwachstelle hat im Common Vulnerability Scoring System (CVSS) eine Bewertung von 5,4 und wurde von Fortinet im April 2026 gepatcht.
Unit 42 entdeckte die Malware bei der Untersuchung eines lang andauernden Eindringens bei einem Managed Service Provider im Telekommunikationsbereich im September 2024. Die Kampagne wird als CL-STA-0954 verfolgt und ist auch als UNC5820 bekannt. Der erste Zugriff erfolgte über CVE-2024-47575, die kritische FortiManager-Schwachstelle namens FortiJump. FortiManager ist eine zentrale Plattform zur Verwaltung mehrerer FortiGate-Netzwerk-Appliances. Eine Kompromittierung dieser Plattform ist daher für jede nachgelagerte Umgebung relevant, die mit ihr verbunden ist.
Nachdem sie in die Management-Appliance eingedrungen waren, entfernten die Angreifer ein Archiv, das aktive Konfigurationen, kryptografisches Material und Datenbanken mit Informationen über mehr als 500 verwaltete FortiGate firewalls enthielt. Das gestohlene Material umfasste die FortiManager-Seriennummer und die Beziehungen zu registrierten Geräten, Konfigurationen von mehr als 500 firewalls, zentrale eingebettete relationale Datenbanken sowie ein Inventar, das mehr als 500 FortiGate-Seriennummern den jeweiligen öffentlichen IP-Adressen zuordnete. Außerdem wurden interne Topologiekarten, Routingtabellen und Schnittstelleneinstellungen sowie verschlüsselte administrative, lokale und SSL/VPN-Zugangsdaten, öffentliche Zertifikate und private keys entwendet.
Unit 42 zufolge nutzten die Angreifer diese Informationen, um Netzwerke zu kartieren, den Zugriff aufrechtzuerhalten, Datenverkehr abzufangen und unbefugte FortiGate SSL/VPN sessions auf Perimeter-Appliances zu erstellen. Sie installierten außerdem Backdoors und nutzten CVE-2025-61624 während der privilege escalation und der Bereitstellung von PEERSTITCH. Berichten zufolge gaben sich die Angreifer als FortiManager-Plattform aus, als sie Informationen von anderen verwalteten firewalls im angegriffenen Netzwerk abriefen.
PEERSTITCH ist eine in C geschriebene 64-Bit-Linux-Programmdatei für ARM64, die in der betroffenen Appliance-Umgebung eingesetzte Prozessorarchitektur. Die Installation beginnt mit einem Auto-Script, das fünf Dateien über Port 8085 von 23.240.77[.]233 herunterlädt. Dabei handelt es sich um pM.js, ein sich selbst löschendes Script zur Einrichtung der Umgebung; a.js, gespeichert als index.js, das eine Emscripten-JavaScript-runtime bereitstellt; a.wasm, gespeichert als index.wasm, das kompilierten WebAssembly-Code enthält; b.js, gespeichert als ipssem.js, das die Bereitstellung koordiniert; und dd, gespeichert als lldprx, den nativen ARM64-injector mit der eigentlichen Malware.
Nach einer Verzögerung startet ipssem.js die Datei lldprx. Der injector identifiziert die laufenden Prozesse /bin/miglogd und /bin/iked, untersucht deren Speicherlayouts und bindet sich über ptrace an sie an, eine Linux-Funktion, mit der ein laufendes Programm ein anderes untersuchen und steuern kann. Er hält die Prozesse mit PTRACE_INTERRUPT an, weist ausführbaren Speicher zu, schreibt schädlichen Code in diesen Bereich und leitet die Prozesse zu den eingeschleusten Anweisungen um. Dadurch entsteht innerhalb des Arbeitsspeichers zweier vertrauenswürdiger FortiOS-Prozesse ein Kommunikationsweg, anstatt eine herkömmliche Datei oder eine separate Netzwerkverbindung zu verwenden.
Der in miglogd eingeschleuste Code durchsucht vorbeilaufende Daten nach zwei Markierungen: dem TCP-Portwert 8550, der in den Datenverkehr eingebettet ist, anstatt als listening port geöffnet zu werden, und der link-lokalen IP-Adresse 169.254.0.1. Erkennt er dieses Muster, überträgt er das zugehörige session token oder die Kennung an den veränderten iked-Prozess. Der iked-hook sucht anschließend in späteren VPN sessions nach dieser Kennung. Eine passende session wird über einen alternativen Ausführungspfad geleitet, der die normalen Sicherheitsprüfungen von FortiOS umgeht. In der Praxis verändert die FortiOS malware damit gezielt die Behandlung markierter VPN sessions, während legitime Prozesse ihre Kommunikation übertragen.
Die Angreifer richteten außerdem einen weiteren command and control (C2)-Weg ein, also einen Kanal zur Fernsteuerung eines kompromittierten Systems. Dazu missbrauchten sie das native Apache-Modul mod_md auf FortiGate-Appliances, um eine SSH reverse shell zu starten. Bei einer reverse shell initiiert das kompromittierte Gerät eine Fernsteuerungssitzung, anstatt auf eine eingehende Verbindung zu warten. Unit 42 zog auch CVE-2024-26009 und CVE-2024-26008 als mögliche Bestandteile der Aktivitäten in Betracht, konnte ihre Nutzung jedoch nicht bestätigen. Die Ausnutzung dieser Schwachstellen setzt eine Registrierung für FortiGate Cloud/FortiCloud single sign-on, einen gemeinsamen Anmeldedienst, voraus. Keine der betroffenen firewalls war dafür registriert.
Die Operation versuchte außerdem, Beweise zu vernichten, indem sie die Erzeugung von syslog-Meldungen stoppte, Absturzaufzeichnungen löschte, die Logging-Telemetrie störte und nach der Nutzung automatisch unbefugt angelegte Administratorkonten und Auto-Script-Objekte entfernte. Diese Maßnahmen verringern zusammen mit der ausschließlichen Einschleusung in den Arbeitsspeicher und dem Fehlen einer unabhängigen Netzwerkverbindung den Nutzen von Prüfungen, die sich nur auf Dateien oder neu geöffnete Ports konzentrieren. Organisationen, die zentral verwaltete Fortinet-Appliances einsetzen, sollten bestätigen, dass der Fix vom April 2026 installiert ist, und die Managementplattform sowie die nachgelagerten Geräte gemeinsam untersuchen, anstatt jede firewall als isoliertes System zu behandeln. Organisationen, die die umfassenderen IT-Auswirkungen einer kompromittierten Edge-Appliance prüfen, bietet AEU-I sicherheitsorientierte IT-, Infrastruktur- und Beratungsleistungen an.