BlackPowerDog – Nuevo Troyano Bancario – actividad identificada en agosto del 2026
“BlackPowerDog, nuevo troyano bancario”
Visión general
El objetivo de esta publicación es proporcionar detalles técnicos sobre un nuevo malware asociado con actividad del grupo de amenaza Red WinterDog (operadores de la familia de malware BlackBelen, BlackDog, y BlackStink), descubierto por SCILabs mediante el monitoreo constante de amenazas en la región de LATAM a inicios del mes de agosto.
Durante la investigación se observaron múltiples scripts de PowerShell que se relacionaron con la operación BlackDog documentadae internamente por SCILabs; sin embargo, en esta ocasión se detectó que implementó capacidades de troyano bancario y ciberespionaje; razón por la cual SCILabs determinó tratarlo como un nuevo malware llamado BlackPowerDog.
El objetivo de BlackPowerDog es monitorear la navegación de la víctima y, similar a sus predecesores, intenta robar información confidencial de usuarios en México; principalmente de instituciones bancarias como Banamex, BBVA, HSBC, Banorte, por mencionar algunas; así como criptomonedas y casas de bolsa como Binance, Masari Casa de Bolsa y el Sistema de Transferencias y Pagos (STP), en esta ocasión a través de scripts maliciosos. Aunque este malware también tiene nuevas funciones que se pueden usar para realizar espionaje bajo demanda y, de esta manera, obtener más información de la víctima, no necesariamente financiera.
A pesar de que en esta campaña no identificamos el método inicial de entrega, tenemos la hipótesis, con nivel medio de confianza, de que puede ser a través de correos electrónicos de phishing o por medio de técnicas de BlackSEO y malvertising; esto de acuerdo con investigaciones relacionadas con el grupo de amenazas Red WinterDog,
¿Cómo podría afectar a una organización?
El objetivo principal de Red WinterDog es realizar ataques de tipo Man-in-the-Browser para robar información financiera de todo tipo de usuarios, incluyendo empleados de las organizaciones. Si un ataque de este malware tiene éxito, los ciberdelincuentes podrían filtrar y/o vender la información en sitios de la Dark Web y el mercado negro, además de realizar transacciones bancarias fraudulentas. Esto podría causar pérdidas económicas y de reputación de la organización.
Adicionalmente, se observó que tiene capacidades de espionaje, con lo cual podrían obtener otro tipo de información con distintos fines, como, por ejemplo, afectar la reputación de la organización, publicar información en foros o venderla a otros actores de amenaza para realizar ataques más sofisticados.
ANÁLISIS
Contexto de la amenaza
Durante la última semana de julio y la primera de agosto de 2026, por medio de la caza de amenazas y el monitoreo de campañas de malware en Latinoamérica, SCILabs identificó un sitio con actividad maliciosa, el cual se hace pasar por una institución financiera de México. A pesar de que no pudimos identificar el método de entrega inicial, tenemos una hipótesis, con un nivel de confianza medio, que es a través de campañas de BlackSEO, malvertising o correos electrónicos usando pretextos de transferencias y pagos electrónicos, ya que estos métodos se han documentado por SCILabs en reportes anteriores asociados con la distribución de BlackDog.
En la página de inicio del sitio, se muestra una pantalla con lo que parece ser una transacción bancaria con supuestos datos de cuenta y entidad financiera, así como un monto. Sin embargo, más abajo, se observa una serie de instrucciones para descargar un supuesto archivo que es conocido como CEP en México; no obstante, en este paso se está utilizando la técnica de ClickFix, con la cual el navegador ya copió información al portapapeles que es necesaria para continuar con la infección del malware.
- hxxps[:]//banxico[.]cfd

Figura 1. Sitio malicioso con técnica de ClickFix
El texto que se encuentra en el portapapeles contiene un código para descargar y ejecutar un archivo desde la consola de comandos a través de la siguiente dirección URL:
- hxxp[:]//68[.]211[.]161[.]46/validatio[.]txt

