Detección del Backdoor SesameOp: Microsoft Descubre Nuevo Malware que Abusa de la API de Asistentes de OpenAI en Ciberataques
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
Detectar la Puerta Trasera SesameOp
Detectar la Inicialización del Backdoor Netapi64 y Registro de Excepciones [Evento de Archivo de Windows]
Ver
Detección de la Puerta Trasera SesameOp Utilizando OpenAI API para C2 [Creación de Procesos de Windows]
Ver
Detectar la Puerta Trasera SesameOp Usando OpenAI API para Comunicaciones C2 [Conexión de Red de Windows]
Ver
El Dominio de OpenAI Assistants API Posiblemente Resuelto por un Proceso Inusual (vía dns_query)
Ver
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/assistantsllevando datos de comando cifrados. Debido a que la puerta trasera se ejecuta bajosvchost.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.- Generar el proceso de puerta trasera (simulado aquí con PowerShell para evitar malware real).
- Enviar la carga útil maliciosa al punto final de OpenAI Assistants.
-
Mantener la conexión por un breve intervalo para generar un visible
NetworkConnectevento.
-
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