El Malware CloudSyncD de macOS Oculta Credenciales Phished con Unicode de Ancho Cero
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
CloudSyncD es un backdoor de macOS de dos etapas distribuido a través de una imagen de disco de instalador falso de Zoom. La primera etapa roba credenciales de usuario a través de un mensaje de autorización fraudulento y oculta la contraseña capturada dentro de un archivo de configuración señuelo utilizando caracteres Unicode de ancho cero. La segunda etapa despliega un implante Mach-O incrustado que establece comunicación de comando y control para la ejecución de tareas remotas.
Investigación
Jamf Threat Labs descubrió el malware durante el monitoreo rutinario de ejecutables enviados a VirusTotal. Los investigadores rastrearon su evolución desde una versión de desarrollo inicial hasta el despliegue activo, observando un cambio de validación local de credenciales con dscl a comunicación con infraestructura C2 activa. Los analistas también descifraron el método de ocultamiento de contraseñas y recuperaron la configuración del implante y los protocolos de comunicación C2.
Mitigación
Los usuarios deben evitar seguir instrucciones manuales que requieran eludir las protecciones de Gatekeeper al instalar aplicaciones inesperadas. Las organizaciones pueden usar Jamf para Mac para habilitar la prevención de amenazas, controles avanzados de amenazas y protección web para detectar y bloquear actividad maliciosa. Mantener la Protección de Integridad del Sistema (SIP) habilitada también puede prevenir ciertas técnicas de ejecución sin archivos utilizadas por el dropper.
Respuesta
Cuando se detecta actividad de CloudSyncD, aísle el host macOS afectado para detener la comunicación C2 adicional. Investigue archivos sospechosos dentro de ~/.config/zoom/, ~/.local/share/cloudsync/ y el directorio temporal del sistema. Restablezca las credenciales de cualquier cuenta de usuario que haya interactuado con el mensaje de autorización falso, ya que sus contraseñas pueden haber sido expuestas a los atacantes.
Flujo de Ataque
Todavía estamos actualizando esta parte.
Detecciones
Posible Comunicación C2 Sobre HTTP a IP Directa con Puerto Poco Común (vía proxy)
Validación de Credenciales de MacOS vía Dscl Authonly (vía línea de comandos)
Detección del Backdoor CloudSyncD de macOS [Creación de Procesos en Linux]
## Ejecución de Simulación
-
Narrativa del Ataque & Comandos: El atacante entrega un instalador malicioso de macOS disfrazado de Zoom a través de un correo electrónico de phishing. Una vez que el usuario ejecuta el instalador (Ejecución por Usuario), el dropper (la primera etapa) intenta lanzar la carga útil de la segunda etapa. Durante este proceso, ocurre un error específico en la cadena de la línea de comandos:
/dev/fd spawn failed rc=13. Alternativamente, el dropper lanza con éxito un componente llamadocshelper. La simulación ejecutará dos escenarios distintos: uno dirigido a las cadenas de línea de comandos y otro dirigido al nombre específico del proceso para garantizar una cobertura completa de la lógica de la regla. -
Script de Prueba de Regresión:
#!/bin/bash # Script de Simulación de CloudSyncD echo "[*] Iniciando Simulación de CloudSyncD..." # Escenario 1: Activación vía Selección 1 y Selección 2 (El error del Dropper) echo "[*] Simulando Dropper de Etapa 1 con cadena de error específica..." # Utilizamos 'logger' o una ejecución ficticia para simular la telemetría de la línea de comandos si no podemos realmente fallar un descriptor de archivo # En una prueba real de EDR, ejecutamos un proceso que lleva esta cadena en sus argumentos /usr/bin/echo "el dropper app_installer /dev/fd spawn failed rc=13" & sleep 2 # Escenario 2: Activación vía Selección 3 (El proceso cshelper) echo "[*] Simulando ejecución del proceso 'cshelper' de Etapa 2..." # Crear un archivo ficticio para representar el binario malicioso touch /tmp/cshelper chmod +x /tmp/cshelper /tmp/cshelper & echo "[*] Comandos de simulación despachados." -
Comandos de Limpieza:
#!/bin/bash # Script de limpieza echo "[*] Limpiando artefactos de simulación..." rm -f /tmp/cshelper echo "[*] Limpieza completa."