Figura 2. Comando copiado al portapapeles
Resumen técnico
Si el usuario sigue las instrucciones que se encuentran en el sitio falso, comienza la primera fase de la infección por malware, cargando en memoria el script “validatio.txt”, el cual contiene instrucciones para descargar un archivo HTML llamado “windows.html” desde la siguiente dirección URL, el cual es almacenado en la ruta C:\ProgramData\WindosUpdate:
- hxxp[:]//68[.]211[.]161[.]46/files/windows[.]html

Figura 3. Código en la URL del archivo “validatio.txt”

Figura 4. Descarga de HTML malicioso
El contenido del archivo de tipo HTML tiene como objetivo desplegar una ventana a pantalla completa que simula una actualización de Windows, intentando hacer creer al usuario que se está iniciando una actualización legítima del sistema operativo. El botón secundario del mouse está deshabilitado, por lo que parece que el equipo entró en fase de reinicio; sin embargo, solo es la pantalla del navegador la que puede ser deshabilitada con F11.

Figura 5. Fragmento de código en el HTML
A continuación, se muestra la evidencia de la pantalla que se muestra al usuario, la cual no parece tener un límite de tiempo, sino que se mantiene incrementando hasta más del 100%, lo que sugiere un error en el diseño del HTML por parte del actor de amenazas.

Figura 6. Pantalla de actualización falsa
Mientras el usuario solo observa una pantalla de actualización, por detrás, el malware se continúa ejecutando; en primer lugar, utiliza la herramienta legítima de Windows bitsamin para realizar la descarga de diversos artefactos y colocarlos en la ruta %PUBLIC%, los cuales se usarán más adelante en la cadena de infección.
- hxxp[:]//68[.]211[.]161[.]46/files/agent[.]txt
- hxxp[:]//68[.]211[.]161[.]46/files/avs[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/cliente[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/clip[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/clip2[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/comentario[.]txt
- hxxp[:]//68[.]211[.]161[.]46/files/correr[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/edifhjwe[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/ini[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/instaler[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/jujuzkt[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/jujuzkt2[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/key[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/mensaje[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/mensaje1[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/mensajeoff[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/remo[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/remoto[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/rotor1[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/rotor2[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/rotor3[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/screen[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/screen2[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/pantallasos[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/logger[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/quitar[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/quitar[.]bat
- hxxp[:]//68[.]211[.]161[.]46/files/poner[.]ps1
- hxxp[:]//68[.]211[.]161[.]46/files/poner[.]bat
- hxxp[:]//68[.]211[.]161[.]46/files/cursor[.]cur
- hxxp[:]//68[.]211[.]161[.]46/files/cursor[.]ps1
Mientras se muestra la pantalla de actualización y se descargan múltiples scripts que fungen en conjunto como el payload final de la infección por BlackPowerDog; se inicia automáticamente el primer script de PowerShell que desencadena las demás fases.
- ini.ps1: su objetivo principal es cargar todos los scripts necesarios durante la infección en modo oculto para pasar desapercibido ante la víctima.

Figura 7. Script de inicio de infección con BlackPowerDog
Preparación de la comunicación con el C2 y descarga de archivos de configuración
Esta es la primera parte del flujo de ataque que, a partir de los scripts, toma el control del equipo de la víctima, estableciendo los canales de comunicación y descargando los archivos de configuración para ejecutar comandos, comparar información bancaria u obtener datos del equipo. Para esta actividad usa el siguiente script:
- cliente.ps1: este es uno de los scripts más importantes en la cadena de infección, ya que, básicamente es el que establece comunicación con el C2. Además de eso, realiza el reconocimiento del equipo que incluye dirección IP pública, dirección IP local, nombre del equipo (hostname) y hora de ejecución.
Adicionalmente, realiza la creación de los archivos necesarios para las demás partes de la infección, que incluye la lista de las entidades financieras objetivo, los dígitos de las cuentas objetivo, ya sea con CLABE o con número de tarjeta, los comandos del atacante, y características del equipo.

