NadMesh: la botnet en Go que caza servidores de IA expuestos para robar llaves de la nube

Servidores de IA self-hosted expuestos a internet siendo rastreados y comprometidos por una botnet en un mapa de red oscuro con nodos rojos
0 0 votos
Valora la Publicación

Una botnet nueva escrita en Go, bautizada NadMesh, está recorriendo internet en busca de servidores de IA self-hosted expuestos —Ollama, ComfyUI, n8n, Open WebUI, Langflow y Gradio— para tomar el control y robar credenciales de la nube. En el panel de su propio operador figura una cifra reveladora: 3.811 llaves de AWS únicas ya capturadas.

La investigación la publicó el 17 de julio de 2026 la firma XLab, de la china QiAnXin, que nombró al malware por la cadena n4d mesh controller hallada en su código fuente.

Cómo encuentra a sus víctimas

El corazón de NadMesh es un módulo de reconocimiento, ai_harvest.py, que consulta la API de Shodan de forma programática para localizar servicios de IA y automatización que quedaron colgados de internet sin protección.

El sistema funciona como un lazo cerrado: mantiene una cola de rastreo, vuelve a muestrear las subredes productivas cada 5 minutos y prioriza los puertos típicos de estas herramientas.

  • 8188 — ComfyUI
  • 11434 — Ollama
  • 7860 — Gradio
  • 5678 — n8n

Para no perder el tiempo, la botnet marca como sospechosos de honeypot a los objetivos que fallan diez despliegues seguidos y los agrega a una lista negra. Si la cola se vacía, genera bloques /24 al azar para seguir escaneando.

Más de 20 vectores de ejecución remota

Una vez que detecta un blanco, NadMesh dispone de más de 20 vectores de ejecución remota de código (RCE). La mayor parte del tráfico apunta a funciones de administración que la gente deja abiertas sin autenticación.

  • API de Docker abierta en el puerto 2375 (el 30% del tráfico observado).
  • Consola de scripts de Jenkins (el 22%).
  • Contraseñas débiles de Telnet y SSH, y Redis sin autenticación.
  • Escapes de pods de Kubernetes, RCE en Elasticsearch, deserialización en WebLogic y ejecución de comandos vía MCP (JSON-RPC).

Qué se lleva

El botín es de alto valor. NadMesh vacía las variables de entorno en busca de llaves de la nube, roba tokens de service accounts de Kubernetes —a veces con privilegios de cluster-admin— y saquea archivos como ~/.aws/config, .env y ~/.docker/config.json.

También inventaria los modelos de IA accesibles (incluidos endpoints etiquetados como :cloud de DeepSeek, GLM y Kimi) y las herramientas MCP invocables, que pueden habilitar ejecución de SQL o de shell.

Diseñada para no salir

La persistencia está pensada para que la limpieza falle: el agente se afianza de tres formas al mismo tiempo, así que desactivar una deja las otras operativas.

  • Un backdoor por clave SSH inyectada en ~/.ssh/authorized_keys.
  • Tareas cron ocultas que revive el bot si lo borran (por ejemplo /etc/cron.d/.sys_monitor).
  • Cargadores en archivos temporales en rutas como /dev/shm/.a, /var/tmp/.a y /tmp/.a.

Para esquivar la detección por firma, cada compilación pasa por Garble (ofuscación) y UPX -9 (compresión) con padding aleatorio, de modo que ningún agente comparte el mismo hash. XLab pide tratar a NadMesh como una «familia de malware evolutiva de largo plazo con un diseño orientado al ROI, no como un gusano de brote corto».

Por qué le toca de cerca a la comunidad

El patrón es conocido en nuestro ambiente: alguien levanta Ollama o n8n «para probar» en un VPS, lo deja escuchando en todas las interfaces sin autenticación y se olvida. Eso es exactamente el blanco de esta botnet.

Las mitigaciones son concretas y de bajo costo:

  • No exponer estos servicios a internet: bindearlos a 127.0.0.1 o dejarlos detrás de una VPN.
  • Poner autenticación delante (reverse proxy con login) y un firewall que solo permita IPs conocidas.
  • Sacar las credenciales de las variables de entorno cuando se pueda y rotar cualquier llave que haya estado expuesta.
  • Revisar los indicadores de compromiso: claves extrañas en authorized_keys, cron ocultos y archivos en /dev/shm, /tmp y /var/tmp.

¿Tenés algún Ollama, n8n o ComfyUI corriendo «para probar» y con el puerto abierto a internet? Es buen momento para revisarlo. Te leemos en los comentarios.

Fuentes

Escrito por

Pablo Ariel Di Loreto

Profesor. Informático. Fanático del helado de dulce de leche. Director de Ingeniería en MODO, y Secretario del Microsoft Users Group Asociación Civil. Además, soy owner de iniciativas como ConoSurTech y Aprender IT.

Ver todas las entradas de Pablo Ariel Di Loreto →
Suscribirse
Notificarme de
guest

0 Comentarios
Viejos
Nuevos Más votados
Scroll al inicio
0
Nos encantaría conocer tu opinión: ¡comenta!x