Introducción
El 27 de octubre, un ingeniero de SonarSource descubrió que un cambio realizado en 2018 en el código del sistema de integración continua GoCD eliminó por completo la lógica de autenticación para las solicitudes entrantes destinadas al directorio de addons del servicio. También parece que varios addons, que están instalados y habilitados por defecto, tenían algunos errores propios. Combinado con la lógica de autenticación eliminada, podría permitir a un atacante llevar a cabo una ejecución remota de código (RCE) con poca o ninguna habilidad.
¿Cuál es el problema?
Censys descubrió que 458 hosts ejecutaban 592 servicios GoCD orientados a Internet mediante esta sencilla búsqueda en Censys . A continuación se muestra un desglose de las versiones de GoCD que Censys pudo encontrar ejecutándose en la Internet pública. Las versiones vulnerables están marcadas en rojo.
Estos tipos de sistemas se utilizan en ingeniería de software para supervisar y crear y probar automáticamente el software. Estos sistemas compilan, prueban, ejecutan y, en algunos casos, despliegan software para su uso en producción. Debido a esto, el software de servidor que ejecuta estas tuberías también tiene acceso completo al código de una empresa y a los entornos de desarrollo, donde un mal actor podría empezar a introducir código malicioso en el ciclo de construcción. Este método de ataque se conoce a menudo como "ataque a la cadena de suministro", en el que los atacantes atacan sistemas automatizados críticos para el funcionamiento de una empresa; no hay nada más peligroso que un eslabón débil de esa cadena tenga acceso a nivel de fuente (y la capacidad de manipular una compilación) a un código base.
¿Qué importancia tiene?
Muchos componentes críticos de una organización dependen de los procesos de creación de los equipos de desarrollo de software. Las debilidades en estas áreas pueden dar lugar a un efecto dominó de dispositivos y servicios comprometidos donde cualquier componente construido en un sistema de CI podría potencialmente ser infectado con código malicioso.
Dado que el ataque descrito por SonarSource es excepcionalmente trivial de ejecutar, los administradores deberían actualizar inmediatamente las instalaciones de este servicio. Actualmente, se conocen tres rutas explotables, todas ellas procedentes de un complemento llamado "Business Continuity":
Ruta |
Descripción |
/add-on/business-continuity/api/plugin |
Tiene un argumento controlable por el usuario llamado "pluginName", que no sanea correctamente la entrada, permitiendo a un atacante leer cualquier fichero del sistema. (Captura de pantalla del ataque anterior). |
/add-on/business-continuity/api/cruise_config |
Permitirá a un atacante recuperar el archivo de configuración completo para el servicio GoCD, incluyendo cualquier variable de entorno asociada utilizada durante el arranque. Uno de los elementos de configuración más peligrosos que un atacante puede encontrar dentro de este archivo es el `agentAutoRegisterKey`, que se utiliza para poner en escena nuevos agentes de construcción GoCD (potencialmente inyectar elementos maliciosos en la construcción final) sin ningún tipo de autenticación. |
/add-on/business-continuity/api/cipher.aes |
Permitirá al atacante descargar la clave de cifrado privada utilizada para cifrar datos confidenciales en el host (como tokens de acceso y contraseñas devueltas desde el endpoint cruise_config). |
¿Qué hago al respecto?
- Actualización a la versión 21.3.0 de GoCD
- Censys Los clientes de ASM han sido notificados por correo electrónico si algún activo de su propiedad ha sido identificado como vulnerable. Los usuarios ya pueden encontrar un riesgo de ASM para este ataque en el panel principal.
- Utilice Censys Search para comprobar si alguno de sus hosts está ejecutando una versión vulnerable del servicio.