OpenShift - Missing Service Account
Last updated
Last updated
Sucede que el clúster se implementa con una plantilla preconfigurada que establece automáticamente Roles, RoleBindings e incluso SCC a una cuenta de servicio que aún no se ha creado. Esto puede llevar a una escalada de privilegios en el caso de que puedas crearlas. En este caso, podrías obtener el token de la SA recién creada y el rol o SCC asociado. El mismo caso ocurre cuando la SA faltante es parte de un proyecto faltante, en este caso, si puedes crear el proyecto y luego la SA, obtienes los Roles y SCC asociados.
En el gráfico anterior, tenemos varios AbsentProject, lo que significa múltiples proyectos que aparecen en Roles Bindings o SCC pero aún no se han creado en el clúster. Del mismo modo, también tenemos un AbsentServiceAccount.
Si podemos crear un proyecto y la SA faltante en él, la SA heredará el Rol o el SCC que apuntaban al AbsentServiceAccount. Lo que puede llevar a una escalada de privilegios.
El siguiente ejemplo muestra una SA faltante a la que se le otorga el SCC node-exporter:
La siguiente herramienta se puede utilizar para enumerar este problema y, en general, para graficar un clúster de OpenShift: