Key Takeaways
- Se ha observado que SORVEPOTEL se propaga en sistemas Windows con un mensaje que requiere que los usuarios lo abran en un escritorio, lo que sugiere que los actores de amenazas detrás de la campaña están apuntando a empresas.
- El malware aprovecha las sesiones activas de WhatsApp para distribuir automáticamente el mismo archivo ZIP malicioso a todos los contactos y grupos asociados con la cuenta comprometida de la víctima para una propagación rápida.
- El payload de esta amenaza es un infostealer diseñado para atacar diversas instituciones financieras e intercambios de criptomonedas en el mercado brasileño.
Con contribuciones de Joe Soares, Ian Kenefick, Victor Bertho, Valentim Uliana, Guilherme Marcelino de Sa, Laercio Maciel, Matheus Perestrelo, Felippe Barros, Pedro Alberto Costa, Gustavo Silva Este blog se actualizó el 4 de octubre de 2025 a las 14:00 (hora del este de EE. UU.) con información sobre la carga útil. Trend™ Research está investigando una agresiva campaña de malware que utiliza la plataforma de mensajería instantánea WhatsApp como principal vector de infección. A diferencia de los ataques tradicionales centrados en el robo o el ransomware, esta campaña está diseñada para la velocidad y la propagación, abusando de la confianza social y la automatización para propagarse entre los usuarios de Windows. El análisis de Trend Research identifica la campaña como Water Saci, y el malware de WhatsApp como SORVEPOTEL. Actualmente, su mayor actividad se concentra en Brasil. Se ha observado que SORVEPOTEL se propaga en sistemas Windows mediante mensajes de phishing convincentes con archivos ZIP adjuntos maliciosos. Curiosamente, el mensaje de phishing que contiene el archivo adjunto malicioso requiere que los usuarios lo abran en un ordenador de escritorio, lo que sugiere que los ciberdelincuentes podrían estar más interesados en atacar a empresas que a consumidores. Una vez abierto, el malware se propaga automáticamente a través de WhatsApp Web, lo que provoca el bloqueo de las cuentas infectadas debido a la excesiva actividad de spam. Una vez decodificado, el comando de PowerShell genera una URL que apunta al servidor de comando y control (C&C). Mediante Net.WebClient, el script descarga contenido de esta dirección, que se ejecuta inmediatamente en memoria a través de Invoke-Expression. La carga útil descargada es un script de PowerShell que carga de forma reflectiva una DLL de .NET que extrae código malicioso del servidor C&C, lo inyecta en powershell_ise.exe para monitorizar la actividad bancaria y permite la propagación (incluso a través de WhatsApp) manteniendo contacto con varios servidores C&C. En las siguientes secciones se ofrecen más detalles sobre el comportamiento y las técnicas de la carga útil. El monitoreo continuo de Trend revela una campaña que no solo desestabiliza a usuarios y empresas, sino que también ofrece un modelo para ataques similares a nivel mundial. Este blog es un llamado urgente a aumentar la concientización, implementar tácticas defensivas modernas y monitorear proactivamente los canales de comunicación más utilizados. Esto incluye evaluar si sus usuarios realmente necesitan usar WhatsApp y, de ser así, contar con políticas BYOD claras. Los atacantes conocen la gran inversión de las empresas en vectores de ataque comunes, como el correo electrónico y las pasarelas web, y aprovechan el uso de dispositivos móviles BYOD. La falsa sensación de urgencia que se le infunde al usuario para que abra su computadora y ejecute el archivo elude la capa inicial de seguridad, que es la desconfianza del usuario y, por lo tanto, la capa de protección del punto final. Según la telemetría de Trend Research, la actividad inicial de la campaña sugiere un enfoque regional en Brasil, ya que 457 de los 477 casos que detectamos hasta el momento provienen de Brasil. Los datos de telemetría de Trend Research también muestran que SORVEPOTEL ha afectado principalmente a las organizaciones gubernamentales y de servicios públicos, pero también ha perjudicado a organizaciones de los sectores de manufactura, tecnología, educación y construcción. Vector de infección inicial La infección comienza cuando un usuario recibe un mensaje de phishing a través de WhatsApp de un contacto comprometido, normalmente una cuenta perteneciente a un amigo o compañero de trabajo, lo que hace que el mensaje parezca legítimo. El mensaje tiene un archivo adjunto de archivo IP a Z, con el nombre"RES-20250930_112057.zip”, o"ORCAMENTO_114418.zip,"o algo similar disfrazado de documento inofensivo, como un recibo, un presupuesto o un archivo relacionado con una aplicación de salud. Aprovechando la confianza en las conversaciones de WhatsApp, el mensaje, que está en portugués, anima al usuario a"baixa o zip no PC e abre"(descargar el ZIP en la PC y abrirlo). Además, la evidencia muestra que el correo electrónico es otro posible vector de infección inicial para esta campaña. Se han observado varios correos electrónicos de phishing que distribuyen archivos adjuntos ZIP con nombres como"COMPROVANTE_20251001_094031.zip," "ComprovanteSantander-75319981.682657420.zip,"y"NEW-20251001_133944-PED_1273E322.zip."Estos correos electrónicos se envían desde direcciones que parecen legítimas, a menudo utilizando asuntos como"Documento de Rafael B," "Zip,"o"Extrato"para atraer a los destinatarios a abrir el archivo adjunto malicioso. Ejecución de un archivo LNK malicioso Tras extraer el archivo ZIP, la víctima descubre un acceso directo de Windows (.LNK). Al ejecutar este archivo LNK, el acceso directo inicia de forma encubierta un script de línea de comandos o PowerShell que descarga el malware principal desde dominios controlados por el atacante. Al hacerse pasar por un acceso directo inofensivo, el archivo LNK puede eludir la detección básica de los antivirus. Se observa una actividad similar en varios dominios relacionados, como sorvetenopoate[.]com , sorvetenoopote[.] com, etenopote[ .]com, expahnsiveuser[.]com , sorv[.]etenopote[.]com y sorvetenopotel[.]com , todos los cuales funcionan como puntos finales de API para la entrega de la carga útil maliciosa. El comando descifrado recupera un script malicioso de una URL específica y lo ejecuta en memoria mediante la función Invoke-Expression (IEX). Se ejecuta en modo oculto (-w hidden ) para evitar que el usuario lo note y aprovecha la función de comando codificado ( -enc ) para una mayor ofuscación de la carga útil. Descarga y persistencia de scripts por lotes El archivo descargado por el script suele ser un archivo por lotes ( .BAT ), diseñado para establecer persistencia en el sistema infectado. Esto se logra copiándose a sí mismo en la carpeta de Inicio de Windows, lo que garantiza que el malware se ejecute automáticamente cada vez que se inicia el equipo. El script por lotes utiliza varios bucles for para ensamblar y ejecutar un comando de PowerShell. Este comando se ejecuta en una ventana oculta ( -windowstyle hidden ), con sus parámetros codificados en Base64 ( -enc ) para mayor ofuscación. Una vez decodificado, el comando de PowerShell genera una URL que apunta al servidor de comando y control (C&C). Mediante Net.WebClient , el script descarga contenido de esta dirección, que luego se ejecuta inmediatamente en memoria a través de Invoke-Expression . El malware mantiene comunicación con varios servidores C&C, lo que le permite recibir instrucciones adicionales o recuperar componentes maliciosos adicionales si es necesario. Secuestro de sesión web de WhatsApp y propagación automatizada. Un análisis de Trend Research reveló que una característica clave de este malware es su capacidad para detectar si WhatsApp Web está activo en el equipo infectado. Cuando se detecta, el malware aprovecha esta sesión para distribuir automáticamente el mismo archivo ZIP malicioso a todos los contactos y grupos asociados con la cuenta comprometida de la víctima, propagándose rápidamente. Esta propagación automatizada genera un gran volumen de mensajes no deseados y, con frecuencia, conlleva la suspensión o el bloqueo de cuentas debido a infracciones de las condiciones de servicio de WhatsApp. Análisis técnico de la carga útil Cargador de primera etapa El archivo por lotes obtiene un script de PowerShell que se ejecuta directamente en memoria, iniciando posteriormente la carga reflectiva de una DLL de .NET. El análisis muestra que se pueden obtener varios scripts de PowerShell desde diferentes URL, lo que indica que la carga útil puede variar según la fuente. Sin embargo, si el script se descarga desde la misma URL, siempre carga el mismo binario. Cargador de segunda etapa El binario que se carga de forma reflectiva es una DLL de .NET, diseñada para conectarse a dos URL distintas y obtener cargas útiles separadas. Antes de ejecutar sus funciones principales, implementa medidas anti-análisis mediante la búsqueda de nombres de procesos específicos comúnmente asociados con herramientas de depuración o ingeniería inversa. Si se detecta alguno de los siguientes procesos, la DLL se cerrará para evitar el análisis. apimonitor eructar violinista ghidra ida inmunidad ollydebug viento Wireshark depuración x64 Tras superar estas comprobaciones, utiliza el cliente web .NET para acceder a las siguientes URL para la entrega de la carga útil: https[://]zapgrande[.]com/api/v1/19230d53a96d4facbead047f645e02b8 : Entrega el Maverick.Stage2 que es un TrojanSpy. https[://]zapgrande[.]com/api/v1/252d6ed3bb6d49228181a1 : Proporciona una DLL de descarga asociada con el secuestro de WhatsApp Web. Se transmite un encabezado personalizado durante la conexión a la URL https[://]zapgrande[.]com/api/v1/{Hashed GUID-based Endpoint Identifier} , que incluye un X-Timestamp que contiene la marca de tiempo de ejecución y un X-Request-Hash que consiste en un valor codificado en Base64. El encabezado X-Request-Hash contiene un valor HMACSHA256 codificado en Base64, derivado de la cadena con formato {Hashed GUID-based Endpoint Identifier}|{Timestamp}|MaverickBot . Esta cadena se cifra utilizando"MaverickZapBot2025SecretKey12345"como clave secreta, y el hash resultante se codifica en Base64 para crear el valor del encabezado. Una vez establecida la conexión adecuada (con el encabezado personalizado correcto), las URL devolverán un código shell cifrado, que la DLL de .NET descifra y posteriormente inyecta en instancias separadas de procesos powershell_ise.exe suspendidos que crea, utilizando las API que se enumeran a continuación. Cargador de tercera etapa El código malicioso inyectado en powershell_ise.exe es responsable de descifrar la carga útil de la siguiente etapa y cargarla a través del alojamiento CLR, como lo demuestran las API observadas durante el tiempo de ejecución y enumeradas a continuación. Primera carga útil Maverick.StageTwo Una de las cargas útiles recuperadas es un ejecutable .NET, al que se hace referencia como Maverick.StageTwo , tal como indican las cadenas encontradas dentro del binario. El malware estableció persistencia creando un archivo BAT ofuscado, si no existía previamente, y lo almacenó en el directorio Startup% de %User con el nombre de archivo HealthApp-{6 Random Characters from Generated GUID}.bat . Este es el mismo archivo por lotes descargado del archivo LNK. El malware identifica si la ventana activa pertenece a un proceso de navegador (Chrome, Firefox, Edge, Brave o Internet Explorer) y luego extrae la URL actual de la ventana activa. Incluye una comprobación específica predefinida para"navegador exclusivo bradesco"(navegador exclusivo de Bradesco) y devuelve"banco.bradesco"si se detecta, lo que indica que este malware se dirige específicamente a clientes bancarios brasileños. El troyano monitoriza continuamente la URL activa del navegador del usuario y ejecuta código malicioso de forma condicional cuando se visitan sitios web específicos. La función se ejecuta en un bucle infinito: primero, descifra una cadena base64 predefinida para obtener una lista de dominios objetivo y, a continuación, comprueba cada 3 segundos si la URL actual del navegador coincide con alguno de estos dominios. La investigación de Trend muestra que esta campaña centró su objetivo en la región latinoamericana, y los atacantes realizaron intentos contra las siguientes instituciones financieras en Brasil: cuentas[.]binance[.]com banco[.]bradesco bancobmg[.]com[.]br bancobrasil[.]com[.]br bancobs2[.]com[.]br bancofibra[.]com[.]br bancopan[.]com[.]br bancotopazio[.]com[.]br banese[.]com[.]br banestes[.]b[.]br banestes[.]com[.]br banrisul[.]com[.]br bb[.]com[.]br binance[.]com bitcointrade[.]com[.]br blockchain[.]com bradesco[.]com[.]br brbbanknet[.]brb[.]com[.]br btgmais[.]com caixa[.]gov[.]br cidadetran[.]bradesco citidirect[.]com contaonline[.]viacredi[.]coop[.]br credisan[.]com[.]br credisisbank[.]com[.]br ecode[.]daycoval[.]com[.]br electro empresas[.]original[.]com[.]br foxbit[.]com[.]br gerente[.]caixa[.]gov[.]br ib[.]banpara[.]b[.]br ib[.]brde[.]com[.]br ibpf[.]sicredi[.]com[.]br ibpj[.]original[.]com[.]br ibpj[.]sicredi[.]com[.]br banca por internet[.]banpara[.]b[.]br banca por internet[.]confesol[.]com[.]br itau[.]com[.]br loginx[.]caixa[.]gov[.]br mercadobitcoin[.]com[.]br mercamercadopago[.]com[.]br mercantildobrasil[.]com[.]br mi[.]original[.]com[.]br ne12[.]bradesconetempresa[.]b[.]br nel[.]bnb[.]gov[.]br pf[.]santandernet[.]com[.]br pj[.]santandernetibe[.]com[.]br rendimento[.]com[.]br safra[.]com[.]br safraempresas[.]com[.]br sicoob[.]com[.]br sicredi[.]com[.]br sofisa[.]com[.]br sofisadireto[.]com[.]br piedra[.]com[.]br tribanco[.]com[.]br unicred[.]com[.]br uniprime[.]com[.]br uniprimebr[.]com[.]br www[.]banestes[.]com[.]br www[.]itau[.]com[.]br www[.]rendimento[.]com[.]br www2s[.]bancoamazonia[.]com[.]br wwws[.]uniprimedobrasil[.]com[.]br zeitbank[.]com[.]br El malware también monitorea la actividad del usuario para identificar visitas a sitios web específicos de bancos brasileños. Mediante la coincidencia de dominios y el análisis de contenido HTML, detecta cuándo los usuarios acceden a las páginas de inicio de sesión de instituciones bancarias como Banco do Brasil, Caixa, Itaú y Bradesco. Si el sitio web actual coincide con dominios bancarios brasileños específicos, descifra una gran matriz de bytes codificada, carga dinámicamente los bytes descifrados como un ensamblado .NET en la memoria mediante Assembly.Load() , localiza el punto de entrada del ensamblado y crea un delegado para invocarlo. Maverick.Agente La carga útil subsiguiente es un ejecutable .NET conocido como Maverick.Agent , que presenta capacidades de robo de información y credenciales, como lo demuestran las clases públicas contenidas dentro del binario .NET. El malware determina inicialmente si se está ejecutando en un sistema en Brasil mediante una validación de geolocalización. Una vez más, observamos más mecanismos anti-análisis que eluden el acceso/ejecución externa fuera de Brasil y soluciones de sandbox automatizadas sin capacidad de personalización. En esta etapa, utiliza cuatro criterios: zona horaria, configuración regional, región y formato de fecha utilizado en Brasil. La ejecución se confirma si se cumplen al menos dos de estos criterios. El sistema está en la zona horaria de Brasil.
Entre UTC-5 y UTC-2 La configuración regional del sistema contiene alguna de las siguientes cadenas:"pt-br"
"pt_br""portugués""Brasil" La región del sistema está configurada en una de las siguientes opciones: Nombre de región ISO de dos letras =""
Nombre de región ISO de tres letras ="BRA" Nombre de la región = "brasil" o "brasil" La hora del sistema está configurada en formato brasileño: "dd/mm/aaaa (Estándar brasileño)
"dd/mm/aa" (Año corto brasileño) "dd/mm" (Mínimo brasileño) A continuación, establece un canal de comunicación C&C habilitando la detección de DPI para garantizar un escalado de pantalla adecuado y posteriormente instancia un WatsonClient que se conecta al servidor malicioso " adoblesecuryt[.]com " a través del puerto 443 (HTTPS). comandos de puerta trasera Este malware extrae diversos detalles del sistema y los transmite a su servidor de comando y control (C&C). Específicamente, recopila: Nombre del equipo Nombre y versión del sistema operativo Dirección MAC Arquitectura del sistema operativo Versión de malware Número de monitores conectados Una vez que el malware se establece en el sistema comprometido, puede recibir y ejecutar una amplia gama de instrucciones enviadas por su servidor C&C, tales como las siguientes: Tácticas avanzadas de phishing mediante superposición de ventanas Centrándose en los comandos GenerateNewWindowLocked y GenerateWindowRequest , este malware muestra un salto significativo en sofisticación en comparación con las técnicas tradicionales de robo de información. El comando GenerateNewWindowLocked ejecuta una técnica de bloqueo de pantalla mediante la generación de ventanas de pantalla completa en la parte superior con los siguientes atributos: Bloquea la entrada del usuario (InputBlocker.StartBlocking()) , restringiendo las interacciones con el teclado y el ratón. Muestra notificaciones falsas de actualización del sistema o pantallas de diagnóstico de seguridad. Crea superposiciones a pantalla completa que permanecen visibles al mantenerse siempre en primer plano, ocultándose de la barra de tareas, impidiendo el redimensionamiento y cubriendo todo el monitor. El comando GenerateWindowRequest representa una evolución avanzada que va más allá de los mecanismos básicos de bloqueo de pantalla, implementando interfaces de phishing interactivas diseñadas para capturar credenciales bancarias confidenciales. La figura 24 ilustra cómo funciona un troyano bancario. El malware puede crear ventanas superpuestas que aparecen sobre sitios web bancarios legítimos para robar credenciales de usuario y tokens de autenticación. Muestra formularios falsos para introducir contraseñas, firmas electrónicas o códigos QR, ajusta dinámicamente el tamaño y la posición de la ventana superpuesta para que coincida con la página bancaria subyacente y crea "agujeros" transparentes en la ventana superpuesta para que parezca perfectamente integrada con el sitio web real mientras captura información confidencial del usuario. Las ventanas superpuestas están diseñadas para imitar interfaces bancarias legítimas, como lo demuestran las clases HomeInfo. Además, se identificaron archivos PNG codificados en Base64 correspondientes a instituciones financieras reales, los cuales se utilizan para construir estas ventanas superpuestas. La investigación de tendencias reveló que el malware intentó atacar a instituciones como Banco do Brasil, Bradesco, Binance, Caixa Econômica Federal (CEF), Itaú Unibanco, Mercado Pago, Banco do Nordeste, Santander y Sicredi. Cabe destacar que las plataformas de intercambio de criptomonedas están incluidas entre las instituciones a las que se dirige esta estrategia. El malware también puede manipular ventanas y detecta específicamente aplicaciones Java con el nombre de clase " SunAwtFrame " (que utiliza Sicoobnet ) y sobrescribe deliberadamente el título real de su ventana con la cadena codificada " Sicoobnet Empresarial ", que es una aplicación bancaria brasileña; esto sugiere un intento de suplantar la identidad de la aplicación bancaria legítima. Segunda carga útil La segunda carga útil es un ejecutable .NET utilizado para secuestrar WhatsApp. Tras cargarse mediante CLR Hosting, crea un hilo que comprueba la configuración regional del sistema (en-US y pt-BR), la región (EE. UU. y Brasil) y el formato de fecha (M/D/AAAA y DD/MM). Si todas las comprobaciones son correctas, procede a descargar el componente de WhatsApp y lo carga mediante Assembly.Load . El malware incluye un componente diseñado específicamente para atacar cuentas de WhatsApp. Este binario busca datos del navegador relacionados con WhatsApp y finaliza su ejecución si no los encuentra, garantizando así que solo funcione en sistemas con una sesión de WhatsApp activa e iniciada. Para automatizar las interacciones del navegador y conectarse a WhatsApp Web, el malware instala Selenium y un Chromedriver compatible en la carpeta %userprofile%\local\temp . Selenium inicia y controla el navegador a través de Chromedriver, mientras que un pequeño archivo JavaScript, wppconnect.js, llama a las funciones internas de WhatsApp Web para enviar mensajes y contenido multimedia (incluidos archivos ZIP). Mediante esta conexión automatizada, el malware puede enviar mensajes y archivos ZIP a través de WhatsApp, lo que permite tanto la propagación automatizada como ataques de ingeniería social. Durante el análisis, los investigadores identificaron el mensaje exacto enviado por el malware a través de WhatsApp. Se confirmó que este mensaje coincidía con capturas de pantalla de mensajes maliciosos de WhatsApp que circulaban en línea, lo que valida la conexión entre las infecciones observadas y la actividad real de ingeniería social. Comportamiento y evasión posteriores a la infección Tras la infección inicial, este malware sigue funcionando principalmente como una amenaza que se autopropaga, y la evidencia actual sugiere que su objetivo principal es la distribución generalizada en lugar de causar una vulneración más profunda del sistema. Hasta la fecha, los casos reportados no muestran indicios significativos de filtración de datos ni cifrado de archivos. Cabe destacar, sin embargo, que campañas brasileñas que utilizan técnicas similares, como accesos directos LNK y scripts de PowerShell, han tenido como objetivo datos financieros. Para evadir la detección y mantener su persistencia, el malware emplea varias estrategias: utiliza dominios ofuscados y con errores tipográficos, como "sorvetenopotel", que se asemeja mucho a la inofensiva frase brasileña "sorvete no pote" (helado en vaso). Esta táctica ayuda a que la infraestructura maliciosa se mimetice con el tráfico legítimo y evite un escrutinio inmediato. Trend Research también observó posibles vínculos con infraestructura adicional, incluidos dominios como cliente[.]rte[.]com[.]br , que se utilizaron para la distribución de malware en los días previos a la actividad de la campaña a mayor escala. Estos hallazgos ponen de manifiesto los continuos esfuerzos de los atacantes por actualizar y diversificar sus métodos de distribución para lograr el máximo alcance y sigilo. Conclusión La campaña Water Saci demuestra cómo los ciberdelincuentes utilizan cada vez más plataformas de comunicación populares como WhatsApp para propagar malware de forma rápida y a gran escala con una mínima interacción del usuario. Al combinar tácticas de phishing convincentes y probadas, la explotación automatizada de sesiones y técnicas de evasión, es probable que Water Saci se propague rápidamente. La vigilancia, la concienciación de los usuarios y los controles de seguridad eficaces son esenciales para mitigar esta y otras amenazas similares. Trend Micro sigue monitorizando de cerca esta campaña y recomienda mantener las defensas actualizadas, además de estar al tanto de las nuevas técnicas de ataque dirigidas a las plataformas de mensajería. Recomendaciones de defensa Para minimizar los riesgos asociados con la campaña Water Saci, Trend recomienda varias medidas prácticas de defensa inicial: Desactiva las descargas automáticas en WhatsApp. Desactiva las descargas automáticas de archivos multimedia y documentos en la configuración de WhatsApp para reducir la exposición accidental a archivos maliciosos. Controla las transferencias de archivos en aplicaciones personales. Utiliza políticas de seguridad de endpoints o firewall para bloquear o restringir las transferencias de archivos a través de aplicaciones personales como WhatsApp, Telegram o WeTransfer en dispositivos gestionados por la empresa. Si tu organización admite el uso de dispositivos personales en el trabajo (BYOD), implementa listas blancas estrictas de aplicaciones o la contenerización para proteger entornos sensibles. Mejorar la concienciación de los usuarios. La victimología de la campaña Water Saci sugiere que los atacantes se dirigen a las empresas. Se recomienda a las organizaciones que impartan formación periódica en seguridad para ayudar a los empleados a reconocer los peligros de descargar archivos a través de plataformas de mensajería. Aconseje a los usuarios que eviten hacer clic en archivos adjuntos inesperados o enlaces sospechosos, incluso si provienen de contactos conocidos, y promueva el uso de canales seguros y aprobados para la transferencia de documentos empresariales. La implementación de estas recomendaciones ayudará a las organizaciones y a los particulares a defenderse mejor contra las amenazas de malware que se transmiten a través de aplicaciones de mensajería. Seguridad proactiva con Trend Vision One™ Trend Vision One ™ es la única plataforma de ciberseguridad empresarial con IA que centraliza la gestión de la exposición al riesgo cibernético, las operaciones de seguridad y una sólida protección multicapa. Este enfoque integral ayuda a las empresas a predecir y prevenir amenazas, acelerando la implementación de medidas de seguridad proactivas en todo su entorno digital. Elimine los puntos ciegos de seguridad, concéntrese en lo más importante y convierta la seguridad en un socio estratégico para la innovación, especialmente ante nuevas amenazas de malware como la que se analiza en este blog. Inteligencia de amenazas Trend Vision One™ Para anticiparse a las amenazas en constante evolución, los clientes de Trend pueden acceder a Trend Vision One™ Threat Insights . Estos análisis proporcionan la información más reciente de Trend™ Research sobre amenazas emergentes y actores maliciosos. Aplicación de análisis de tendencias Los clientes de Trend Vision One con la función Threat Insights habilitada tienen acceso a más consultas de búsqueda. Actores de la amenaza: Water Saci Amenazas emergentes: WhatsApp bajo ataque: Un malware autopropagante ataca a usuarios brasileños. Informes de inteligencia de Trend Vision One (Análisis del IOC) Ver: WhatsApp bajo asedio: malware autopropagante ataca a usuarios brasileños Consultas de caza Aplicación de búsqueda Trend Vision One Los clientes de Trend Vision One pueden usar la aplicación de búsqueda para comparar o detectar los indicadores maliciosos mencionados en esta publicación del blog con los datos de su entorno. Búsqueda de conexiones salientes a direcciones IP maliciosas conocidas asociadas con Comprovante WhatsApp Indicadores de Compromiso (IoC) Aquí puede encontrar indicadores de compromiso.
This blog was updated on October 4, 2025, 2:00 PM EST with information about the payload.
Trend™ Research is currently investigating an aggressive malware campaign that leverages online instant messaging platform WhatsApp as its primary infection vector. Unlike traditional attacks focused on theft or ransomware, this campaign is engineered for speed and propagation, abusing social trust and automation to spread among Windows users. Trend Research analysis identifies the campaign as Water Saci, with the WhatsApp malware identified as SORVEPOTEL. Currently, it is most active in Brazil.
SORVEPOTEL has been observed to spread across Windows systems through convincing phishing messages with malicious ZIP file attachments. Interestingly, the phishing message that contains the malicious file attachment requires users to open it on a desktop, suggesting that threat actors might be more interested in targeting enterprises rather than consumers. Once opened, the malware automatically propagates via WhatsApp Web, causing infected accounts to be banned due to excessive spam activity.
Once decoded, the PowerShell command generates a URL that points to the command-and-control (C&C) server. Using Net.WebClient, the script downloads content from this address, which is then immediately executed in memory via Invoke-Expression. The downloaded payload is a PowerShell script that reflectively loads a .NET DLL that pulls shellcode from the C&C server, injects it into powershell_ise.exe to monitor banking-related activity, and supports propagation (including via WhatsApp) while maintaining contact with multiple C&C servers. More details on the payload’s behavior and techniques areprovided in the following sections.
Trend's continued monitoring reveals a campaign that not only destabilizes individual users and companies but also offers a blueprint for similar attacks globally. This blog serves as an urgent call to elevate awareness, deploy modern defensive tactics, and proactively monitor heavily used communications channels. This includes evaluating if your users really need to use WhatsApp, and have clear BYOD policies in place if this is the case. Attackers know the big investment of companies in common attack vectors such as e-mail and web gateways and so get a ride via BYOD of mobiles. The false sense of urgency impressed upon the user to open their computer and execute the file bypasses the initial layer of security which is the user’s distrust and therefore the endpoint layer.
According to Trend Research telemetry, early campaign activity suggests a regional focus on Brazil, with 457 of the 477 cases we detected as of writing are from Brazil.
Trend Research telemetry also shows that SORVEPOTEL has impacted government and public service organizations the most, but has also victimized organizations in manufacturing, technology, education, and construction.
Initial infection vector
The infection begins when a user receives a phishing message via WhatsApp from a compromised contact, typically an account belonging to a friend or colleague making the message appear legitimate.

