Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Despliega agente de IA Hermes de forma autónoma para post-explotación en Ministerio de Finanzas de Tailandia


Un atacante utilizó el asistente de IA de código abierto Hermes en modo YOLO para automatizar tareas repetitivas de reconocimiento y escaneo en el Ministerio de Finanzas de Tailandia. Mientras que el humano realizó la infiltración inicial y definió los objetivos, la IA ejecutó la búsqueda de vulnerabilidades y el rastreo de archivos sin supervisión humana. El incidente fue descubierto gracias a que el operador dejó los registros expuestos en un servidor web.



 Alguien instaló un popular asistente de IA en un servidor alquilado, desactivó el ajuste que hace que pida permiso antes de ejecutar comandos arriesgados y lo dirigió hacia el Ministerio de Finanzas de Tailandia, que gestiona la tesorería y la recaudación de impuestos del país.

El agente trabajó entonces por su cuenta a través de la red del ministerio, revisando hosts en busca de formas de obtener acceso root, rastreando sistemas de archivos y explorando una carpeta de expedientes del personal que se remontaba a 2012.

El operador dejó los propios registros del agente en un servidor web con el listado de directorios activado, donde la firma de inteligencia de amenazas Hunt.io y el investigador Bob Diachenko los encontraron, junto con 585 archivos y 470 MB de herramientas de ataque.

La herramienta es Hermes [https://github.com/NousResearch/hermes-agent], un asistente de código abierto de Nous Research que la gente instala para gestionar su correo, realizar tareas y recibir instrucciones a través de Telegram o Slack. No es una herramienta de hacking, y nada de esto es un fallo en la herramienta.

El modo que utilizó el operador, llamado YOLO, es una característica documentada con su propio flag de línea de comandos. Eso es lo que diferencia este caso de los ataques asistidos por IA reportados hasta ahora.

Cuando Anthropic reveló [https://www.anthropic.com/news/disrupting-AI-espionage] que un grupo chino utilizaba Claude Code para espionaje el pasado noviembre, los atacantes tuvieron que engañar al modelo para que cooperara, y Anthropic prohibió sus cuentas una vez que se dio cuenta. Hermes se ejecuta en la propia máquina del operador. Ningún proveedor estaba vigilando y no había ninguna cuenta que prohibir. El operador ya estaba dentro antes de que el agente comenzara. Hunt.io recuperó una shell web oculta plantada en un servidor web del ministerio, scripts escritos contra sistemas Hadoop internos nombrados y contraseñas de buzones de correo robadas integradas en un script de prueba de correo.

Nada en los archivos recuperados muestra que los datos hayan salido de la red, y se desconoce cómo entró el operador inicialmente. El CERT nacional de Tailandia y la agencia de ciberseguridad fueron notificados el 15 de julio; ninguno había publicado nada cuando se comprobó el 24 de julio.

Para ti y el resto, el detalle útil es lo que los scripts del operador fueron diseñados para explotar: un servicio de base de datos Hadoop que acepta cualquier contraseña por defecto.

El humano hizo las partes que requieren conocer el objetivo. El análisis de Hunt.io [https://hunt.io/blog/thailand-ministry-finance-targeted-with-hermes-ai-agent] muestra una lista de contraseñas creada a partir de las abreviaturas de los propios departamentos del ministerio en lugar de un diccionario, y shellcode con rutas hardcodeadas hacia la intranet del ministerio. El agente hizo la parte repetitiva: ejecutar un escaneo, leer el resultado, decidir qué comprobar a continuación, ejecutar otro. Nada en el material recuperado muestra que haya encontrado una nueva vulnerabilidad o elegido el objetivo.

Ninguno de los comandos era exótico. LinPEAS [https://github.com/peass-ng/PEASS-ng/tree/master/linPEAS], un script estándar que busca rutas de escalada de privilegios en Linux. Una búsqueda de archivos con permisos elevados. Un rastreo de directorios. Una persona escribiría las mismas cosas. Lo que cambió es que nadie tuvo que aprobar cada acción.

Hermes ofrece ese ajuste de tres maneras: un flag --yolo al iniciar, un comando /yolo a mitad de sesión, o una variable de entorno HERMES_YOLO_MODE=1. La guía de configuración del proyecto [https://hermes-agent.nousresearch.com/docs/user-guide/configuration] dice que "solo se debe usar esto en entornos aislados y confiables".

Una capa sobrevive a esto: una lista de bloqueo estricta [https://hermes-agent.nousresearch.com/docs/user-guide/security] que sigue rechazando comandos que borrarían la máquina donde se ejecuta el agente. Lo que el operador desactivó fue la verificación humana, no todas las salvaguardas.

Qué hizo el agente

Cinco archivos llamados call_00_*.txt contienen los turnos del agente: escaneo de vulnerabilidades del kernel contra un host del ministerio, una segunda ejecución de LinPEAS, un barrido de binarios con permisos elevados, un listado del sistema de archivos y un rastreo recursivo de la raíz web perteneciente a la Oficina del Secretario Permanente.

Esa carpeta contenía documentos de oficina, evaluaciones de desempeño y expedientes de personal que datan de 2012. Los registros muestran al agente leyendo el directorio. Ninguno de ellos muestra que los archivos hayan salido de él.

El script de escaneo que se le entregó no era el estándar. Un linpeas.sh personalizado comprobó cuatro fallos del kernel de Linux de 2026 en tres familias: Copy Fail (CVE-2026-31431), Dirty Frag (CVE-2026-43284 y CVE-2026-43500), y DirtyClone [https://research.jfrog.com/post/dissecting-and-exploiting-linux-lpe-variant-dirtyclone-cve-2026-43503/] (CVE-2026-43503).

Cada uno otorga root a un usuario local donde se cumplen sus requisitos, lo que para Dirty Frag y DirtyClone significa CAP_NET_ADMIN. Todos tenían semanas de antigüedad cuando el operador los preparó, y nada de lo recuperado nombra una versión del kernel del ministerio ni muestra que cualquiera de los cuatro se ejecutara.

La propia sesión SSH del operador en el servidor de preparación provenía de 103.97.0[.]57 en Hong Kong. La contraseña de la interfaz web del agente contiene la palabra china Leishen (dios del trueno), y junto a ella se encuentra una clave para FOFA, un servicio chino de búsqueda de activos.

El mismo servidor alojó previamente un controlador de ShadowPad y ahora ejecuta un receptor de comando y control de VShell. Hunt.io estima con confianza baja a media que el operador habla chino o domina el idioma, y no nombra a ningún grupo. La firma y Diachenko siguen siendo la única fuente pública de los hallazgos específicos del ministerio.

La ruta hacia hadoop

La mayor parte del código personalizado se dirigió al clúster Hadoop del ministerio, donde se almacenan y consultan grandes volúmenes de datos. Un script llamado hive_rce_py2.py se conecta a HiveServer2, el front-end SQL de ese clúster, en una máquina interna en el puerto 10000, y envía una contraseña.

La propia documentación de Apache [https://hive.apache.org/docs/latest/admin/setting-up-hiveserver2/] indica que el modo de autenticación por defecto es NONE, el cual acepta cualquier contraseña que se le proporcione sin verificarla.

Una vez conectado, el script instala un complemento de Java malicioso llamado HiveCmd.jar como una función definida por el usuario, lo que le permite ejecutar comandos del sistema operativo a través de consultas ordinarias a la base de datos y leer los resultados. Cloudera advierte [https://docs.cloudera.com/cdp-private-cloud-base/7.3.1/securing-hive/topics/hive-ranger-udf-security.html] que cualquier persona capaz de instalar tal función puede ejecutar código arbitrario como la cuenta de servicio de Hive y acceder a datos sensibles. También se preparó en el servidor un implante de Go previamente no documentado que el operador llama Hades, construido tanto para Windows como para Linux en 62 copias. Hunt.io analizó uno de cada uno y encontró la misma base de código; las otras 60 no se examinaron individualmente.

Sus direcciones hardcodeadas vinculan el servidor de preparación con un segundo host en Hong Kong, aunque ningún artefacto recuperado muestra que Hades haya alcanzado una máquina del ministerio. Scripts separados probaron credenciales por defecto contra una consola interna de GlassFish, sin que se confirmara ninguna implementación, junto con código de exploit para tres fallos antiguos en polkit, sudo e IIS 6.0.

Qué hacer

  • * Comprueba si HiveServer2 se está ejecutando con la autenticación establecida en NONE y restringe quién puede instalar funciones definidas por el usuario. Ese valor por defecto es en lo que el script del operador confió.
  • * Alerta cuando un proceso de servidor web abra una conexión a puertos internos de Hadoop como el 10000 o el 50070. Un servidor web llegando a un nodo Hadoop ya es motivo de investigación por sí solo.
  • * Busca raíces web recursivamente en busca de archivos PHP con nombres que comienzan con un punto que imitan cachés del sistema. Este se encontraba en /storage/Counter/nine/.journald-cache.php y no aparece en un listado de directorios normal.
  • * Parchea los kernels contra los cuatro fallos de 2026 mencionados arriba, además de sudo a 1.9.5p2 o posterior, polkit para CVE-2021-4034, y cualquier WebDAV de IIS 6.0 restante.

El agente deja su propio rastro. El panel web de Hermes devuelve un encabezado de servidor HermesWebUI, y una búsqueda de esa cadena devolvió aproximadamente 5,900 eventos de escaneo durante un mes, según el informe de Hunt.io del 23 de julio, contando avistamientos en lugar de máquinas distintas.

El mejor gancho es donde el agente escribe sus resultados: una carpeta consistente /hermes-results/ con nombres de archivo predecibles, que arrojó 575 coincidencias en el índice de directorios expuestos de Hunt.io el mismo día, cada una un par de host y nombre de archivo. No fue un control de seguridad lo que expuso a este operador. Fue un listado de directorios.

El endpoint ve los mismos comandos de shell y las mismas herramientas de cualquier manera. Nada en una línea de comandos ordinaria anuncia que no hay nadie al teclado.

Fuente:
THN


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.