SOC Prime Bias: Crítico

04 Nov 2025 09:05

Detección del Backdoor SesameOp: Microsoft Descubre Nuevo Malware que Abusa de la API de Asistentes de OpenAI en Ciberataques

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Detección del Backdoor SesameOp: Microsoft Descubre Nuevo Malware que Abusa de la API de Asistentes de OpenAI en Ciberataques
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Ataques del Malware SesameOp

Investigadores de Microsoft descubrieron una nueva puerta trasera llamada SesameOp que utiliza la API de OpenAI Assistants como un canal encubierto de comando y control. El malware se entrega a través de un cargador malicioso Netapi64.dll que se inyecta en procesos .NET usando AppDomainManager injection. Almacena la configuración en los recursos del DLL y se comunica con los puntos finales de OpenAI para recibir comandos y exfiltrar resultados. La amenaza está diseñada para espionaje a largo plazo en hosts de Windows.

Investigación

La investigación identificó un DLL cargador (Netapi64.dll) ofuscado con Eazfuscator.NET que crea archivos marcadores y un mutex, luego decodifica y ejecuta un componente de puerta trasera llamado OpenAIAgent.Netapi64. La puerta trasera analiza una configuración delimitada por tuberías que contiene una clave API de OpenAI, una clave de diccionario y un proxy opcional. Interactúa con la API de OpenAI Assistants para obtener almacenes de vectores, asistentes y mensajes que codifican comandos o cargas útiles, los cuales son descifrados, descomprimidos y ejecutados a través de un motor JScript.

Mitigación

Microsoft recomienda endurecer los firewalls y las configuraciones de proxy, habilitar la protección contra manipulaciones y la protección en tiempo real en Defender, y usar el modo de bloqueo para aplicaciones potencialmente no deseadas. Monitorear el tráfico saliente a api.openai.com y detectar la creación del mutex específico y archivos temporales puede ayudar a detectar la actividad. También se aconseja implementar EDR con modo de bloqueo y automatizar acciones de remediación.

Respuesta

Al detectar, aísle el host afectado, termine los procesos maliciosos, elimine el Netapi64.dll y los archivos temporales relacionados, y revoque la clave API comprometida de OpenAI. Lleve a cabo una revisión forense completa para detectar mecanismos de persistencia adicionales y cambie todas las credenciales privilegiadas. Actualice las reglas de detección para buscar el mutex identificado, las rutas de archivo y las conexiones salientes a la API de OpenAI Assistants.

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>Acción</b> – Despliegue Inicial del Cargador<br/><b>Técnicas</b>: T1546.010 DLLs AppInit, T1546.009 DLLs AppCert, T1546.007 DLL Helper de Netsh»] class action_initial_loader action process_dll_loaded[«<b>Proceso</b> – DLL Cargada (Netapi64.dll)»] class process_dll_loaded process action_hijack_flow[«<b>Acción</b> – Secuestrar Flujo de Ejecución: AppDomainManager<br/><b>Técnica</b>: T1574.014 (Modificar Flujo de Ejecución para Persistencia y Escalación de Privilegios)»] class action_hijack_flow action action_inject_code[«<b>Acción</b> – Inyectar Código Malicioso .NET<br/><b>Técnica</b>: T1027 (Archivos u Información Ofuscados)»] class action_inject_code action malware_backdoor[«<b>Malware</b> – Puerta Trasera Ofuscada (OpenAIAgent.Netapi64)<br/>Ofuscación: Eazfuscator.NET, XOR, Base64, GZIP»] class malware_backdoor malware tool_mavinject[«<b>Herramienta</b> – Mavinject<br/><b>Técnica</b>: T1218.013 (Ejecución de Proxy Binario del Sistema)»] class tool_mavinject tool action_js_injection[«<b>Acción</b> – Inyección de Entrada vía JScriptEngine (Eval.JScriptEvaluate)»] class action_js_injection action action_execute_payloads[«<b>Acción</b> – Ejecutar Cargas Útiles del Atacante»] class action_execute_payloads action action_archive_data[«<b>Acción</b> – Archivar Datos Recogidos (AES/GZIP)<br/><b>Técnica</b>: T1560.003 (Archivar Datos Recogidos)»] class action_archive_data action action_send_results[«<b>Acción</b> – Enviar Resultados vía API de OpenAI Assistants<br/><b>Técnicas</b>: T1071.001 (Protocolos Web HTTPS), T1102.002 (Servicio Web), T1001.003 (Ofuscación de Datos – Suplantación de Protocolo)»] class action_send_results action action_cleanup[«<b>Acción</b> – Limpiar Artefactos<br/><b>Técnicas</b>: T1070.004 (Eliminación de Archivos), T1027.005 (Eliminación de Indicadores de Herramientas)»] class action_cleanup action %% Edges action_initial_loader u002du002d>|Carga| process_dll_loaded process_dll_loaded u002du002d>|Secuestra| action_hijack_flow action_hijack_flow u002du002d>|Inyecta| action_inject_code action_inject_code u002du002d>|Crea| malware_backdoor malware_backdoor u002du002d>|Usa| tool_mavinject tool_mavinject u002du002d>|Inyecta en| action_js_injection action_js_injection u002du002d>|Ejecuta| action_execute_payloads action_execute_payloads u002du002d>|Archiva| action_archive_data action_archive_data u002du002d>|Exfiltra| action_send_results action_send_results u002du002d>|Limpia| action_cleanup

Flujo de Ataque

Carga Útil de la Puerta Trasera SesameOp

Ejecución de Simulación

Requisito Previo: El Telemetry & Baseline Pre-flight Check debe haber pasado.

  • Narrativa & Comandos del Ataque:

    El adversario ha desplegado la puerta trasera SesameOp en el host de Windows comprometido. Para establecer C2, SesameOp emite un POST HTTPS a https://api.openai.com/v1/assistants llevando datos de comando cifrados. Debido a que la puerta trasera se ejecuta bajo svchost.exe (un proceso del sistema que parece confiable) y utiliza el proxy del sistema por defecto, no hay proceso adicional o contexto de usuario evidente, haciendo que la coincidencia de una sola cadena sea el único indicador.

    1. Generar el proceso de puerta trasera (simulado aquí con PowerShell para evitar malware real).
    2. Enviar la carga útil maliciosa al punto final de OpenAI Assistants.
    3. Mantener la conexión por un breve intervalo para generar un visible NetworkConnect evento.
  • Script de Prueba de Regresión:

    # Comunicación de C2 de SesameOp Simulada – reproducible para pruebas
    $payload = @{
        "model" = "gpt-4"
        "messages" = @(
            @{ "role" = "system"; "content" = "You are a backdoor controller." },
            @{ "role" = "user";  "content" = "list processes" }
        )
    } | ConvertTo-Json -Depth 4