Figura 8. Referenciación de archivos de configuración
Monitoreo de navegación web y captura de datos
Esta sección del flujo de ataque tiene como objetivo monitorear la actividad de la víctima y enviarla a un sitio falso para que teclee datos bancarios, los cuales serán obtenidos por el atacante. Además, es posible capturar la pantalla del usuario. A continuación, se describen los archivos que la componen:
- jujuzkt.ps1: este script es el segundo ejecutado por “ini.ps1” y es el encargado de validar que el título de las ventanas de navegación a las que accede la víctima coincida con las palabras clave que se encuentran en los archivos de configuración. En caso de que coincida, se envía a la víctima a un sitio falso para capturar los datos bancarios.

Figura 9. Fragmento de código con instrucciones para comparar información
- rotor1.ps1: si la navegación de la víctima coincide con las palabras clave, entonces este script se ejecuta cada 7 segundos, donde manda a llamar un script nuevo con el nombre “screen2.ps1” y lo hace por 5 minutos.

Figura 10. Segmento de código para ejecutar otro script malicioso
- screen2.ps1: este script realiza la captura de pantalla del equipo durante su ejecución.

Figura 11. Segmento de código para almacenar la captura de pantalla
Secuestro del equipo
Esta parte del flujo de ataque tiene como objetivo secuestrar la sesión del usuario y hacer que solo pueda interactuar con la ventana del sitio bancario falso y para esto implementa las palabras “BLOQUEAR” y “DESBLOQUEADO” para interactuar con la ventana de la víctima. A continuación, se detalla cada uno de los scripts que lo componen:
- mensaje1.ps1: este script funge como si fuera un botón que apaga o enciende el secuestro del equipo, a partir de información enviada por el atacante desde el C2.

Figura 12. Segmento de código para secuestro de equipo
- mensajeoff.ps1: este script tiene como objetivo mostrar una ventana del navegador de manera persistente para forzar a la víctima a ingresar información bancaria en ella. Es importante mencionar que este se ejecuta siempre y cuando en el archivo de “comando.txt” encuentre las palabras “BLOQUEAR” y “off”.

Figura 13. Segmento de lógica de código para liberar o secuestrar el equipo
- mensaje.ps1: este script es similar al anterior; con la diferencia de que este es más estricto, ya que no permite que el cursor salga del área de la ventana, y queda a consideración del atacante cuál de los dos se debería de ejecutar.

Figura 14. Lógica que establece el tamaño de la pantalla
Ingesta de direcciones URL maliciosas y captura de datos bajo demanda
Esta sección del flujo de ataque tiene como objetivo monitorear la actividad de la víctima y enviarla a un sitio falso para que teclee datos bancarios, los cuales serán obtenidos por el atacante; a diferencia del proceso ejecutado por el script “jujuzkt.ps1”, que lo hace de manera automática, en este caso espera que el actor envíe al equipo de la víctima la instrucción para mostrar la página maliciosa. A continuación, se detalla cada uno de los scripts que lo componen:
- remo.ps1: este script es el ejecutado por “ini.ps1” y es el encargado de mantener el monitoreo de las instrucciones enviadas por el atacante en el archivo “comando.txt”, primero realiza la comunicación con el C2 para validar si hay nueva información en el C2.

Figura 15. Script que ejecuta la lógica para envío de direcciones URL bajo demanda
- jujuzkt2.ps1: este script es similar en funciones y características al de nombre “jujuzkt.ps1” descrito antes en esta publicación; con la diferencia de que este es detonado por el atacante y consulta la información directamente en el C2 para ser ejecutado, para posteriormente enviar a la víctima al sitio falso; mientras que el otro script, se mantiene en monitoreo del navegador todo el tiempo.
Actualización del agente de monitoreo
Esta parte del flujo de ataque tiene como objetivo principal mantener actualizados los scripts de la infección. A continuación, se detalla cada uno de ellos y que lo componen:
- edifhjwe.ps1: este script tiene como objetivo principal revisar si el agente de monitoreo se encuentra actualizado. Esto a través del archivo de texto “comando.txt”, en caso de que el equipo si contenga la frase “BOT ACTUALIZADO”, se termina la ejecución de este script; si no existe, comienza la descarga de un ZIP que contiene en teoría todos los nuevos scripts de la infección y son colocados en la carpeta %PUBLIC%:

