OpenShift - Missing Service Account
Last updated
Last updated
Accade che il cluster venga implementato con un modello preconfigurato che imposta automaticamente Ruoli, RoleBindings e persino SCC a un account del servizio che non è ancora stato creato. Ciò può portare a un'escalation dei privilegi nel caso in cui tu possa crearli. In questo caso, saresti in grado di ottenere il token del SA appena creato e il ruolo o SCC associato. Lo stesso caso si verifica quando il SA mancante fa parte di un progetto mancante, in questo caso se puoi creare il progetto e quindi il SA, ottieni i Ruoli e SCC associati.
Nel grafico precedente abbiamo ottenuto più AbsentProject, il che significa che ci sono più progetti che appaiono in Roles Bindings o SCC ma non sono ancora stati creati nel cluster. Allo stesso modo, abbiamo anche un AbsentServiceAccount.
Se possiamo creare un progetto e il SA mancante al suo interno, il SA erediterà il Ruolo o l'SCC che miravano all'AbsentServiceAccount. Ciò può portare a un'escalation dei privilegi.
L'esempio seguente mostra un SA mancante a cui è stato concesso il SCC node-exporter:
Il seguente strumento può essere utilizzato per enumerare questo problema e più in generale per creare un grafico di un cluster OpenShift: