
Alguien instaló un popular asistente de inteligencia artificial en un servidor de alquiler, desactivó la configuración para pedir permiso antes de ejecutar comandos peligrosos y dirigió al asistente al Ministerio de Finanzas tailandés, que es responsable del tesoro nacional y la recaudación de impuestos.
Luego, los agentes manipularon de forma independiente la red del departamento, verificando los hosts en busca de formas de obtener acceso raíz, explorando sistemas de archivos y rastreando carpetas de registros de personal de los empleados que datan de 2012.
El operador dejó los propios registros del agente en el servidor web con la lista de directorios activada. La firma de inteligencia de amenazas Hunt.io y el investigador Bob Diatchenko descubrieron esos registros, junto con 585 archivos y 470 MB de herramientas de ataque.
La herramienta es Hermes, el asistente de código abierto de Nous Research que se instala para administrar el correo electrónico, realizar tareas domésticas y recibir instrucciones en Telegram y Slack. Esta no es una herramienta de piratería y no hay nada defectuoso aquí.
El modo utilizado por el operador, llamado YOLO, es una característica documentada que tiene sus propios indicadores de línea de comando. Eso es lo que diferencia este incidente de los ataques asistidos por IA reportados anteriormente.
Cuando Anthropic expuso a un grupo chino que usaba el código Claude para espionaje en noviembre pasado, los atacantes tuvieron que engañar a los modelos para que cooperaran y Anthropic prohibió la cuenta una vez que se dio cuenta. Hermes funciona en la propia máquina del operador. No había proveedores que monitorear ni cuentas que prohibir.
El operador ya estaba dentro antes de que comenzara el agente. Hunt.io recuperó shells web ocultos instalados en los servidores web del departamento, scripts escritos en sistemas Hadoop internos designados y contraseñas de buzones de correo robadas codificadas en scripts de prueba de correo electrónico.
Los archivos recuperados no indican que los datos alguna vez salieron de la red y no está claro cómo el operador ingresó a la red en primer lugar. El CERT nacional de Tailandia y la agencia de ciberseguridad fueron notificados el 15 de julio. Hasta el 24 de julio, cuando The Hacker News revisó, ninguno había anunciado nada.
Para todos los demás, el detalle útil es para qué fue creado el script del operador: el servicio de base de datos Hadoop, que se envía para aceptar contraseñas arbitrarias de forma predeterminada.
La parte que requería conocer el objetivo la hacían humanos. El artículo de Hunt.io muestra una lista de contraseñas creadas a partir de las abreviaturas departamentales del propio departamento en lugar de un diccionario, y un código shell que lleva una ruta codificada a la intranet del departamento.

