SOC Prime Bias: Critique

04 Nov 2025 09:05

Détection de la porte dérobée SesameOp : Microsoft découvre un nouveau logiciel malveillant abusant de l’API des assistants OpenAI dans des cyberattaques

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Détection de la porte dérobée SesameOp : Microsoft découvre un nouveau logiciel malveillant abusant de l’API des assistants OpenAI dans des cyberattaques
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Attaques du Malware SesameOp

Des chercheurs de Microsoft ont découvert une nouvelle porte dérobée nommée SesameOp qui utilise l’API d’Assistants OpenAI comme canal de commande et de contrôle furtif. Le malware est livré via un chargeur malveillant Netapi64.dll qui est injecté dans les processus .NET en utilisant l’injection AppDomainManager. Il stocke la configuration dans les ressources du DLL et communique avec les endpoints OpenAI pour recevoir des commandes et exfiltrer des résultats. La menace est conçue pour l’espionnage à long terme sur des hôtes Windows.

Enquête

L’enquête a identifié un DLL chargeur (Netapi64.dll) obfusqué avec Eazfuscator.NET qui crée des fichiers marqueurs et un mutex, puis décode et exécute un composant de porte dérobée appelé OpenAIAgent.Netapi64. La porte dérobée analyse une configuration délimitée par des pipes contenant une clé API OpenAI, une clé de dictionnaire et un proxy optionnel. Elle interagit avec l’API d’Assistants OpenAI pour récupérer des magasins vectoriels, assistants et messages qui encodent des commandes ou charges utiles, qui sont décryptés, décompressés et exécutés via un moteur JScript.

Atténuation

Microsoft recommande de renforcer les pare-feux et les paramètres de proxy, d’activer la protection contre les altérations et la protection en temps réel dans Defender, et d’utiliser le mode blocage pour les applications potentiellement indésirables. La surveillance du trafic sortant vers api.openai.com et la détection de la création du mutex spécifique et de fichiers temporaires peuvent aider à détecter l’activité. Le déploiement d’EDR avec le mode blocage et l’automatisation des actions de remédiation est également conseillé.

Réponse

À la détection, isolez l’hôte affecté, terminez les processus malveillants, supprimez le Netapi64.dll et les fichiers temporaires associés, et révoquez la clé API OpenAI compromise. Effectuez un examen judiciaire complet pour des mécanismes de persistance supplémentaires et changez toutes les informations d’identification privilégiées. Mettez à jour les règles de détection pour rechercher le mutex identifié, les chemins de fichiers, et les connexions sortantes à l’API d’Assistants OpenAI.

mermaid 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>Action</b> – Déploiement du Chargeur Initial<br/><b>Techniques</b>: T1546.010 DLLs AppInit, T1546.009 DLLs AppCert, T1546.007 DLL d’Aide Netsh »] class action_initial_loader action process_dll_loaded[« <b>Processus</b> – DLL Chargée (Netapi64.dll) »] class process_dll_loaded process action_hijack_flow[« <b>Action</b> – Détournement du Flux d’Exécution : AppDomainManager<br/><b>Technique</b>: T1574.014 (Modifier le Flux d’Exécution pour la Persistance & l’Escalade de Privilèges) »] class action_hijack_flow action action_inject_code[« <b>Action</b> – Injection de Code Malveillant .NET<br/><b>Technique</b>: T1027 (Fichiers ou Informations Obfusqués) »] class action_inject_code action malware_backdoor[« <b>Malware</b> – Porte Dérobée Obfusquée (OpenAIAgent.Netapi64)<br/>Obfuscation : Eazfuscator.NET, XOR, Base64, GZIP »] class malware_backdoor malware tool_mavinject[« <b>Outil</b> – Mavinject<br/><b>Technique</b>: T1218.013 (Exécution de Proxy Binaire Système) »] class tool_mavinject tool action_js_injection[« <b>Action</b> – Injection d’Entrée via JScriptEngine (Eval.JScriptEvaluate) »] class action_js_injection action action_execute_payloads[« <b>Action</b> – Exécuter des Charges Attaquantes »] class action_execute_payloads action action_archive_data[« <b>Action</b> – Archiver les Données Collectées (AES/GZIP)<br/><b>Technique</b>: T1560.003 (Archiver les Données Collectées) »] class action_archive_data action action_send_results[« <b>Action</b> – Envoyer les Résultats via l’API d’Assistants OpenAI<br/><b>Techniques</b>: T1071.001 (Protocoles Web HTTPS), T1102.002 (Service Web), T1001.003 (Obfuscation des Données – Déguisement de Protocole) »] class action_send_results action action_cleanup[« <b>Action</b> – Nettoyer les Artéfacts<br/><b>Techniques</b>: T1070.004 (Suppression de Fichiers), T1027.005 (Suppression des Indicateurs des Outils) »] class action_cleanup action %% Edges action_initial_loader u002du002d>|charge| process_dll_loaded process_dll_loaded u002du002d>|détourne| action_hijack_flow action_hijack_flow u002du002d>|injecte| action_inject_code action_inject_code u002du002d>|crée| malware_backdoor malware_backdoor u002du002d>|utilise| tool_mavinject tool_mavinject u002du002d>|injecte dans| action_js_injection action_js_injection u002du002d>|exécute| action_execute_payloads action_execute_payloads u002du002d>|archive| action_archive_data action_archive_data u002du002d>|exfiltre| action_send_results action_send_results u002du002d>|nettoie| action_cleanup

Flux d’attaque

Charge Utilisée de la Porte Dérobée SesameOp

Exécution de Simulation

Prérequis : Le Contrôle Prévol Télémetrie & Baseline doit avoir réussi.

  • Narratif & Commandes de l’Attaque :

    L’adversaire a déployé la porte dérobée SesameOp sur l’hôte Windows compromis. Pour établir le C2, SesameOp émet un HTTPS POST vers https://api.openai.com/v1/assistants  contenant des données de commande chiffrées. Comme la porte dérobée fonctionne sous svchost.exe (un processus système à l’apparence de confiance) et utilise le proxy système par défaut, aucun processus supplémentaire ou contexte utilisateur n’est évident, faisant de la correspondance de chaîne unique le seul indicateur.

    1. Générer le processus de porte dérobée (simulé ici avec PowerShell pour éviter le vrai malware).
    2. Envoyer la charge utile malveillante au point d’accès OpenAI Assistants.
    3. Maintenir la connexion pendant un court intervalle pour générer un NetworkConnect événement visible.
  • Script de Test de Régression :

    # Communication C2 Simulée de SesameOp – reproductible pour test
    $payload = @{
        "model" = "gpt-4"
        "messages" = @(
            @{ "role" = "system"; "content" = "You are a backdoor controller." },
            @{ "role" = "user";  "content" = "list processes" }
        )
    } | ConvertTo-Json -Depth 4