UAT-10608 Expuesto: Robo Automatizado de Credenciales a Gran Escala en Aplicaciones Web
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Cisco Talos informa sobre una operación a gran escala que abusa de la debilidad React2Shell en aplicaciones Next.js para robar credenciales en masa. Los atacantes utilizan un marco desarrollado específicamente llamado NEXUS Listener para extraer secretos de alto valor de los hosts comprometidos, incluyendo variables de entorno, claves SSH, tokens de nube y Kubernetes, y credenciales de API. Talos observó más de 766 sistemas afectados en múltiples regiones y proveedores de nube. Los datos robados se envían a través de devoluciones de llamada HTTP a un punto central de C2.
Investigación
Talos analizó las cargas útiles entregadas a través de CVE-2025-55182, que dejan caer un script de shell con nombre aleatorio en /tmp y lo ejecutan usando nohup para continuidad similar a la persistencia. El script ejecuta módulos de recopilación escalonados que cubren secretos del entorno, material SSH, metadatos de nube, tokens de Kubernetes, detalles de Docker e historial de comandos. Los resultados se envían de regreso al servicio NEXUS Listener a través del puerto 8080. Los investigadores revisaron la interfaz web de NEXUS Listener, el almacenamiento de datos backend, y la telemetría de red asociada para validar los tipos de credenciales y la escala de la recopilación.
Mitigación
Parchear las implementaciones de Next.js afectadas para mitigar la exposición a React2Shell. Aplicar IMDSv2 en los puntos finales de metadatos de la nube, rotar inmediatamente cualquier secreto potencialmente expuesto y separar el uso de claves SSH por ambiente y función. Agregar controles RASP o reglas WAF diseñadas para capturar intentos de inyección al estilo SSR. Los equipos de nube deben habilitar el escaneo de secretos, minimizar los permisos de los roles de instancia, y revisar la configuración del lado del servidor para prevenir la exposición accidental de variables de entorno sensibles. deployments to remediate React2Shell exposure. Enforce IMDSv2 on cloud metadata endpoints, rotate any potentially exposed secrets immediately, and separate SSH key usage by environment and role. Add RASP controls or WAF rules designed to catch SSR-style injection attempts. Cloud teams should enable secret scanning, minimize instance role permissions, and review server-side configuration to prevent accidental exposure of sensitive environment variables.
Respuesta
Alertar sobre scripts iniciados con nohup inesperados ejecutándose desde /tmp, especialmente archivos con prefijos de puntos o nombres aleatorios, y monitorear el tráfico HTTP saliente hacia destinos desconocidos en el puerto 8080. Bloquear las URL de exfiltración que coincidan con los patrones de devolución de llamada conocidos de NEXUS Listener. Aislar los hosts afectados, revocar claves/tokens comprometidos, y realizar una revisión forense para entender qué datos fueron recopilados y dónde fueron utilizados. Desplegar detecciones IDS para la explotación de React2Shell y fortalecer el acceso de mínimos privilegios a los metadatos y almacenes de secretos.
"graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#99ccff classDef malware fill:#ccffcc %% Node definitions tech_initial_access["<b>Técnica</b> – <b>T1189 Compromiso de drive‑by</b><br/><b>Descripción</b>: El atacante obtiene acceso inicial explotando una vulnerabilidad en un sitio web expuesto al público y ejecutando código en el sistema de la víctima."] class tech_initial_access technique tool_react2shell["<b>Herramienta</b> – <b>Nombre</b>: React2Shell (CVE‑2025‑55182)<br/><b>Descripción</b>: Vulnerabilidad de ejecución remota de código antes de la autenticación en aplicaciones de Next.js."] class tool_react2shell tool tech_exploit_client["<b>Técnica</b> – <b>T1203 Explotación para ejecución del cliente</b><br/><b>Descripción</b>: Explotación de vulnerabilidades de software para ejecutar código en un sistema objetivo."] class tech_exploit_client technique tech_script_proxy["<b>Técnica</b> – <b>T1216 Ejecución de proxy de script del sistema</b><br/><b>Descripción</b>: Utiliza scripts del sistema para el proxy de ejecución de código malicioso."] class tech_script_proxy technique malware_loader["<b>Malware</b> – <b>Nombre</b>: Script de carga<br/><b>Descripción</b>: Pequeño script de shell colocado en /tmp con un nombre aleatorio e iniciado con nohup."] class malware_loader malware tech_hide_artifacts["<b>Técnica</b> – <b>T1564.011 Ocultar artefactos: Ignorar interrupciones de proceso</b><br/><b>Descripción</b>: Ejecuta procesos maliciosos en segundo plano para evitar la detección."] class tech_hide_artifacts technique tech_network_logon["<b>Técnica</b> – <b>T1037.003 Script de inicio de sesión de red</b><br/><b>Descripción</b>: Configura un script de inicio de sesión que se ejecuta cada vez que un usuario inicia sesión en la red."] class tech_network_logon technique tech_private_keys["<b>Técnica</b> – <b>T1552.004 Claves privadas</b><br/><b>Descripción</b>: Busca y extrae claves privadas SSH del sistema de archivos."] class tech_private_keys technique tech_credentials_files["<b>Técnica</b> – <b>T1552.001 Credenciales en archivos</b><br/><b>Descripción</b>: Recopila credenciales almacenadas en archivos como .env, authorized_keys, configuraciones de Docker, etc."] class tech_credentials_files technique tech_cloud_metadata["<b>Técnica</b> – <b>T1552.005 API de metadatos de instancias de la nube</b><br/><b>Descripción</b>: Consulta servicios de metadatos de proveedores de nube para obtener credenciales IAM temporales."] class tech_cloud_metadata technique tech_container_api["<b>Técnica</b> – <b>T1552.007 API de contenedores</b><br/><b>Descripción</b>: Accede a tokens de cuentas de servicio de Kubernetes desde el sistema de archivos del pod."] class tech_container_api technique tech_remote_staging["<b>Técnica</b> – <b>T1074.002 Almacenamiento de datos remoto</b><br/><b>Descripción</b>: Almacena datos recopilados localmente antes de la exfiltración."] class tech_remote_staging technique tech_automated_exfil["<b>Técnica</b> – <b>T1020 Exfiltración automatizada</b><br/><b>Descripción</b>: Automatiza la exfiltración de datos a través de procesos scriptados."] class tech_automated_exfil technique tech_web_service["<b>Técnica</b> – <b>T1102 Servicio web</b><br/><b>Descripción</b>: Utiliza servicios web legítimos para la comunicación de comando y control."] class tech_web_service technique tech_dead_drop["<b>Técnica</b> – <b>T1102.001 Resolución de punto muerto</b><br/><b>Descripción</b>: Almacena datos exfiltrados en un servicio web actuando como un punto muerto."] class tech_dead_drop technique tech_ssh["<b>Técnica</b> – <b>T1021.004 SSH</b><br/><b>Descripción</b>: Usa SSH para el movimiento lateral de servicios remotos."] class tech_ssh technique tech_ssh_hijack["<b>Técnica</b> – <b>T1563.001 Secuestro de SSH</b><br/><b>Descripción</b>: Reutiliza claves privadas recopiladas para secuestrar sesiones SSH existentes."] class tech_ssh_hijack technique tool_nexus["<b>Herramienta</b> – <b>Nombre</b>: NEXUS Listener<br/><b>Descripción</b>: Interfaz gráfica basada en web que recibe datos recopilados y los muestra a los operadores."] class tool_nexus tool %% Connections tech_initial_access –>|uses| tool_react2shell tool_react2shell –>|triggers| tech_exploit_client tech_exploit_client –>|enables| tech_script_proxy tech_script_proxy –>|launches| malware_loader malware_loader –>|applies| tech_hide_artifacts malware_loader –>|sets up| tech_network_logon malware_loader –>|collects| tech_private_keys malware_loader –>|collects| tech_credentials_files malware_loader –>|queries| tech_cloud_metadata malware_loader –>|accesses| tech_container_api malware_loader –>|stages| tech_remote_staging tech_remote_staging –>|exfiltrates via| tech_automated_exfil tech_automated_exfil –>|uses| tech_web_service tech_automated_exfil –>|uses| tech_dead_drop tech_web_service –>|provides C2 to| tool_nexus tool_nexus –>|enables| tech_ssh tech_ssh –>|augmented by| tech_ssh_hijack tech_ssh_hijack –>|reuses| tech_private_keys "
Flujo de Ataque
Detecciones
Archivo oculto fue creado en host Linux (a través de file_event)
Ver
Uso de Nohup (a través de cmdline)
Ver
Script de Linux fue creado en carpetas temporales (via file_event)
Ver
IOCs (DestinoIP) para detectar: UAT-10608: Dentro de una operación automática de recolección de credenciales a gran escala dirigida a aplicaciones web
Ver
IOCs (FuenteIP) para detectar: UAT-10608: Dentro de una operación automática de recolección de credenciales a gran escala dirigida a aplicaciones web
Ver
Ejecución de script de recolección de credenciales automatizada [Creación de proceso Linux]
Ver
Ejecución de Simulación
Prerrequisito: La verificación previa de Telemetría y Línea Base debe haber pasado.
Racional: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa y Comandos del Ataque:
Un atacante ha obtenido una copia de un script de recolección de credenciales (.eba9ee1e4.sh) que intenta leer/etc/passwd, buscar claves SSH y realizar intentos de inicio de sesión de fuerza bruta contra una aplicación web objetivo. Para mantener el script en ejecución después de que termine la sesión SSH y para evitar el monitoreo interactivo, el atacante sube el script a/tmp/.eba9ee1e4.shy lo lanza connohup sh. Debido a que la regla de detección busca el comando de línea literalnohup sh /tmp/.eba9ee1e4.sh, esta ejecución exacta generará la telemetría esperada. -
Script de Prueba de Regresión:
#!/bin/bash # ------------------------------------------------------------- # Script de regresión para activar la regla Sigma: # detección de `nohup sh /tmp/.eba9ee1e4.sh` # ------------------------------------------------------------- # 1. Dejar caer el script con apariencia maliciosa (contenido inofensivo para pruebas) cat <<'EOF' > /tmp/.eba9ee1e4.sh #!/bin/bash echo "Recolección simulada de credenciales – sin actividad real" EOF chmod +x /tmp/.eba9ee1e4.sh # 2. Ejecutar el script con nohup en segundo plano (línea de comando exacta) nohup sh /tmp/.eba9ee1e4.sh >/dev/null 2>&1 & echo "Simulación lanzada – verificar SIEM para detección." -
Comandos de Limpieza:
# Terminar cualquier instancia en segundo plano remanente del script de prueba pkill -f "/tmp/.eba9ee1e4.sh" || true # Eliminar el script de prueba rm -f /tmp/.eba9ee1e4.sh echo "Limpieza completa."