El agente realizó una parte iterativa de ejecutar un análisis, leer el resultado, decidir qué comprobar a continuación y ejecutar otro análisis. El material recuperado no indica ningún nuevo descubrimiento de vulnerabilidad ni selección de objetivos.
Ninguna de las órdenes era inusual. LinPEAS, un script estándar para explorar rutas de escalada de privilegios en Linux. Busque archivos con permisos elevados. Rastreo de directorios. La gente escribirá lo mismo. Lo que ha cambiado es que ya nadie tiene que aprobar cada uno.
hermes le permite configurarlo de tres maneras: con el indicador –yolo al inicio, con el comando /yolo durante una sesión o con la variable de entorno HERMES_YOLO_MODE=1. La guía de configuración del proyecto dice «Utilice esto sólo en entornos sandbox confiables».
Una capa sobrevive. Es una lista de bloqueo estricta que aún niega comandos para borrar la máquina en la que se ejecuta el agente. Lo que el operador desactivó fueron los controles humanos, no todas las salvaguardias.
lo que hizo el agente
Cinco archivos denominados call_00_*.txt desempeñan el papel del agente. Escaneo de vulnerabilidades del kernel en hosts ministeriales, segunda ejecución de LinPEAS, barrido de archivos binarios con permisos elevados, lista de sistemas de archivos y rastreo recursivo de raíces web pertenecientes a la Oficina del Subsecretario.
Esa carpeta contenía documentos de Office, revisiones de desempeño y registros de personal que datan de 2012. Los registros muestran que el agente estaba leyendo el directorio. Ninguno de ellos indica que el expediente salga de allí.
El script de escaneo que me dieron estaba agotado. El linpeas.sh personalizado buscó cuatro fallas del kernel de Linux 2026 en tres familias: Copy Failure (CVE-2026-31431), Dirty Flag (CVE-2026-43284 y CVE-2026-43500) y DirtyClone (CVE-2026-43503).
Cada uno pasa una raíz de usuario local donde se mantienen sus requisitos previos. Esto significa CAP_NET_ADMIN para Dirty Frag y DirtyClone. Cuando el operador los ejecutó, todos tenían varias semanas de antigüedad y no se encontró nada que identificara la versión del kernel del Ministerio o que indicara que alguno de los cuatro se había ejecutado.
La sesión SSH del operador con el servidor provisional era 103.97.0(.)57 en Hong Kong. La contraseña de la interfaz web del agente contiene la palabra china para dios del trueno, Raishen, y junto a ella hay una clave para el servicio chino de búsqueda de activos FOFA.
El mismo servidor alojaba anteriormente el controlador ShadowPad y ahora ejecuta el escucha de comando y control VShell. Hunt.io califica con confianza baja a media que los operadores hablan o dominan el chino, y no publica nombres de grupos. La empresa y Diachenko siguen siendo las únicas fuentes públicas de hallazgos específicos del departamento.
Ruta a Hadoop
La mayor parte del código personalizado residía en el clúster Hadoop del departamento, que almacena y consulta grandes cantidades de datos. Un script llamado hive_rce_py2.py se conecta a HiveServer2, la interfaz SQL para ese clúster, en el puerto 10000 de la máquina interna y envía la contraseña.
La propia documentación de Apache establece que el modo de autenticación predeterminado es NINGUNO, lo que significa que cualquier contraseña proporcionada será aceptada sin verificación.
Una vez conectado, el script instala un complemento Java malicioso llamado HiveCmd.jar como una función definida por el usuario. Esto permite que los scripts ejecuten comandos del sistema operativo y lean los resultados mediante consultas regulares a la base de datos. Cloudera advierte que cualquiera que pueda instalar una función de este tipo podría ejecutar código arbitrario como cuenta de servicio de Hive y obtener acceso a datos confidenciales.
También se organiza en el servidor. Un implante Go previamente no documentado al que los operadores se refieren como Hades, con 62 copias creadas tanto para Windows como para Linux. Hunt.io analizó cada uno y encontró la misma base de código. Las 60 personas restantes no fueron examinadas individualmente.
Aunque sus direcciones codificadas vinculan el servidor provisional con un segundo host de Hong Kong, los artefactos recuperados no indican que Hades haya llegado alguna vez a las máquinas del Ministerio. En paralelo al código de explotación de tres fallas antiguas en polkit, sudo e IIS 6.0, otro script probó las credenciales predeterminadas en la consola interna GlassFish, pero no se observó ninguna implementación.
que hacer
Compruebe si HiveServer2 se está ejecutando con la autenticación configurada en NINGUNA para restringir quién puede instalar funciones definidas por el usuario. Ese valor predeterminado es del que dependía el script del operador. Alerta cuando un proceso de servidor web abre una conexión a un puerto interno de Hadoop como 10000 o 50070. Vale la pena comprobar por sí solo si el servidor web llega al nodo de Hadoop. Busca recursivamente en la raíz web archivos PHP con nombres de puntos iniciales que imitan los cachés del sistema. Está ubicado en /storage/Counter/nine/.journald-cache.php y no es visible en los listados de directorios normales. Parche el kernel para las cuatro fallas de 2026 enumeradas anteriormente y también aplique sudo a 1.9.5p2 o posterior, polkit para CVE-2021-4034 y el resto de IIS 6.0 WebDAV.
Los agentes dejan sus propias huellas. Según el informe de Hunt.io del 23 de julio, el panel web de Hermes devolvió el encabezado del servidor HermesWebUI y la búsqueda de esa cadena arrojó aproximadamente 5.900 eventos de escaneo durante un período de un mes, contando avistamientos en lugar de máquinas individuales.
Un mejor gancho es donde el agente escribe los resultados. Es decir, una carpeta /hermes-results/ consistente con nombres de archivos predecibles. El mismo día, el índice del directorio público de Hunt.io encontró 575 visitas, cada una de las cuales era un par de host/nombre de archivo. Esto se debe a que los controles de seguridad no están expuestos a este operador. Esa es la lista del directorio.
De cualquier manera, el punto final reconoce los mismos comandos de shell y las mismas herramientas. No hay nada en la línea de comando normal que indique que no hay nadie frente al teclado.
Source link