Figura 16. Script que actualiza los demás scripts si han sufrido algún cambio
- run.vbs: este script básicamente vuelve a ejecutar los archivos necesarios para continuar con el monitoreo de la actividad en el equipo de la víctima. Si alguno ya está en ejecución, no se ejecuta; de esta manera garantiza que no haya problemas de duplicidad y falle la infección.

Figura 17. Rutina de ejecución de nuevos scripts
Administración remota del equipo
Al continuar con la infección, el atacante instala el agente de administración remota de Remote Utilities con la intención de mantener persistencia y, a su vez, monitorear la actividad de la víctima o interactuar activamente en el equipo. A continuación, se detalla cada uno de los scripts que lo componen:
- avs.ps1: en este caso, el script toma información del archivo “comando.txt”, con la finalidad de obtener la ruta de descarga del archivo MSI; si existe, comienza con su descarga. Cabe mencionar que el atacante verifica que el archivo sea descargado completamente al tener el tamaño esperado de 27,845 KB.

Figura 18. Segmento de código para descarga de agente de acceso remoto
- instaler.ps1: este script es el encargado de asegurarse de que la instalación del agente de Remote Utilities se instale sin ser detectado por la víctima.

Figura 19. Intento de instalación de agente
- remoto.ps1: este script es relevante para la ejecución de esta sección de código, ya que su función principal es obtener el “Internet-ID” del equipo víctima. Este es un identificador único creado por Remote Utilities, y funciona como una dirección única para poder conectarse remotamente. Además, modifica la configuración para que no se muestre la notificación del agente de Remote Utilities.

Figura 20. Modificación de notificación de Remote Utilities
Cambio de datos bancarios relacionados con cuenta CLABE
En esta parte de la infección con BlackPowerDog, se presenta el monitoreo del portapapeles con la intención de que, si el usuario copia una cuenta CLABE, esta sea sustituida inmediatamente por una cuenta del atacante para que cuando el usuario pegue los números, los fondos de la transferencia bancaria lleguen a la cuenta maliciosa.
- clip.ps1: el script realiza el monitoreo del portapapeles y a través de una expresión regular valida si alguno de los datos contiene 18 dígitos. Si es así, entonces consulta el archivo que se encuentra en la ruta %PUBLIC%\clabes.txt, para comparar los primeros 3 dígitos y, si los encuentra, entonces sustituye el resto con los datos maliciosos.

Figura 21. Segmento de código que compara datos en el portapapeles
Cambio de datos bancarios relacionados con número de tarjeta
La ejecución de este script es similar al anterior, solo que, en esta ocasión, compara la información del portapapeles con datos de tarjetas bancarias.
- Clip2.ps1: el script es idéntico al descrito en el punto anterior, solo que en esta ocasión busca coincidencia con los primeros 6 dígitos de la tarjeta copiada por la víctima en el portapapeles contra el archivo %PUBLIC%\tarjetas.txt, y si coincide, es sustituida por una cuenta del atacante.

Figura 22. Segmento de código que compara números de tarjeta en el portapapeles
Reinstalación de agente de administración remota
Esta sección de la infección contiene código para que el equipo de la víctima reciba un comando y, si es ejecutado, comenzar la desinstalación del agente de Remote Utilities para, posteriormente, volverlo a instalar; es importante destacar que, durante el análisis, se observó que la primera sección del código no funciona correctamente ya que esta comentado con un símbolo comillas (“); no se pudo confirmar si este es modificado remotamente por el atacante o si es una falla en el desarrollo. Aun así, se detalla la intención de este script para futuras referencias.
- correr.ps1: este script tiene la intención de ejecutarse cada 60 segundos y consultar el archivo %PUBLIC%\comando.txt, si encuentra la palabra “POWERSHELL”, entonces descarga un archivo llamado “codigo.zip”. Posteriormente, descomprime el contenido del archivo, el cual contiene un script llamado “codigo.ps1”, que es ejecutado.

