Los investigadores de Group-IB han descubierto un nuevo infostealer para macOS, ClickLock Stealer, que utiliza un enfoque radicalmente distinto para obtener la contraseña del sistema: si la víctima se niega a introducir sus credenciales, el malware empieza a finalizar en bucle aplicaciones clave —Finder, Dock, Spotlight, Terminal, Activity Monitor y los navegadores— cada 210 milisegundos, convirtiendo el escritorio en un entorno inoperable con una única ventana de entrada de contraseña. Según Group-IB, desde mayo la campaña ha afectado al menos a 100 objetivos en 33 países, más de la mitad en Europa. En el momento del análisis, el script orquestador tenía cero detecciones en VirusTotal.
Mecánica de infección: de pegar en Terminal a tomar el control del escritorio
La entrega de ClickLock se basa en la técnica ClickFix (T1204.004): se convence a la víctima para que pegue un comando en Terminal. El script acepta el parámetro RAY_ID y muestra un banner falso de Cloudflare CAPTCHA con una barra de progreso compuesta por doce líneas de estado: un elemento puramente decorativo para crear la ilusión de legitimidad. Bajo esta fachada, el script desactiva las interrupciones de teclado, oculta el cursor y descarga cuatro cargas útiles desde dos sitios comprometidos: dos se canalizan directamente a bash y dos se guardan en el directorio oculto $HOME/.cacheb/.
La primera solicitud de contraseña es un diálogo de osascript con un icono de Apple cargado y el nombre real del usuario. La contraseña introducida se comprueba con el comando dscl /Local/Default -authonly, y solo la contraseña válida se envía al operador. Esta misma técnica de validación, según datos de Microsoft, se utilizó en SHub Stealer, AMOS y MacSync dentro de la oleada de campañas ClickFix para macOS en mayo.
Si la víctima pulsa «Cancelar», el script instala dos LaunchAgent —com.authirity.plist y com.chromer.plist en ~/Library/LaunchAgents/— y se cierra silenciosamente. La coerción comienza en el siguiente inicio de sesión.
Doble ciclo de coerción
El primer LaunchAgent inicia un ciclo de finalización de procesos con un intervalo de 210 ms hasta obtener la contraseña. El segundo funciona en paralelo: finaliza procesos cada 0,2 segundos durante hasta 3 000 000 segundos (unos 34,7 días), solicitando al mismo tiempo la clave Chrome Safe Storage del llavero (Keychain) cada medio segundo. Esta petición provoca un diálogo de sistema real de macOS, y el ciclo de finalización de aplicaciones mantiene el escritorio en un estado inoperable hasta que la víctima aprueba el acceso.
Activity Monitor y Terminal están incluidos en ambas listas de procesos a finalizar: la víctima no puede ni diagnosticar el problema ni detener el proceso por medios estándar. Un tercer ciclo finaliza NotificationCenter durante seis horas, bloqueando la visualización de las alertas de Gatekeeper. Si Terminal no tiene Full Disk Access, el orquestador abre System Settings en el panel correspondiente y guía a la víctima para conceder el permiso.
Group-IB caracteriza las invocaciones subsiguientes de pkill y killall contra Finder, Dock, SystemUIServer y NotificationCenter como «un comportamiento único de malware orientado a la interacción forzada, sin aplicación legítima».
Alcance del robo de datos y backdoor
Una ejecución satisfactoria proporciona al operador: la contraseña del sistema macOS validada, la clave AES de Chrome Safe Storage (que permite descifrar offline los archivos Login Data y Cookies) y un archivo ZIP con credenciales de navegadores, cookies, almacén de extensiones de monederos de criptomonedas, archivos de monederos de escritorio, almacenes de gestores de contraseñas, contenido de Keychain, historial de shell y credenciales guardadas de FileZilla. La exfiltración se realiza a través de tres bots de Telegram.
El componente backdoor goyim, según la evaluación de Group-IB, está copiado en un 80 % de un script público de despliegue de GSocket, una herramienta de tunelización con conexión inversa cifrada a través de relés. El binario se descarga desde gsocket.io y se conecta al relé del operador gsnc[.]eu:67. En macOS se guarda como iCloud en ~/Library/Application Support/iCloudsync y se disfraza como el proceso SystemUIServerl, con una letra «l» adicional al final.
Un detalle crítico: los módulos del stealer eliminan sus propios LaunchAgent, falsifican las marcas de tiempo de los archivos en el directorio ~/Movies para dificultar la labor forense y se autodestruyen. El backdoor goyim, sin embargo, permanece. Tras introducir la contraseña, el escritorio parece normal, pero en la máquina sigue activa una reverse shell.
Protecciones de Apple y sus limitaciones
En macOS 26.4, lanzado a finales de marzo, Apple añadió un aviso ante pegados sospechosos en Terminal y el bloqueo de malware conocido. Sin embargo, como se desprende de la documentación de Apple, el aviso solo salta para usuarios que no utilizan Terminal de forma habitual y contiene un botón «Paste Anyway». El bloqueo exige que macOS ya conozca la firma del malware.
En cuestión de semanas aparecieron dos enfoques de evasión. Jamf Threat Labs documentó en abril una campaña que utilizaba el esquema de URL applescript:// para abrir Script Editor con la carga útil precargada —la comprobación de Terminal ni siquiera se activa—. ClickLock optó por otra vía: mantuvo el pegado en Terminal, pero diseñó un mecanismo de coerción que hace que la negativa del usuario carezca de sentido.
Indicadores de compromiso
- Hash del orquestador:
3ce0504ba65f8d56f83d7fef45faeaeb31e4e5aa9b872b56610b5f2558231caa - Archivos LaunchAgent:
com.authirity.plist,com.chromer.plist - Backdoor:
~/Library/Application Support/iCloudsync/iCloud, procesoSystemUIServerl - Indicadores de red:
gsnc[.]eu:67, tráfico haciaapi.telegram.org - Indicadores de comportamiento: invocación de
security find-generic-passworddesde un script de shell; diálogos deosascriptcon iconos cargados desde/tmp/; lectura masiva de directorios de perfiles de navegadores;curlcanalizado a bash con una URL que termina en.jpg,.txto.css
Recomendaciones de respuesta
Si el Mac comienza a finalizar aplicaciones en bucle y muestra una única ventana de entrada de contraseña, no introduzca la contraseña. Ninguna página de verificación requiere acceso a Terminal; la comprobación de Cloudflare se realiza en el navegador.
- Apagado forzoso: mantenga pulsado el botón de encendido hasta que el equipo se apague.
- Arranque en Safe Mode: en Intel, mantenga pulsada la tecla Shift al encender; en Apple Silicon, mantenga pulsado el botón de encendido hasta que aparezca «Loading startup options», seleccione el volumen, luego mantenga pulsada Shift y pulse «Continue in Safe Mode» (instrucciones de Apple).
- Eliminación de artefactos: revise
~/Library/LaunchAgents/en busca decom.authirity.plistycom.chromer.plist; elimine~/Library/Application Support/iCloudsyncy$HOME/.cacheb/. - Si se introdujo la contraseña: considere comprometidas todas las contraseñas guardadas, cookies, claves de monederos y sesiones de navegadores. Revoque las sesiones activas, cambie todas las contraseñas y regenere las claves de los monederos de criptomonedas.
ClickLock demuestra un cambio en las tácticas de los infostealers para macOS: en lugar de eludir las defensas técnicas, recurre a una ingeniería de coerción en la que la negativa del usuario no detiene el ataque, sino que solo lo aplaza hasta el siguiente inicio de sesión. Las organizaciones con un parque de Mac deberían comprobar la presencia de los IOC indicados, restringir los permisos de Terminal mediante políticas MDM y asegurarse de que los usuarios saben que los procesos de sistema legítimos nunca finalizan Finder y Dock en bucle para obtener una contraseña.