AWS - STS Privesc
STS
sts:AssumeRole
sts:AssumeRole
Jede Rolle wird mit einer Rollenvertrauensrichtlinie erstellt, die angibt, wer die erstellte Rolle annehmen kann. Wenn eine Rolle aus dem selben Konto sagt, dass ein Konto sie annehmen kann, bedeutet dies, dass das Konto auf die Rolle zugreifen kann (und potenziell Privilegien eskalieren kann).
Zum Beispiel zeigt die folgende Rollenvertrauensrichtlinie an, dass jeder sie annehmen kann, daher kann jeder Benutzer zu den Berechtigungen eskalieren, die mit dieser Rolle verbunden sind.
Du kannst eine Rolle nachahmen, die läuft:
Potenzielle Auswirkung: Privilege Escalation auf die Rolle.
Beachten Sie, dass in diesem Fall die Berechtigung sts:AssumeRole
in der Rolle angegeben sein muss, um missbraucht zu werden, und nicht in einer Richtlinie, die dem Angreifer gehört.
Mit einer Ausnahme muss das Angreiferkonto auch die Berechtigung sts:AssumeRole
über die Rolle verfügen, um eine Rolle aus einem anderen Konto anzunehmen.
sts:GetFederationToken
sts:GetFederationToken
Mit dieser Berechtigung ist es möglich, Anmeldeinformationen zu generieren, um sich als beliebiger Benutzer auszugeben:
Das ist, wie diese Berechtigung sicher erteilt werden kann, ohne Zugriff auf das Nachahmen anderer Benutzer zu gewähren:
sts:AssumeRoleWithSAML
sts:AssumeRoleWithSAML
Eine Vertrauensrichtlinie mit dieser Rolle gewährt Benutzern, die über SAML authentifiziert sind, Zugriff darauf, die Rolle zu übernehmen.
Ein Beispiel für eine Vertrauensrichtlinie mit dieser Berechtigung ist:
Um Anmeldeinformationen zu generieren, um die Rolle im Allgemeinen zu übernehmen, könnten Sie etwas Ähnliches verwenden:
Aber Anbieter könnten ihre eigenen Tools haben, um dies einfacher zu machen, wie onelogin-aws-assume-role:
Potenzielle Auswirkungen: Privilege Escalation auf die Rolle.
sts:AssumeRoleWithWebIdentity
sts:AssumeRoleWithWebIdentity
Diese Berechtigung gewährt die Erlaubnis, einen Satz temporärer Sicherheitsanmeldeinformationen für Benutzer zu erhalten, die in einer mobilen, Webanwendung, EKS... mit einem Web-Identitätsanbieter authentifiziert wurden. Hier erfahren Sie mehr.
Wenn beispielsweise ein EKS-Dienstkontos in der Lage sein sollte, eine IAM-Rolle zu übernehmen, wird es ein Token in /var/run/secrets/eks.amazonaws.com/serviceaccount/token
haben und kann die Rolle annehmen und Anmeldeinformationen erhalten, indem es etwas Ähnliches tut:
Föderationsmissbrauch
AWS - Federation AbuseLast updated