GCP - Generic Permissions Privesc

Support HackTricks

Generische interessante Berechtigungen

*.setIamPolicy

Wenn du einen Benutzer besitzt, der die setIamPolicy Berechtigung in einer Ressource hat, kannst du die Berechtigungen in dieser Ressource eskalieren, da du die IAM-Richtlinie dieser Ressource ändern und dir mehr Berechtigungen geben kannst. Diese Berechtigung kann auch ermöglichen, zu anderen Prinzipalen zu eskalieren, wenn die Ressource das Ausführen von Code erlaubt und iam.ServiceAccounts.actAs nicht erforderlich ist.

  • cloudfunctions.functions.setIamPolicy

  • Ändere die Richtlinie einer Cloud-Funktion, um dich selbst zu erlauben, sie aufzurufen.

Es gibt Dutzende von Ressourcentypen mit dieser Art von Berechtigung, du kannst alle von ihnen in https://cloud.google.com/iam/docs/permissions-reference finden, indem du nach setIamPolicy suchst.

*.create, *.update

Diese Berechtigungen können sehr nützlich sein, um zu versuchen, Berechtigungen in Ressourcen zu eskalieren, indem du eine neue erstellst oder eine bestehende aktualisierst. Diese Art von Berechtigungen ist besonders nützlich, wenn du auch die Berechtigung iam.serviceAccounts.actAs über ein Dienstkonto hast und die Ressource, über die du .create/.update hast, ein Dienstkonto anhängen kann.

*ServiceAccount*

Diese Berechtigung ermöglicht es dir normalerweise, auf ein Dienstkonto in einer Ressource zuzugreifen oder es zu ändern (z.B.: compute.instances.setServiceAccount). Dies könnte zu einem Privilegieneskalationsvektor führen, hängt jedoch von jedem Einzelfall ab.

Support HackTricks

Last updated