The message has a ZIP archive attachment, bearing the name "RES-20250930_112057.zip,” or "ORCAMENTO_114418.zip," or something similarly disguised as a benign document, such as a receipt, budget, or health app-related file. Exploiting trust in WhatsApp conversations, the message, which is in Portuguese, encourages the user to "baixa o zip no PC e abre" (download the ZIP on PC and open it).
Additionally, evidence shows that email is another possible initial infection vector for this campaign. Several phishing emails have been observed distributing ZIP attachments with names like "COMPROVANTE_20251001_094031.zip," "ComprovanteSantander-75319981.682657420.zip," and "NEW-20251001_133944-PED_1273E322.zip." These emails are sent from addresses that appear legitimate, often using subjects such as "Documento de Rafael B," "Zip," or "Extrato" to entice recipients into opening the malicious attachment.
Execution of malicious LNK file
Upon extracting the ZIP file, the victim discovers a Windows shortcut (.LNK) file. When the LNK file is executed, this shortcut covertly launches a command-line or PowerShell script that downloads the primary malware payload from attacker-controlled domains.
By posing as a benign shortcut, the LNK file can evade basic antivirus detection. Similar activity is observed across various related domains, such as sorvetenopoate[.]com, sorvetenoopote[.]com, etenopote[.]com, expahnsiveuser[.]com, sorv[.]etenopote[.]com, and sorvetenopotel[.]com, all of which serve as API endpoints for the malicious payload delivery.

