{"id":1622,"date":"2026-07-17T18:21:16","date_gmt":"2026-07-17T18:21:16","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/17\/la-nueva-botnet-nadmesh-busca-servicios-de-inteligencia-artificial-expuestos-para-claves-de-nube-y-tokens-de-kubernetes-cyberdefensa-mx\/"},"modified":"2026-07-17T18:21:16","modified_gmt":"2026-07-17T18:21:16","slug":"la-nueva-botnet-nadmesh-busca-servicios-de-inteligencia-artificial-expuestos-para-claves-de-nube-y-tokens-de-kubernetes-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/17\/la-nueva-botnet-nadmesh-busca-servicios-de-inteligencia-artificial-expuestos-para-claves-de-nube-y-tokens-de-kubernetes-cyberdefensa-mx\/","title":{"rendered":"La nueva botnet NadMesh busca servicios de inteligencia artificial expuestos para claves de nube y tokens de Kubernetes \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Una botnet Go llamada <strong>NadMesh <\/strong>apareci\u00f3 a principios de julio buscando servicios de IA expuestos, y el propio panel del operador afirma tener 3.811 claves AWS \u00fanicas.<\/p>\n<p>Un recolector Shodan mantiene la cola de escaneo abastecida con ComfyUI, Ollama, n8n, Open WebUI, Langflow y Gradio: los generadores de im\u00e1genes, los ejecutores de modelos locales y los creadores de flujos de trabajo que los equipos resisten r\u00e1pidamente y cortan el firewall tarde.<\/p>\n<p>La informaci\u00f3n de inteligencia detr\u00e1s de ese mostrador muestra 47 lances de credenciales y 41 inventarios de modelos en sus \u00faltimos 100 registros. Esos inventarios llevan identificadores DeepSeek, GLM y Kimi etiquetados como: nube, lo que sugiere que lo que el cat\u00e1logo de bots llega m\u00e1s all\u00e1 de la caja misma.<\/p>\n<p>Laboratorio XL de QiAnXin <a href=\"https:\/\/blog.xlab.qianxin.com\/nadmesh-botnet-analysis-a-product-grade-threat-for-the-ai-service-era-en\/\" target=\"_blank\">publicado<\/a> un informe del viernes nombr\u00f3 al malware seg\u00fan la cadena \u00abcontrolador de malla n4d\u00bb en su fuente y tom\u00f3 una captura de pantalla del panel. Las cifras que contiene son del propio operador, capturadas el 10 de julio, y no concuerdan entre s\u00ed.<\/p>\n<p>Un contador que indica 17.700 despliegues en total se encuentra encima de un embudo que afirma 95.700 en las \u00faltimas 24 horas. Un mosaico dice 16 bots activos; el siguiente dice 12. El n\u00famero de credencial es al menos el que dice dos veces. Los propios sensores de XLab dan una medida externa, y tampoco es un recuento de bots: las distintas IP de origen que impulsaron NadMesh permanecieron cerca de cero hasta finales de junio, luego se volvieron verticales en la primera semana de julio a alrededor de 139 por d\u00eda.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-vuln-protection-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQl2axNwsfhbXOFynrg_uAZsvHi3OvNGSA8KJO-BKR8Xm3x7yjKV3EvfY4v5mwXx6LF0uWFb9h9d9iAV_Pi-YYhqimX9wx4OaLdDJEdR215Xrxq_PAtXkaLfQso4pTSjbj6fvh_ZTliLpzWZSZfcoZgyXtKwhN-SSDDlmbtUqGLshc0KqYQGWYHMN52Sl1\/s728-e100\/zz-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Lo que un bot env\u00eda a casa son claves de nube extra\u00eddas de variables de entorno, tokens de cuenta de servicio k8s y el contenido de ~\/.aws\/config, .env y ~\/.docker\/config.json.<\/p>\n<p>Los investigadores lo expresaron claramente: el operador busca \u00abno el host en s\u00ed, sino las credenciales de la nube, los privilegios del cl\u00faster de Kubernetes\u00bb. El acceso a modelos y las herramientas MCP invocables completan la lista.<\/p>\n<p><a href=\"https:\/\/thehackernews.com\/2025\/12\/threatsday-bulletin-whatsapp-hijacks.html\" target=\"_blank\">MCP encabeza el orden de prioridad de explotaci\u00f3n del controlador, por encima de Kubernetes, Docker API y Redis, y los registros vectoriales XLab al lado son una herramienta\/llamada JSON-RPC para ejecutar_comando. No se adjunta ning\u00fan CVE a esa l\u00ednea y el informe no lo reclama.<\/a><\/p>\n<p>MCP <a href=\"https:\/\/modelcontextprotocol.io\/specification\/2024-11-05\/basic\" target=\"_blank\">primera especificaci\u00f3n<\/a> poner la autenticaci\u00f3n fuera del protocolo central por completo, y el <a href=\"https:\/\/modelcontextprotocol.io\/specification\/2025-03-26\/basic\/authorization\" target=\"_blank\">flujo de autorizaci\u00f3n agregado en marzo de 2025<\/a> sigue siendo opcional en las propias palabras de la especificaci\u00f3n. Muchas implementaciones lo omiten. <a href=\"https:\/\/censys.com\/blog\/mcp-servers-on-the-internet\/\" target=\"_blank\">censys<\/a> cont\u00f3 12,520 servicios MCP accesibles en 8,758 direcciones IP al 28 de abril, m\u00e1s de 21,000 al 6 de mayo y aproximadamente 90 anunciaban una herramienta que ejecuta comandos.<\/p>\n<p>En 39 de ellos, la herramienta se llam\u00f3 ejecutar_command, la llamada exacta en la parte superior de la tabla de NadMesh. Los propios contadores de MCP de la botnet no se concilian: 12.100 servicios de MCP enumerados como explotables, 21 vulnerabilidades de MCP en general y ninguna entre los 100 registros de inteligencia en pantalla.<\/p>\n<p>Luego est\u00e1 lo que XLab realmente vio arrojar. La empresa registr\u00f3 el tr\u00e1fico de exploits que observ\u00f3 y docker_containers_api_rce se lleva el 30,31 % del mismo, y jenkins_scripttext_rce otro 22,28 %. Las contrase\u00f1as d\u00e9biles de Telnet se llevan el 10,36%, Redis el 8,29%.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzE6rH4pdCVUsca4Gi3PtJVnsnAB9mLh5W3hIVWZB6nFsH5H3BKKEowEZPaSyDzn3nbVG4hqur3NnzmoB515Q5ISMZJC-m0xQ1J2AAFDdshuqkbM3AlRW6D4d6dccXZ7iRjJJYszQoyClWmEXK4Wz96xTtES98OB6cJUqflP_ry_iyCoWxiYWLtdUbOwQ\/s1700-e365\/cve.png\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjzE6rH4pdCVUsca4Gi3PtJVnsnAB9mLh5W3hIVWZB6nFsH5H3BKKEowEZPaSyDzn3nbVG4hqur3NnzmoB515Q5ISMZJC-m0xQ1J2AAFDdshuqkbM3AlRW6D4d6dccXZ7iRjJJYszQoyClWmEXK4Wz96xTtES98OB6cJUqflP_ry_iyCoWxiYWLtdUbOwQ\/s1700-e365\/cve.png\" alt=\"\" border=\"0\" data-original-height=\"530\" data-original-width=\"1173\"\/><\/a><\/div>\n<p>mcp_cmd_execute est\u00e1 en el gr\u00e1fico, por lo que el vector est\u00e1 en el tr\u00e1fico observado de XLab, pero se encuentra en la cola sin etiquetar debajo de la porci\u00f3n m\u00e1s peque\u00f1a que alguien se molest\u00f3 en etiquetar, en 0,78%. Las etiquetas del gr\u00e1fico no coinciden con las cadenas de estado del propio controlador, por lo que es la vista de intentos del sensor de XLab, no el libro de \u00e9xito del operador.<\/p>\n<p>Por lo tanto, el objetivo de la IA es real en la entrada y en el bot\u00edn, y la mayor parte del tr\u00e1fico de exploits todav\u00eda se dirige a los sockets Docker y las consolas Jenkins.<\/p>\n<p>El escaneo se retroalimenta. Las subredes que producen visitas se vuelven a muestrear con mayor densidad cada cinco minutos; Las IP marcadas como peligrosas en las \u00faltimas 24 horas regresan cada cuarto de hora cuando \/32 vuelve a escanear con los puertos AI primero; Un barrido completo arrastra de nuevo a la cima todo lo que ha sido marcado como peligroso en los \u00faltimos siete d\u00edas.<\/p>\n<p>Cualquier objetivo que absorba diez intentos de despliegue sin arrojar ning\u00fan resultado se incluye autom\u00e1ticamente en la lista negra como sospechoso de trampa. XLab lo toma como una se\u00f1al de que el autor sabe que los investigadores est\u00e1n observando. Si la cola se agota, los bots generan un \/24 aleatorio y contin\u00faan.<\/p>\n<p>Cinco versiones de compilaci\u00f3n se ejecutan simult\u00e1neamente, once bots en 33.8-GO-TITAN y los rezagados en 30.0. Un punto final canario prepara nuevas compilaciones para una porci\u00f3n de la flota, 5448 respuestas atendidas y 84 024 nulas. Un embudo rastrea las tareas a trav\u00e9s de implementaciones en hosts activos.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjSMkgSZ1G5EgYs0eLg_KHlUu6CGA4BCiBZCoGKWo2N1wcXWhNPuJjgblgKKPFiSmo9xv4tXcLp5QCZyavVrlTlb-1o9Eqaf2Zof6EY1nwBxLt3L71cFQiD4NqvCr4PdVaPY_x7HwFsRbGW-Xi3kPoBv61kliJIzaf4-YWdJN08lKGkRdvNHJrtiovwOFU\/s1700-e365\/modals.png\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjSMkgSZ1G5EgYs0eLg_KHlUu6CGA4BCiBZCoGKWo2N1wcXWhNPuJjgblgKKPFiSmo9xv4tXcLp5QCZyavVrlTlb-1o9Eqaf2Zof6EY1nwBxLt3L71cFQiD4NqvCr4PdVaPY_x7HwFsRbGW-Xi3kPoBv61kliJIzaf4-YWdJN08lKGkRdvNHJrtiovwOFU\/s1700-e365\/modals.png\" alt=\"\" border=\"0\" data-original-height=\"1315\" data-original-width=\"1718\"\/><\/a><\/div>\n<p>La propia nota a pie de p\u00e1gina del panel es reveladora: el \u00e9xito se califica en una lista de resultados permitidos que excluye expl\u00edcitamente la cosecha de Ollama y AWS. El marcador del operador no cuenta lo que el operador est\u00e1 tomando.<\/p>\n<p>La eliminaci\u00f3n est\u00e1 hecha para fallar. El agente persiste de tres maneras a la vez, por lo que, al tirar de uno, los dem\u00e1s lo recuperan. Cada compilaci\u00f3n pasa por ofuscaci\u00f3n Garble, empaquetado UPX -9 y relleno aleatorio, lo que significa que no hay dos agentes que compartan un hash. El hash de muestra publicado captar\u00e1 esa compilaci\u00f3n y perder\u00e1 el resto.<\/p>\n<h2>Si ejecuta algo de esto<\/h2>\n<p>La mayor parte de lo que lanza NadMesh est\u00e1 dirigido a servicios expuestos y funcionalidades de administraci\u00f3n que se pueden llamar: una API Docker abierta en 2375, una consola de script Jenkins, Redis no autenticado, Telnet d\u00e9bil y contrase\u00f1as SSH. Ning\u00fan parche cierra ninguno de ellos.<\/p>\n<p>Cons\u00edgalos detr\u00e1s de la autenticaci\u00f3n o fuera de la Internet p\u00fablica, comenzando con los cuatro puertos que el trabajo de reexploraci\u00f3n coloca primero: 8188 (ComfyUI), 11434 (Ollama), 7860 (Gradio) y 5678 (n8n).<\/p>\n<p>Tambi\u00e9n hay una cola de parches, y no todo es antiguo. El gr\u00e1fico incluye CVE-2026-39987, el RCE previo a la autenticaci\u00f3n en los port\u00e1tiles Marimo anteriores a la 0.23.0. CISA lo puso en KEV en abril despu\u00e9s de que fuera explotado pocas horas despu\u00e9s de su divulgaci\u00f3n.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/sygnia-cyber-response-d-2\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjHcvlLVmAqlffm6kG54_0cGVf8WfcgzqT9B0fBSizSSeIjh8tBepXnrf6BMqKiG344WgqNejcRtEFKT1PmOzQNQBhdmu2iz9Po10z0SSDlFuZ37iip2uYibJDoxTEkbUI7Bx8NJM2Io_z_nl5p4YA-ZhqFLfi0GW1axyu-lQx-iytCn9RGSJ2iqCwdyv8m\/s1600\/sy-d-2.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Junto a \u00e9l se encuentra CVE-2026-41176, que permite a una persona que llama no autenticada cambiar rc.NoAuth en servidores rclone RC desde 1.45.0 hasta 1.73.5 que se iniciaron sin autenticaci\u00f3n HTTP. Las configuraciones de rclone son credenciales de la nube. Las entradas m\u00e1s antiguas necesitan que se verifiquen sus condiciones antes de que entre en p\u00e1nico: CVE-2022-22947 con un 6,48% solo afecta si el punto final del Spring Cloud Gateway Actuator est\u00e1 habilitado y expuesto sin seguridad, y CVE-2017-12611 con un 4,15% es la falla de la etiqueta Struts Freemarker.<\/p>\n<p>Luego verifique las rutas de ca\u00edda:<\/p>\n<ul>\n<li>~\/.ssh\/authorized_keys, para claves que nadie recuerda haber agregado<\/li>\n<li>\/dev\/shm\/.a, \/var\/tmp\/.a, \/tmp\/.a<\/li>\n<li>\/etc\/cron.d\/.sys_monitor, \/etc\/cron.d\/.s<\/li>\n<\/ul>\n<p>Si surge algo de eso, a\u00edsle el host y revoque todas las credenciales que pueda ver de inmediato: claves de AWS, tokens de cl\u00faster, contenidos .env, inicios de sesi\u00f3n de registro. Revocar no es rotar. Tire de la persistencia antes de emitir reemplazos, o las nuevas claves seguir\u00e1n el mismo camino que las antiguas.<\/p>\n<p>Luego revise d\u00f3nde se usaron los antiguos mientras estaban activos. Los indicadores de XLab son un C2 en 209.99.186[.]235, el dominio cdnorigin[.]net y una muestra de agente, SHA1 31c69b3e12936abca770d430066f379ec1d997ec.<\/p>\n<p>Hacker News cubri\u00f3 a un operador diferente que trabajaba con la misma clase objetivo en abril: Censys hab\u00eda descubierto que estaba cultivando <a href=\"https:\/\/censys.com\/blog\/comfyui-servers-cryptomining-proxy-botnet\/\" target=\"_blank\">ComfyUI expuesto para la GPU<\/a>Monero y Conflux, adem\u00e1s de un nodo proxy de Hysteria para reventa. Tres meses despu\u00e9s, NadMesh barre una red mucho m\u00e1s amplia, pero ComfyUI y Docker expuestos en 2375 se encuentran en ambas listas de objetivos.<\/p>\n<p>Lo que cambi\u00f3 es la recompensa: el operador de abril quer\u00eda la GPU y NadMesh quiere aquello en lo que la caja puede iniciar sesi\u00f3n. Censys finaliz\u00f3 su censo de MCP con una suposici\u00f3n del resultado menos malo para todas esas herramientas de shell expuestas, y el host termin\u00f3 siendo \u00abparte de alguna futura botnet o infraestructura de abuso\u00bb. Eso fue el 27 de mayo. XLab public\u00f3 una botnet con mcp_cmd_execute en su tabla de exploits siete semanas despu\u00e9s.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una botnet Go llamada NadMesh apareci\u00f3 a principios de julio buscando servicios de IA expuestos, y el propio panel del operador afirma tener 3.811 claves AWS \u00fanicas. Un recolector Shodan mantiene la cola de escaneo abastecida con ComfyUI, Ollama, n8n, Open WebUI, Langflow y Gradio: los generadores de im\u00e1genes, los ejecutores de modelos locales y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[708,173,558,254,24,1650,336,1162,3867,97,312,36,563,48],"class_list":["post-1622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-artificial","tag-botnet","tag-busca","tag-claves","tag-cyberdefensa-mx","tag-expuestos","tag-inteligencia","tag-kubernetes","tag-nadmesh","tag-nube","tag-nueva","tag-para","tag-servicios","tag-tokens"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1622"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1622\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/1379"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}