OpenShift - Fehlendes Service-Konto

Reading time: 1 minute

Fehlendes Service-Konto

Es kommt vor, dass ein Cluster mit einer vorkonfigurierten Vorlage bereitgestellt wird, die automatisch Rollen, RoleBindings und sogar SCC für ein Service-Konto festlegt, das noch nicht erstellt wurde. Dies kann zu einer Privilegieneskalation führen, wenn Sie diese erstellen können. In diesem Fall wären Sie in der Lage, das Token des neu erstellten SA und die zugehörige Rolle oder SCC zu erhalten. Dasselbe passiert, wenn das fehlende SA Teil eines fehlenden Projekts ist; in diesem Fall, wenn Sie das Projekt und dann das SA erstellen können, erhalten Sie die zugehörigen Rollen und SCC.

Im vorherigen Diagramm haben wir mehrere AbsentProject, was mehrere Projekte bedeutet, die in Rollenbindungen oder SCC erscheinen, aber noch nicht im Cluster erstellt wurden. In ähnlicher Weise haben wir auch ein AbsentServiceAccount.

Wenn wir ein Projekt und das fehlende SA darin erstellen können, wird das SA von der Rolle oder dem SCC erben, die auf das AbsentServiceAccount abzielten. Dies kann zu einer Privilegieneskalation führen.

Das folgende Beispiel zeigt ein fehlendes SA, dem node-exporter SCC gewährt wird:

Tools

Das folgende Tool kann verwendet werden, um dieses Problem zu enumerieren und allgemeiner ein OpenShift-Cluster zu grafisch darzustellen:

GitHub - maxDcb/OpenShiftGrapher: OpenShift Pentesting Tool for enumerating and graphing clusters in Neo4j