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 Nuevo ransomware ENCFORGE ataca archivos de modelos de IA mediante vulnerabilidad RCE en Langflow


Investigadores de Sysdig detectaron que el actor JADEPUFFER está utilizando una vulnerabilidad de ejecución remota de código en Langflow para desplegar ENCFORGE, un nuevo ransomware escrito en Go. Este malware está diseñado específicamente para cifrar infraestructura de IA, incluyendo pesos de modelos, índices vectoriales y conjuntos de datos de entrenamiento. Se recomienda actualizar Langflow a la versión 1.9.1, rotar credenciales comprometidas y restringir el acceso al socket de Docker para evitar la evasión del contenedor al host.







Investigadores de Sysdig han vinculado un segundo ataque al mismo servidor Langflow con JADEPUFFER, el operador impulsado por agentes de IA que documentaron por primera vez a principios de este mes.

El mismo operador ha sido detectado ahora desplegando ENCFORGE, un nuevo ransomware compilado en Go diseñado para cifrar pesos de modelos, índices vectoriales, conjuntos de datos de entrenamiento y otros archivos de infraestructura de IA en todo el sistema de archivos del host.

El punto de entrada no ha cambiado. Las versiones de Langflow anteriores a la 1.3.0 (enlace) exponen el endpoint /api/v1/validate/code sin autenticación, lo que permite que cualquier atacante remoto ejecute Python arbitrario en el servidor. El fallo, CVE-2025-3248 (enlace), tiene una puntuación CVSS de 9.8 y ha estado en el catálogo de Vulnerabilidades Explotadas Conocidas de la CISA (enlace) desde el 5 de mayo de 2025.

La operación anterior utilizaba código Python desechable y la función AES_ENCRYPT() de MySQL para cifrar y destruir datos en Nacos (el servidor de configuración de Alibaba) y bases de datos de producción.

El nuevo payload de ENCFORGE (enlace) reemplaza esos scripts improvisados por herramientas compiladas dirigidas a los almacenes de modelos, bases de datos vectoriales y pipelines de entrenamiento donde la primera campaña buscó credenciales.

El payload de encforge



Los investigadores recuperaron el binario del servidor de comando y control del atacante, donde estaba oculto como /.lockd; una solicitud directa a /lockd devuelve un error 404 y el punto inicial lo mantiene fuera de un listado de directorios simple. El archivo es un ELF estático de Go 1.22.12 empaquetado con UPX 5.20.

Las plataformas de inteligencia de amenazas no devolvieron detecciones ni del hash empaquetado ni del desempaquetado en el momento del análisis de Sysdig. El nombre interno del proyecto es encfile; el texto de error del binario hace referencia a una herramienta de generación de claves complementaria llamada keyforge. Ambas cadenas sobreviven a la recompilación del mismo código base y sirven como anclas de detección estables.

Su lista de extensiones predeterminada cubre checkpoints de PyTorch y TensorFlow, SafeTensors de Hugging Face, formato de intercambio ONNX, GGUF (el estándar actual para LLM desplegados localmente) y su predecesor GGML, índices vectoriales FAISS, conjuntos de datos de entrenamiento Parquet y Arrow, arrays de NumPy y registros de TensorFlow.

Un flag --include permite al operador añadir comodines de archivos adicionales; el texto de ayuda integrado utiliza adaptadores de ajuste fino LoRA y pesos GGML heredados como ejemplos. La lista completa llega a aproximadamente 180 extensiones. Estos ejemplos apuntan directamente a entornos de IA; un bloqueador de archivos genérico tendría poca razón para nombrar adaptadores LoRA o pesos GGML heredados. Los investigadores interpretan esta elección como un objetivo deliberado y no como una cobertura incidental.

ENCFORGE utiliza AES-256-CTR para los datos de los archivos, con la clave simétrica de cada ejecución envuelta bajo una clave pública RSA-2048 embebida y compilada en esta versión. En lugar de cifrar archivos completos, cifra regiones seleccionadas, la misma optimización de velocidad que utilizan los bloqueadores de clase LockBit y BlackCat.

Cada archivo procesado es renombrado con la extensión .locked. El binario mata los procesos que mantienen los archivos abiertos antes de cifrar, gestiona los reinicios sin volver a cifrar archivos completados, deja notas de rescate como README, HOW_TO_DECRYPT y README_DECRYPT, y se elimina a sí mismo después de ejecutarse.



El binario de ENCFORGE recuperado no tiene capacidad de exfiltración. No lleva código de red, cliente de almacenamiento en la nube ni mecanismo de preparación, y los investigadores no encontraron evidencia de exfiltración de datos, sitios de filtraciones o un portal de pagos Tor durante la sesión observada. Su único medio de presión son los datos cifrados.

El contacto de extorsión embebido en las notas de rescate es e78393397@proton.me, la misma dirección de Proton Mail utilizada en la campaña anterior. Sysdig describe esto como el vínculo de atribución más fuerte entre las dos operaciones.

Los investigadores revelaron una sesión observada, no nombraron a la organización y no proporcionaron el recuento de víctimas ni evidencia de otro despliegue de ENCFORGE.

De langflow al host