Figura 23. Código que reinstala agente de acceso remoto
- codigo.ps1: este script tiene como objetivo eliminar el agente de Remote Utilities de manera silenciosa, para pasar desapercibido.

Figura 24. Segmento de código que desinstala agente remoto
Desaparición de cursor
Para esta parte de la cadena de infección, se observó que tiene como objetivo desaparecer el cursor de la pantalla, no tenemos evidencia que nos permita confirmar con que intención lo realizan, sin embargo, tenemos una hipótesis con nivel medio de confianza que podría ser para manipular la pantalla remotamente sin dejar rastro.
- cursor.ps1: este script lee el archivo %PUBLIC%\comando.txt, con el cual controla si debe desaparecer o aparecer el cursor; si en el archivo se encuentra la palabra “QUITAR”, ejecuta el script “quitar.ps1” con el cual desaparece el cursor y si encuentra “PONER”, entonces ejecuta “poner.ps1” con el que restaura la configuración del mismo.

Figura 25. Segmento de código con la lógica para ocultar el cursor
- quitar.ps1: este script realiza la descarga de un archivo desde un sitio que tiene todo tipo de cursores, y justamente el que descarga tiene como nombre “Invisible cursor.cur”, el cual es renombrado como “cursor5.cur” en la ruta %PUBLIC%. Además, se crea un valor aleatorio de 0 a 1000000, el cual no tiene función en el script y finalmente se cargan las librerías de manejo del cursor.

Figura 26. Segmento de código que sustituye todos los tipos de cursor
- poner.ps1: para este caso, el script básicamente lo que hace es restaurar la configuración a la base de Windows, dejando que el cursor se vuelva a mostrar. Esto lo hace a través de la llamada a librerías del puntero y cambiando los datos por defecto.

Figura 27. Código que restaura el puntero a su forma original
Captura de pantalla bajo demanda
En esta parte de la infección, el atacante busca realizar la captura de pantalla del equipo comprometido en cuanto envíe la instrucción del C2. En este caso, funcionaría más para el caso de espionaje para validar las actividades que está realizando la víctima en ese momento, a través del script llamado “pantallasos.ps1”
- pantallasos.ps1: este script es el encargado de establecer comunicación con el C2 y leer el archivo %PUBLIC%\comando.txt, para identificar si existe la instrucción para realizar la captura de pantalla.

Figura 28. Segmento de código que obtiene datos de la víctima
- rotor2.ps1: este script es una interfaz entre el anterior y %PUBLIC%\screen2.ps1, que ya ha sido descrito en la sección “monitoreo de actividad web y captura de datos”, con el cual se generan las capturas de pantalla. En este caso, el monitoreo de actividad se mantiene durante 900 minutos y genera capturas de pantalla cada 7 segundos.

Figura 29. Código usado para capturar pantalla cada 7 segundos
Captura de pulsaciones del teclado bajo demanda
Esta es la última fase del ataque con el malware de BlackDog, el cual tiene como objetivo realizar la captura de las pulsaciones del teclado cuando el atacante envíe la instrucción al C2, que es la misma mencionada en la fase anterior, por lo cual se inicia al mismo tiempo. Además, esta actividad también es considerada como espionaje para obtener información que el usuario esté tecleando en el momento.
- logger.ps1: este script es el encargado de establecer comunicación con el C2 y leer el archivo %PUBLIC%\comando.txt, para identificar si existe la instrucción para realizar la captura de las pulsaciones del teclado.

