SOC Prime Bias: Kritisch

04 Nov. 2025 09:05

SesameOp Backdoor-Erkennung: Microsoft entdeckt neue Malware, die API der OpenAI-Assistenten in Cyberangriffen missbraucht

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
SesameOp Backdoor-Erkennung: Microsoft entdeckt neue Malware, die API der OpenAI-Assistenten in Cyberangriffen missbraucht
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

SesameOp Malware-Angriffe

Microsoft-Forscher entdeckten einen neuen Hintertür-Virus namens SesameOp, der die OpenAI Assistants API als verdeckten Command-and-Control-Kanal nutzt. Die Malware wird über einen bösartigen Netapi64.dll-Loader geliefert, der mithilfe von AppDomainManager-Injektion in .NET-Prozesse eingespeist wird. Sie speichert Konfigurationen in den Ressourcen der DLL und kommuniziert mit OpenAI-Endpunkten, um Befehle zu empfangen und Ergebnisse zu exfiltrieren. Die Bedrohung ist für langfristige Spionage auf Windows-Hosts konzipiert.

Untersuchung

Die Untersuchung identifizierte eine Loader-DLL (Netapi64.dll), die mit Eazfuscator.NET verschleiert wurde. Sie erstellt Markerdateien und ein Mutex, decodiert dann und führt eine Hintertür-Komponente namens OpenAIAgent.Netapi64 aus. Die Hintertür analysiert eine mit Pipe getrennte Konfiguration, die einen OpenAI-API-Schlüssel, einen Wörterbuchschlüssel und optional einen Proxy enthält. Sie interagiert mit der OpenAI Assistants API, um Vektorspeicher, Assistenten und Nachrichten abzurufen, die Befehle oder Payloads kodieren, welche entschlüsselt, dekomprimiert und über eine JScript-Engine ausgeführt werden.

Minderung

Microsoft empfiehlt, Firewalls und Proxyeinstellungen zu härten, Manipulationsschutz und Echtzeitschutz in Defender zu aktivieren und den Blockmodus für potenziell unerwünschte Anwendungen zu verwenden. Überwachung des ausgehenden Datenverkehrs zu api.openai.com und Erkennung der Erstellung des spezifischen Mutex und von temporären Dateien können helfen, die Aktivität zu erkennen. Der Einsatz von EDR im Blockmodus und die Automatisierung von Behebungsmaßnahmen werden ebenfalls empfohlen.

Reaktion

Nach der Erkennung isolieren Sie den betroffenen Host, beenden Sie die bösartigen Prozesse, löschen Sie die Netapi64.dll und zugehörige temporäre Dateien und widerrufen Sie den kompromittierten OpenAI-API-Schlüssel. Führen Sie eine vollständige forensische Überprüfung auf zusätzliche Persistenzmechanismen durch und ändern Sie alle privilegierten Anmeldeinformationen. Aktualisieren Sie die Erkennungsregeln, um nach dem identifizierten Mutex, den Dateipfaden und ausgehenden Verbindungen zur OpenAI Assistants API zu suchen.

graph TB %% Class Definitions classDef action fill:#99ccff classDef process fill:#ffcc99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes action_initial_loader[„<b>Aktion</b> – Bereitstellung des Initial Loaders<br /><b>Techniken</b>: T1546.010 AppInit DLLs, T1546.009 AppCert DLLs, T1546.007 Netsh Helper DLL“] class action_initial_loader action process_dll_loaded[„<b>Prozess</b> – Geladene DLL (Netapi64.dll)“] class process_dll_loaded process action_hijack_flow[„<b>Aktion</b> – Ausführungsfluss kapern: AppDomainManager<br /><b>Technik</b>: T1574.014 (Ausführungsfluss für Persistenz & Rechteerhöhung ändern)“] class action_hijack_flow action action_inject_code[„<b>Aktion</b> – Bösartigen .NET-Code injizieren<br /><b>Technik</b>: T1027 (Verschleierte Dateien oder Informationen)“] class action_inject_code action malware_backdoor[„<b>Malware</b> – Verschleierter Backdoor (OpenAIAgent.Netapi64)<br />Verschleierung: Eazfuscator.NET, XOR, Base64, GZIP“] class malware_backdoor malware tool_mavinject[„<b>Tool</b> – Mavinject<br /><b>Technik</b>: T1218.013 (System-Binär Proxy-Ausführung)“] class tool_mavinject tool action_js_injection[„<b>Aktion</b> – Eingabeinjektion via JScriptEngine (Eval.JScriptEvaluate)“] class action_js_injection action action_execute_payloads[„<b>Aktion</b> – Ausführen der Angreifer-Nutzlasten“] class action_execute_payloads action action_archive_data[„<b>Aktion</b> – Gesammelte Daten archivieren (AES/GZIP)<br /><b>Technik</b>: T1560.003 (Archivierung gesammelter Daten)“] class action_archive_data action action_send_results[„<b>Aktion</b> – Ergebnisse über OpenAI Assistants API senden<br /><b>Techniken</b>: T1071.001 (Web-Protokolle HTTPS), T1102.002 (Webdienst), T1001.003 (Datenverschleierung – Protokoll-Imitation)“] class action_send_results action action_cleanup[„<b>Aktion</b> – Artefakte bereinigen<br /><b>Techniken</b>: T1070.004 (Dateilöschung), T1027.005 (Entfernen von Indikatoren aus Tools)“] class action_cleanup action %% Edges action_initial_loader u002du002d>|lädt| process_dll_loaded process_dll_loaded u002du002d>|kapert| action_hijack_flow action_hijack_flow u002du002d>|injiziert| action_inject_code action_inject_code u002du002d>|erstellt| malware_backdoor malware_backdoor u002du002d>|verwendet| tool_mavinject tool_mavinject u002du002d>|injektiert in| action_js_injection action_js_injection u002du002d>|führt aus| action_execute_payloads action_execute_payloads u002du002d>|archiviert| action_archive_data action_archive_data u002du002d>|exfiltriert| action_send_results action_send_results u002du002d>|bereinigt| action_cleanup

Angriffsfluss

SesameOp Hintertür-Payload

Simulation Ausführung

Voraussetzung: Der Telemetrie- & Baseline-Vorflug-Check muss bestanden haben.

  • Angriffsnarrativ & Befehle:

    Der Angreifer hat die SesameOp-Hintertür auf dem kompromittierten Windows-Host bereitgestellt. Um C2 aufzubauen, sendet SesameOp einen HTTPS POST an https://api.openai.com/v1/assistants mit verschlüsselten Befehlsdaten. Da die Hintertür unter svchost.exe (einem vertrauenswürdig aussehenden Systemprozess) läuft und den Standardsystemproxy verwendet, sind keine zusätzlichen Prozesse oder Benutzerkontexte ersichtlich, wodurch das Einzelstring-Match der einzige Indikator ist.

    1. Hintertürprozess starten (hier simuliert mit PowerShell, um echte Malware zu vermeiden).
    2. Die bösartige Nutzlast senden an den OpenAI Assistants Endpunkt.
    3. Die Verbindung aufrechterhalten für ein kurzes Intervall, um ein sichtbares NetworkConnect Ereignis zu generieren.
  • Regressionstest-Skript:

    # Simulierte SesameOp C2-Kommunikation – reproduzierbar für Tests
    $payload = @{
        "model" = "gpt-4"
        "messages" = @(
            @{ "role" = "system"; "content" = "You are a backdoor controller." },
            @{ "role" = "user";  "content" = "list processes" }
        )
    } | ConvertTo-Json -Depth 4