The decrypted command retrieves a malicious script from a specified URL and executes it in memory using the Invoke-Expression (IEX) function. It runs in hidden mode (-w hidden) to evade user notice and leverages the encoded command (-enc) feature for additional payload obfuscation.

Batch script download and persistence
The payload downloaded by the script is usually a batch file (.BAT), designed to establish persistence on the infected system. This is achieved by copying itself into the Windows Startup folder, ensuring that the malware runs automatically every time the computer boots.
The batch script utilizes several for loops to assemble and run a PowerShell command. This command is executed in a concealed window (-windowstyle hidden), with its parameters provided in Base64 encoded form (-enc) for added obfuscation.

Once decoded, the PowerShell command generates a URL that points to the command-and-control (C&C) server. Using Net.WebClient, the script downloads content from this address, which is then immediately executed in memory via Invoke-Expression. The malware maintains communication with multiple C&C servers, enabling it to receive further instructions or retrieve additional malicious components if required.

WhatsApp web session hijack and automated propagation
Trend Research analysis found that a key feature of this malware is its ability to detect whether WhatsApp Web is active on the infected machine.
When detected, the malware leverages this session to automatically distribute the same malicious ZIP file to all contacts and groups associated with the victim’s compromised account, rapidly propagating itself.
This automated spreading results in a high volume of spam messages and frequently leads to account suspensions or bans due to violations of WhatsApp’s terms of service.
Payload technical analysis