Figura 30. Fragmento de código que se usa para activar la captura de pulsaciones del teclado
- rotor3.ps1: en este caso básicamente es la misma función que “rotor2.ps1”, con la diferencia de que en este caso ejecuta el script %PUBLIC%key.ps1; sin embargo, igual se mantiene activo los 900 minutos y captura la información cada 7 segundos.

Figura 31. Código que ejecuta la captura de pulsaciones cada 7 segundos
- key.ps1: este script tiene la misión principal de obtener las pulsaciones de teclado mientras se encuentre activo y enviar la información al C2.

Figura 32. Fragmento de código con las funciones de teclado
Persistencia
Esta amenaza crea la persistencia al escribir en el registro de Windows usando el nombre de entrada “IniScript” en la ruta HCKU\SOFTWARE\Microsoft\Windows\CurrentVersión\Run; con el cual, cada vez que se reinicia el equipo, se ejecuta el script “ini.ps1”.

Figura 33. Persistencia de BlackPowerDog
Resumen de archivos de infección



Resumen del flujo de ataque
- Para esta campaña no fue posible identificar el método de distribución, sin embargo, de acuerdo con otras campañas de BlackDog, tenemos la hipótesis con nivel medio de confianza que es a través de correos electrónicos de phishing.
- La víctima accede a un sitio falso que se hace pasar por alguna organización de gobierno, el cual utiliza la técnica de ClickFix, para que la víctima siga las instrucciones y ejecute código de PowerShell.
- A partir de este momento se inicia de manera automática el flujo de infección, primero descargando el primer dropper, el cual se encarga de hacerse pasar por una actualización de Windows, mientras que realiza la descarga del payload final.
- El payload corresponde a un ZIP con múltiples scripts de PowerShell, que a través de un script inicial se ejecuta todo el flujo activando las siguientes funciones para comprometer el equipo:
- Obtención de información del equipo de la víctima y preparación de la configuración para la comunicación con el C2 y actualización de los scripts maliciosos cuando haya cambios por parte del atacante.
- Monitoreo de actividad en el navegador de la víctima, para obtener la URL legítima y sustituirla por una maliciosa para captura de datos bancarios.
- Secuestro del equipo mostrando una ventana maliciosa, para que la víctima ingrese datos bancarios, sin poder quitarla.
- Ingesta de direcciones URL directamente en el navegador bajo demanda, con esto el actor de amenaza envía al usuario a un sitio falso, sin importar en cuál se encuentre navegando la víctima.
- Cambio de datos bancarios tipo CLABE o número de tarjeta desde el portapapeles, detecta cuando el usuario copia alguno de estos datos de algún lugar para realizar transferencias y lo sustituye por alguno asociado al atacante.
- Instalación silenciosa de un agente de administración remota de Remote Utilities, para manipular el equipo cuando el atacante lo requiera. Además de la desinstalación e instalación nueva del agente.
- Desaparición del cursor, para evitar dejar rastro sobre dónde se encuentra y de esta manera la manipulación del equipo sea más silenciosa.
- Monitoreo de actividad en la pantalla bajo demanda, a través de una simple instrucción, el atacante podría obtener capturas de pantalla directo en el C2 en el momento que el requiera espiando las acciones de la pantalla.
- Monitoreo de las pulsaciones del teclado bajo demanda, al mismo tiempo que se ejecuta la captura de pantalla se obtiene la actividad del teclado usuario, cuando el atacante lo solicite y de esta manera obtener información confidencial.
- En cuanto a la comunicación con el C2, todas y cada una de las actividades listadas, realizan la comunicación continua a través de los scripts de PowerShell y archivos de configuración creados por el atacante.
- La amenaza de BlackDog se mantiene persistente a través del registro de Windows en la ruta HCKU\SOFTWARE\Microsoft\Windows\CurrentVersión\Run.
Diagrama del flujo de ataque

Figura 34. Flujo de ataque de BlackPowerDog
TTPs observados alineados al marco MITRE ATT&CK®

Tabla 1. TTPs observados alineados al marco MITRE ATT&CK®

