Campaña automatizada de robo de secretos
El ataque comienza con un escaneo automatizado en busca de aplicaciones Next.js vulnerables, que son comprometidas mediante React2Shell. Se coloca un script en el directorio temporal estándar que ejecuta una rutina de recolección de credenciales en múltiples fases. Según investigadores de Cisco Talos, los datos robados incluyen variables de entorno y secretos (claves de API, credenciales de bases de datos, tokens de GitHub/GitLab), claves SSH, credenciales en la nube (metadatos de AWS/GCP/Azure, credenciales IAM), tokens de Kubernetes, información de Docker/contenedores, historial de comandos y datos de proceso y ejecución.
Los datos sensibles se exfiltran en fragmentos, cada uno enviado mediante una solicitud HTTP por el puerto 8080 a un servidor de comando y control (C2) que ejecuta el componente NEXUS Listener. El atacante obtiene una vista detallada de los datos, incluyendo opciones de búsqueda, filtrado y estadísticas. Cisco Talos afirma: 'La aplicación contiene un listado de varias estadísticas, incluyendo el número de hosts comprometidos y el total de cada tipo de credencial extraída exitosamente de esos hosts. También muestra el tiempo de actividad de la propia aplicación. En este caso, el framework de explotación y recolección automatizada logró comprometer 766 hosts en un período de 24 horas.'
Recomendaciones de defensa
Los secretos robados permiten a los atacantes realizar apropiación de cuentas en la nube y acceder a bases de datos, sistemas de pago y otros servicios, abriendo también la puerta a ataques a la cadena de suministro. Las claves SSH podrían usarse para movimientos laterales. Cisco destaca que los datos comprometidos, incluyendo información personal identificable, exponen a las víctimas a consecuencias regulatorias por violaciones de leyes de privacidad. Los investigadores recomiendan aplicar las actualizaciones de seguridad para React2Shell, auditar la exposición de datos del lado del servidor y rotar todas las credenciales inmediatamente si se sospecha un compromiso. También se recomienda habilitar AWS IMDSv2, reemplazar las claves SSH reutilizadas, activar el escaneo de secretos, implementar protecciones WAF/RASP para Next.js y aplicar el principio de mínimo privilegio en contenedores y roles en la nube para limitar el impacto.