First stage loader
The batch file obtains a PowerShell script that is executed directly in memory, subsequently initiating the reflective loading of a .NET DLL. Analysis shows that multiple PowerShell scripts can be retrieved from various URLs, indicating that the payload may differ depending on the source. However, if the script is downloaded from the same URL, it consistently loads the same binary.


Second stage loader
The binary that is loaded reflectively is a .NET DLL, designed to connect to two distinct URLs to obtain separate payloads. Before executing its main functions, it implements anti-analysis measures by scanning for specific process names commonly associated with debugging or reverse engineering tools. If any of the following processes are detected, the DLL will terminate itself to evade analysis.
- apimonitor
- burp
- fiddler
- ghidra
- ida
- immunity
- ollydebug
- windbg
- wireshark
- x64debug
After passing these checks, it uses the .NET Web Client to access the following URLs for further payload delivery:
- https[://]zapgrande[.]com/api/v1/19230d53a96d4facbead047f645e02b8: Delivers the Maverick.Stage2 which is a TrojanSpy.
- https[://]zapgrande[.]com/api/v1/252d6ed3bb6d49228181a1: Provides a downloader DLL associated with hijacking WhatsApp Web.

A custom header is transmitted during the connection to the URL https[://]zapgrande[.]com/api/v1/{Hashed GUID-based Endpoint Identifier}, which includes an X-Timestamp containing the execution timestamp, and an X-Request-Hash consisting of a Base64-encoded value.
The X-Request-Hash header contains a Base64-encoded HMACSHA256 value, derived from the string formatted as {Hashed GUID-based Endpoint Identifier}|{Timestamp}|MaverickBot. This string is hashed using "MaverickZapBot2025SecretKey12345" as the secret key, and the resulting hash is then encoded in Base64 to create the header value.


Once proper connection (with the proper custom header) is established, the URLs will return an encrypted shellcode, which the .NET DLL decrypts and subsequently injects into separate instances of suspended powershell_ise.exe processes it creates, utilizing the APIs listed below.

Third stage loader
The shellcode injected into powershell_ise.exe is responsible for decrypting the next-stage payload and loading it via CLR hosting, as demonstrated by the APIs observed during runtime and enumerated below.

First payload
Maverick.StageTwo
One of the retrieved payloads is a .NET executable, which is referred to as Maverick.StageTwo, as indicated by the strings found within the binary.

The malware established persistence by creating an obfuscated BAT file, if one is not already present, and stores it in the %User Startup% with the file name HealthApp-{6 Random Characters from Generated GUID}.bat. This is the same batch file downloaded from the LNK file.

The malware then identifies if the active window belongs to a browser process (Chrome, Firefox, Edge, Brave, or Internet Explorer) and then extracts the current URL from the active browser window. It includes a specific hardcoded check for "navegador exclusivo bradesco" (Bradesco's exclusive browser) and returns "banco.bradesco" if detected, indicating this malware specifically targets Brazilian banking customers.

The trojan continuously monitors the user's active browser URL and conditionally executes malicious payloads when specific target websites are visited. The function runs in an infinite loop, first decrypting a hardcoded base64 string to obtain a list of target domains, then checking every 3 seconds if the current browser URL matches any of these domains.
Trend’s investigation shows that this campaign focused its target on the Latin American region, with the attackers making attempts on the following financial institutions in Brazil:
- accounts[.]binance[.]com
- banco[.]bradesco
- bancobmg[.]com[.]br
- bancobrasil[.]com[.]br
- bancobs2[.]com[.]br
- bancofibra[.]com[.]br
- bancopan[.]com[.]br
- bancotopazio[.]com[.]br
- banese[.]com[.]br
- banestes[.]b[.]br
- banestes[.]com[.]br
- banrisul[.]com[.]br
- bb[.]com[.]br
- binance[.]com
- bitcointrade[.]com[.]br
- blockchain[.]com
- bradesco[.]com[.]br
- brbbanknet[.]brb[.]com[.]br
- btgmais[.]com
- caixa[.]gov[.]br
- cidadetran[.]bradesco
- citidirect[.]com
- contaonline[.]viacredi[.]coop[.]br
- credisan[.]com[.]br
- credisisbank[.]com[.]br
- ecode[.]daycoval[.]com[.]br
- electrum
- empresas[.]original[.]com[.]br
- foxbit[.]com[.]br
- gerenciador[.]caixa[.]gov[.]br
- ib[.]banpara[.]b[.]br
- ib[.]brde[.]com[.]br
- ibpf[.]sicredi[.]com[.]br
- ibpj[.]original[.]com[.]br
- ibpj[.]sicredi[.]com[.]br
- internetbanking[.]banpara[.]b[.]br
- internetbanking[.]confesol[.]com[.]br
- itau[.]com[.]br
- loginx[.]caixa[.]gov[.]br
- mercadobitcoin[.]com[.]br
- mercamercadopago[.]com[.]br
- mercantildobrasil[.]com[.]br
- meu[.]original[.]com[.]br
- ne12[.]bradesconetempresa[.]b[.]br
- nel[.]bnb[.]gov[.]br
- pf[.]santandernet[.]com[.]br
- pj[.]santandernetibe[.]com[.]br
- rendimento[.]com[.]br
- safra[.]com[.]br
- safraempresas[.]com[.]br
- sicoob[.]com[.]br
- sicredi[.]com[.]br
- sofisa[.]com[.]br
- sofisadireto[.]com[.]br
- stone[.]com[.]br
- tribanco[.]com[.]br
- unicred[.]com[.]br
- uniprime[.]com[.]br
- uniprimebr[.]com[.]br
- www[.]banestes[.]com[.]br
- www[.]itau[.]com[.]br
- www[.]rendimento[.]com[.]br
- www2s[.]bancoamazonia[.]com[.]br
- wwws[.]uniprimedobrasil[.]com[.]br
- zeitbank[.]com[.]br
The malware also monitors user activity to identify visits to specific Brazilian banking websites. By utilizing domain matching and HTML content analysis, it detects when users access banking login pages from institutions such as Banco do Brasil, Caixa, Itaú, and Bradesco.

If the current website matches specific Brazilian banking domains, it decrypts a large, hardcoded byte array, dynamically loads the decrypted bytes as a .NET assembly in memory using Assembly.Load(), locates the assembly's entry point and creates a delegate to invoke it.

Maverick.Agent
The subsequent payload is a .NET executable known as Maverick.Agent, which exhibits information and credential stealing capabilities, as evidenced by the public classes contained within the .NET binary.

The malware initially determines if it is operating on a system in Brazil by conducting geolocation validation. Once again, we see more anti-analysis that bypass external access/execution outside Brazil and automated sandboxing solutions with no customization capabilities. At this step it uses four criteria: timezone, locale, region, and the date format used in Brazil. Execution is confirmed if at least two of these criteria are met:
- System is in Brazilian Timezone
- Between UTC-5 to UTC-2
- System Locale contains either of the following strings:
- "pt-br"
- "pt_br"
- "portuguese"
- "brazil"
- "pt-br"
- System Region is set to either of the following;
- Two Letter ISO RegionName = "BR"
- Three Letter ISO RegionName = "BRA"
- Region name = "brazil" or "brasil"
- Two Letter ISO RegionName = "BR"
- System Time is set to Brazilian Format:
- "dd/mm/yyyy (Standard Brazilian)
- "dd/mm/yy" (Short year Brazilian)
- "dd/mm" (Minimal Brazilian)
- "dd/mm/yyyy (Standard Brazilian)

Next, it establishes a C&C communication channel by enabling DPI awareness to ensure appropriate display scaling and subsequently instantiates a WatsonClient that connects to the malicious server "adoblesecuryt[.]com" over port 443 (HTTPS).

Backdoor commands
This malware exfiltrates a variety of system details and transmits them to its command-and-control (C&C) server. Specifically, it harvests:
- Computer Name
- Operating System Name and Version
- MAC Address
- OS Architecture
- Malware Version
- Number of Monitors Attached
Once the malware establishes a foothold on the compromised system, it can receive and perform a wide range of instructions sent by its C&C server, such as the following:
| INFOCLIENT | Collects and sends system information back to the C&C server. |
| RECONNECT | Disconnects from the C&C server. |
| KILLAPPLICATION | Terminates the malware process. |
| SCREENSHOT | Captures a screenshot of the application window, compresses it using GZip, and sends it to the C&C server (no local copy saved). |
| KEYLOGGER | Records user keystrokes and mouse clicks. |
| MOUSECLICK | Enables mouse clicks to pass through an overlay window. |
| KEYBOARDONECHAR | Permits the C&C server to inject a single character into the system. |
| KEYBOARDMULTIPLESCHARS | Permits the C&C server to inject multiple characters into the system. |
| TOOGLEDESKTOP | Captures a screenshot of the entire desktop. |
| TOOGLEINTERN | Maximizes an application window and captures a screenshot, which is then sent to the C&C server. |
| GENERATEWINDOWLOCKED | Creates a full-screen overlay to block user interaction completely, displaying deceptive system messages. |
| FREECLIENT | Closes the fake system message overlay. |
| LISTALLHANDLESOPENEDS | Sends a list of all visible application windows. |
| KILLPROCESS | Terminates the specified application by its process handle. |
| CLOSEHANDLE | Closes an application window using its handle. |
| MINIMIZEHANDLE | Minimizes an application window. |
| MAXIMIZEHANDLE | Maximizes an application window. |
| RESTOREHANDLE | Restores an application window that has been minimized or maximized. |
| GENERATEWINDOWREQUEST | Displays a fake banking security dialog over the victim’s screen to steal sensitive data. |
| CANCELSCREENREQUEST | Closes the fake banking dialog and displays full-screen fake system messages. |
| CHANGESCALETO100 | Opens Windows display settings (on Windows 11) and navigates to change the display scale to 100%. This is accomplished by launching ms-settings:display, simulating required key presses, and finally terminating the settings application via taskkill /f /im SystemSettings.exe. |
| ADJUST_QUALITY | Alters the quality of captured screenshots. |
| ADJUST_SCALE | Modifies the scale of captured screenshots. |
Advanced window overlay phishing tactics
Focusing on the commands GenerateNewWindowLocked and GenerateWindowRequest, this malware exhibits a significant leap in sophistication compared to traditional infostealing techniques.
The GenerateNewWindowLocked command executes a screen-locking technique by generating full-screen, topmost windows with the following attributes:
- Blocks user input (InputBlocker.StartBlocking()), restricting keyboard and mouse interactions.

- Presents fake system update notifications or security diagnostic screens.

- Creates full-screen overlays that remain visible by staying topmost, hiding from the taskbar, blocking resizing, and covering the entire monitor.

The GenerateWindowRequest command represents an advanced evolution beyond basic screen-locking mechanisms, implementing interactive phishing interfaces engineered to capture sensitive banking credentials. Figure 24 illustrates what acts as a banking Trojan.

The malware can create overlay windows that appear on top of legitimate banking websites to steal user credentials and authentication tokens. It displays fake input forms for passwords, electronic signatures, or QR codes, dynamically adjusts the overlay size and position to match the underlying banking page, and creates transparent "holes" in the overlay to make it appear seamlessly integrated with the real website while capturing sensitive user input.

The overlay windows are designed to imitate legitimate banking interfaces, as evidenced by the HomeInfo classes. Additionally, Base64-encoded PNG files corresponding to real financial institutions were identified and are utilized in constructing these overlay windows. Trend investigation found that the malware tried to target institutions such as Banco do Brasil, Bradesco, Binance, Caixa Econômica Federal (CEF), Itaú Unibanco, Mercado Pago, Banco do Nordeste, Santander, and Sicredi.
It is noteworthy that crypto exchanges are included in the institutions targeted in this manner.

The malware can also manipulate windows and specifically detects Java applications with the class name "SunAwtFrame" (which Sicoobnet uses) and deliberately overwrites their actual window title with the hardcoded string "Sicoobnet Empresarial” which is a Brazilian banking application; this suggests an attempt at impersonating the legitimate banking application.

Second payload
The second payload is a .NET executable used to hijack WhatsApp. After being loaded via CLR Hosting, it creates a thread that checks the system’s locale (en-US and pt-BR), region (US and Brazil), and short date pattern (M/D/YYYY and DD/MM). If all checks pass, it proceeds to download the WhatsApp component and loads it using Assembly.Load. The malware includes a component specifically designed to target WhatsApp accounts. This binary checks for WhatsApp-related browser data and will terminate if such data is not found, ensuring that it only operates on systems with an active, logged-in WhatsApp session.


To automate browser interactions and connect to WhatsApp Web, the malware drops Selenium and a matching Chromedriver under %userprofile%\local\temp. Selenium starts and controls the browser via Chromedriver, while a small JavaScript bundle, wppconnect.js calls WhatsApp Web’s internal functions to send messages and media (including ZIPs).


Through this automated connection, the malware is capable of sending messages and ZIP files via WhatsApp, enabling both automated spreading and social engineering attacks. During analysis, researchers identified the actual message deployed by the malware through WhatsApp. This message was confirmed to match screenshots of malicious WhatsApp messages that have been circulating online, validating the connection between observed infections and real-world social engineering activity.


Post-infection behavior and evasion
After initial infection, this malware continues to operate primarily as a self-propagating threat, with current evidence suggesting that its main objective is widespread distribution rather than causing deeper system compromise.
As of writing, reported cases show no significant signs of data exfiltration or file encryption. It is worth noting, however, that Brazilian campaigns using similar techniques, such as LNK shortcuts and PowerShell scripts, have previously targeted financial data.
To evade detection and maintain persistence, the malware employs several strategies: it uses obfuscated and typo squatted domains, such as “sorvetenopotel” which closely resembles the innocuous Brazilian phrase “sorvete no pote” (ice cream in a cup). This tactic helps malicious infrastructure blend in with legitimate traffic and avoid immediate scrutiny.
Trend Research also observed potential links to additional infrastructure, including domains such as cliente[.]rte[.]com[.]br, which were used for malware distribution in the days leading up to larger campaign activity. These findings underscore the attackers’ continual efforts to update and diversify their delivery methods for maximum reach and stealth.
Conclusion
The Water Saci campaign demonstrates how threat actors are increasingly leveraging popular communication platforms like WhatsApp to achieve rapid, large-scale malware propagation with minimal user interaction. By combining convincing tried-and-tested phishing tactics, automated session exploitation, and evasion techniques, Water Saci is likely to spread fast.
Vigilance, user awareness, and effective security controls are essential to mitigating this and similar threats. Trend Micro continues to monitor this campaign closely and recommends maintaining up-to-date defenses while staying informed about emerging attack techniques targeting messaging platforms.
Defense recommendations
To minimize the risks associated with the Water Saci campaign, Trend recommends several practical initial defense items:
- Disable Auto-Downloads on WhatsApp. Turn off automatic downloads of media and documents in WhatsApp settings to reduce accidental exposure to malicious files.
- Control File Transfers on Personal Apps. Use endpoint security or firewall policies to block or restrict file transfers through personal applications like WhatsApp, Telegram, or WeTransfer on company-managed devices. If your organization supports BYOD, enforce strict app whitelisting or containerization to protect sensitive environments.
- Enhance User Awareness. The victimology of the Water Saci campaign suggests that attackers are targeting enterprises. Organizations are recommended to provide regular security training to help employees recognize the dangers of downloading files via messaging platforms. Advise users to avoid clicking on unexpected attachments or suspicious links, even when they come from known contacts, and promote the use of secure, approved channels for transferring business documents.
Implementing these recommendations will help organizations and individuals better defend against malware threats delivered through messaging applications.
Proactive security with Trend Vision One™
Trend Vision One️™ is the only AI-powered enterprise cybersecurity platform that centralizes cyber risk exposure management, security operations, and robust layered protection. This holistic approach helps enterprises predict and prevent threats, accelerating proactive security outcomes across their respective digital estate. Eliminate security blind spots, focus on what matters most, and elevate security into a strategic partner for innovation, especially in the cases of novel malware threats as in the one discussed in this blog.
Trend Vision One ™ Threat Intelligence
To stay ahead of evolving threats, Trend customers can access Trend Vision One™ Threat Insights. These provide the latest insights from Trend™ Research on emerging threats and threat actors.
Trend Insights App
More hunting queries are available for Trend Vision One customers with Threat Insights entitlement enabled.
- Threat Actors: Water Saci
- Emerging Threats: WhatsApp Under Siege: Self-Propagating Malware Targets Brazilian Users
Trend Vision One Intelligence Reports (IOC Sweeping)
Hunting Queries
Trend Vision One Search App
Trend Vision One customers can use the Search App to match or hunt the malicious indicators mentioned in this blog post with data in their environment.
Search for outbound connections to known malicious IP addresses associated with Comprovante WhatsApp
eventId:3 AND eventSubId:204 AND (dst:109.176.30.141 OR dst:165.154.254.44 OR dst:23.227.203.148 OR dst:77.111.101.169)
Indicators of Compromise (IoCs)
Indicators of Compromise can be found here.