Tabla 2. TTPs observados alineados al marco MITRE ATT&CK®

Tabla 3. TTPs observados alineados al marco MITRE ATT&CK®
Conclusión
Red WinterDog, ha demostrado mantenerse activo a lo largo del año realizando campañas dirigidas a víctimas en México, en algunos casos reusando artefactos y, en otros, implementando nuevos, como es el caso de esta campaña, donde se identificó un comportamiento que no había sido observado antes, por lo que SCILabs le ha designado el nombre de BlackPowerDog.
En esta campaña se observó que Red WinterDog, está implementando scripts creados con la ayuda de herramientas de inteligencia artificial, lo que permite que su evolución sea cada vez más rápida y compleja; por lo que no se descarta que en próximas ediciones de BlackPowerDog observemos la ofuscación de scripts, implementación de más artefactos intermedios y otras maneras de obtener información confidencial.
Este grupo de amenazas a lo largo del tiempo que ha sido analizado por SCILabs, se ha observado que continúa incrementando los objetivos que quiere alcanzar, empezando obtener datos bancarios de usuarios en México y después con la búsqueda de otras entidades financieras asociadas con criptomonedas; no obstante, como lo vimos en esta ocasión ahora podría ampliarse al espionaje ya que, con sus scripts ejecutados bajo demanda, es posible obtener este tipo de información de sus víctimas.
Este comportamiento indica que podría empezar a tener otros intereses lejos de la actividad financiera con datos de usuarios que podrían ser críticos y terminar en foros criminales o ataques más sofisticados.
SCILabs considera que Red WinterDog seguirá incrementando su actividad en estos días aprovechando la temporada de declaración de impuestos en México, por lo que es necesario mantenerse al tanto de los indicadores de compromiso y cambios que pueda haber en su cadena de infección.
SCILabs hace las siguientes recomendaciones:
- Realizar campañas de concientización sobre las técnicas usadas por este grupo cibercriminal para distribuir malware.
- Para el caso de los correos electrónicos de phishing:
- Evitar abrir correos de remitentes desconocidos.
- Evitar abrir enlaces sospechosos.
- Evitar abrir o descargar archivos sospechosos.
- Realizar una correcta implementación de políticas para la creación y uso de contraseñas para que estas no sean fáciles de adivinar o bien estén incluidas en diccionarios utilizados por los atacantes.
- Contar con políticas estrictas respecto al uso e instalación de complementos o extensiones en los navegadores web de la organización.
- Realizar la caza de amenazas en la carpeta %PUBLIC%, en busca de artefactos malintencionados como scripts de VBS, PowerShell, TXT o BAT.
- Realizar una búsqueda en los siguientes registros de Windows para validar si ha ocurrido alguna modificación recientemente.
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Classes\.lnk
- HKCU\Software\Classes\MiArchivoLnk1\shell\open\command
- Añadir los indicadores de compromiso reflejados en esta investigación a sus soluciones de seguridad.
- Si se identifica tráfico sospechoso relacionado con servicios de reconocimiento de direcciones IP o su geolocalización como api[.]ipify[.]org o ip-api[.]com, investigar para descartar o confirmar infecciones de malware distribuido por Red WinterDog.
- Aplique la regla YARA para detectar archivos con características de la infección de esta campaña de Red WinterDog.
Yara Rule
| rule PowerShell_BlackPowerDog_logica_ago26
{ meta: description = “Detecta script PowerShells que contienen la logica de la infección” author = “SCILabs” version = “1.0” date = “2026-09-07”
strings: //Variables $idfile = “$idfile” ascii wide nocase $serv = “$serv” ascii wide nocase $serv2 = “$serverUrl” ascii wide nocase
//Logica $while_true = “While ($true)” ascii wide nocase $write_host = “Write-Host” ascii wide nocase
//Archivo de ID $client_id = “client_id.txt” ascii wide nocase
condition: $idfile and ($serv or $serv2) and $while_true and $write_host and $client_id } |