Tras confirmar la ejecución de código, JADEPUFFER rastreó el contenedor en busca de credenciales y encontró el socket de Docker en /var/run/docker.sock. Su primer intento de extraer ENCFORGE desde el servidor de comando y control de GCP falló. En lugar de detenerse, se adaptó.

Durante cinco minutos y 24 segundos, el operador creó y revisó seis scripts de Python a través del mismo canal RCE de Langflow hasta que tuvo una ruta funcional hacia el host. El primer script se construyó línea a línea, manteniendo cada solicitud inerte para evitar la inspección basada en firmas.

A partir del segundo, el operador codificó cada script completo en base64 y lo decodificó dentro de una llamada exec(), evitando búsquedas a nivel de shell de comandos como base64 -d. La versión final utilizó la API de Docker para levantar un contenedor privilegiado con el espacio de nombres PID del host y el sistema de archivos raíz montado, localizó el proceso objetivo, copió ENCFORGE a través de /proc/pid/root y luego lo ejecutó en el host mediante nsenter.

En todas las iteraciones, los contenedores fueron creados con Privileged: true, PidMode: host, NetworkMode: host y el sistema de archivos raíz montado con lectura y escritura. Eso es tener el root del host.

Antes de la ejecución real, el operador lanzó --try-run para escanear el sistema de archivos, y luego --lock para la fase de cifrado en vivo. El script final verificaba el estado del proceso, leía el registro de bloqueo y contaba los archivos que terminaban en .locked.

Los investigadores no publicaron el recuento resultante; la evidencia revelada establece un intento de cifrado en vivo, no cuántos archivos de modelos o conjuntos de datos fueron cifrados con éxito.

Sysdig evaluó el flag --task-id gcp_h1 como evidencia de que el operador estaba rastreando este host como un objetivo de GCP dentro de una campaña más amplia; un try-run anterior en la sesión utilizó el ID de tarea gcp_test. El informe no reveló víctimas adicionales ni sitios de despliegue.

Los investigadores documentaron que la campaña anterior de JADEPUFFER corrigió un inicio de sesión fallido de Nacos en 31 segundos. El mismo patrón se mantuvo aquí frente a un problema más difícil: el operador construyó una evasión del host a través del socket de Docker expuesto cuando su ruta de entrega preferida estaba bloqueada.

Parchea langflow y luego protege los modelos



Los investigadores estiman que reconstruir un modelo de IA de producción una vez que ha sido cifrado podría costar entre 75.000 y 500.000 dólares por modelo en cómputo de GPU en la nube y tiempo de ingeniería.

Los entornos de producción a menudo ejecutan múltiples variantes especializadas en un almacenamiento compartido, por lo que una sola ejecución de ENCFORGE podría cifrar múltiples variantes almacenadas en el mismo sistema de archivos accesible. Si los datos de entrenamiento están en el mismo host, la organización tendrá que reconstruirlos antes de que pueda comenzar cualquier reentrenamiento.

SHA-256 del binario: empaquetado 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2; desempaquetado ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328.

Sysdig ha publicado las direcciones de origen y C2, la huella digital de la clave RSA-2048 embebida y una regla YARA en su informe completo.

* Actualiza Langflow a la versión 1.9.1 o a una versión actual compatible. La versión 1.3.0 cerró la vulnerabilidad CVE-2025-3248, el vector de entrada de esta campaña, pero CISA ha añadido desde entonces dos vulnerabilidades más de Langflow a su catálogo KEV: CVE-2026-33017, un fallo de RCE no autenticado corregido en la 1.9.0, añadido al KEV el 25 de marzo de 2026; y CVE-2026-55255, una omisión de autorización entre usuarios corregida en la 1.9.1, añadida el 7 de julio de 2026.
* Rota las claves de proveedores de IA, credenciales de nube, secretos de bases de datos y cualquier otro token accesible para el proceso de Langflow. Parchear no revoca las credenciales ya recolectadas a través de una instancia vulnerable.
* Elimina /var/run/docker.sock de cualquier contenedor que no lo requiera. Donde el acceso al socket sea inevitable, limítalo a través de un proxy configurado estrictamente; un despliegue estándar de Langflow generalmente no tiene necesidad de crear contenedores, y el acceso irrestricto al socket de Docker debe tratarse como una mala configuración.
* Alerta sobre procesos de aplicación que llamen a las API de creación de contenedores de Docker, contenedores lanzados con Privileged: true o PidMode: host, montajes bind del root del host y la ejecución de nsenter desde dentro de un contenedor.
* Mantén los pesos de los modelos, índices vectoriales y conjuntos de datos de entrenamiento en instantáneas offline o inmutables. Monitoriza esos directorios para detectar la creación masiva de archivos .locked.

The Hacker News contactó al Equipo de Investigación de Amenazas de Sysdig para obtener más detalles sobre el alcance de la campaña de la flota y la confianza de la atribución; Sysdig no había respondido al momento de la publicación.

Los artefactos de los modelos ahora pertenecen al mismo nivel de recuperación que el código fuente y las bases de datos de producción. Una organización que puede reconstruir la aplicación pero no puede restaurar sus pesos, índices o estado de entrenamiento no tiene una ruta limpia de regreso.

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.