AWS - IAM Privesc
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu IAM siehe:
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
Ermöglicht das Erstellen einer neuen IAM-Policy-Version, wobei die Notwendigkeit der Berechtigung iam:SetDefaultPolicyVersion
durch die Verwendung des Flags --set-as-default
umgangen wird. Dies ermöglicht die Definition benutzerdefinierter Berechtigungen.
Exploit-Befehl:
Auswirkungen: Eskaliert direkt die Berechtigungen, indem jede Aktion auf jede Ressource erlaubt wird.
iam:SetDefaultPolicyVersion
Erlaubt das Ändern der Standardversion einer IAM-Richtlinie in eine andere vorhandene Version, was potenziell die Berechtigungen eskalieren kann, wenn die neue Version mehr Berechtigungen hat.
Bash-Befehl:
Auswirkungen: Indirekte Privilegieneskalation durch Aktivierung zusätzlicher Berechtigungen.
iam:CreateAccessKey
Ermöglicht das Erstellen einer Zugriffs-Schlüssel-ID und eines geheimen Zugriffs-Schlüssels für einen anderen Benutzer, was zu einer potenziellen Privilegieneskalation führen kann.
Ausnutzen:
Auswirkungen: Direkte Privilegieneskalation durch Übernahme der erweiterten Berechtigungen eines anderen Benutzers.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Erlaubt das Erstellen oder Aktualisieren eines Anmeldeprofils, einschließlich der Festlegung von Passwörtern für die AWS-Konsole, was zu einer direkten Privilegieneskalation führt.
Ausnutzung zur Erstellung:
Exploit für Update:
Auswirkungen: Direkte Privilegieneskalation durch das Einloggen als "irgendein" Benutzer.
iam:UpdateAccessKey
Erlaubt das Aktivieren eines deaktivierten Zugriffsschlüssels, was zu unbefugtem Zugriff führen kann, wenn der Angreifer den deaktivierten Schlüssel besitzt.
Ausnutzen:
Auswirkungen: Direkte Privilegieneskalation durch Reaktivierung von Zugriffsschlüsseln.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Ermöglicht das Erstellen oder Zurücksetzen von Anmeldeinformationen für spezifische AWS-Dienste (z. B. CodeCommit, Amazon Keyspaces), wobei die Berechtigungen des zugehörigen Benutzers geerbt werden.
Ausnutzung zur Erstellung:
Ausnutzung für Zurücksetzen:
Auswirkung: Direkte Privilegieneskalation innerhalb der Dienstberechtigungen des Benutzers.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Erlaubt das Anhängen von Richtlinien an Benutzer oder Gruppen, wodurch Privilegien direkt durch das Erben der Berechtigungen der angehängten Richtlinie eskaliert werden.
Ausnutzung für Benutzer:
Ausnutzung für Gruppe:
Auswirkung: Direkte Privilegieneskalation auf alles, was die Richtlinie gewährt.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Erlaubt das Anhängen oder Setzen von Richtlinien an Rollen, Benutzer oder Gruppen, wodurch eine direkte Privilegieneskalation durch Gewährung zusätzlicher Berechtigungen ermöglicht wird.
Ausnutzung für Rolle:
Ausnutzung von Inline-Richtlinien:
Sie können eine Richtlinie wie folgt verwenden:
Auswirkungen: Direkte Privilegieneskalation durch das Hinzufügen von Berechtigungen über Richtlinien.
iam:AddUserToGroup
Ermöglicht es, sich selbst zu einer IAM-Gruppe hinzuzufügen und Privilegien durch das Erben der Berechtigungen der Gruppe zu eskalieren.
Ausnutzen:
Auswirkung: Direkte Privilegieneskalation auf das Niveau der Berechtigungen der Gruppe.
iam:UpdateAssumeRolePolicy
Erlaubt das Ändern des Dokuments der Annahme-Rollenrichtlinie einer Rolle, wodurch die Annahme der Rolle und ihrer zugehörigen Berechtigungen ermöglicht wird.
Ausnutzen:
Wo die Richtlinie wie folgt aussieht, die dem Benutzer die Berechtigung gibt, die Rolle zu übernehmen:
Auswirkungen: Direkte Privilegieneskalation durch Übernahme der Berechtigungen einer beliebigen Rolle.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Erlaubt das Hochladen eines SSH-Öffentlichen Schlüssels zur Authentifizierung bei CodeCommit und das Deaktivieren von MFA-Geräten, was zu einer potenziellen indirekten Privilegieneskalation führen kann.
Ausnutzung für das Hochladen des SSH-Schlüssels:
Exploit für MFA-Deaktivierung:
Auswirkungen: Indirekte Privilegieneskalation durch Aktivierung des Zugriffs auf CodeCommit oder Deaktivierung des MFA-Schutzes.
iam:ResyncMFADevice
Ermöglicht die Resynchronisierung eines MFA-Geräts, was potenziell zu einer indirekten Privilegieneskalation durch Manipulation des MFA-Schutzes führen kann.
Bash-Befehl:
Auswirkungen: Indirekte Privilegieneskalation durch Hinzufügen oder Manipulieren von MFA-Geräten.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Mit diesen Berechtigungen können Sie die XML-Metadaten der SAML-Verbindung ändern. Dann könnten Sie die SAML-Föderation missbrauchen, um sich mit irgendeiner Rolle, die ihr vertraut, einzuloggen.
Beachten Sie, dass legitime Benutzer sich dabei nicht einloggen können. Sie könnten jedoch die XML erhalten, sodass Sie Ihre einfügen, sich einloggen und die vorherige Konfiguration zurücksetzen können.
TODO: Ein Tool, das in der Lage ist, die SAML-Metadaten zu generieren und sich mit einer angegebenen Rolle anzumelden
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(Unklar darüber) Wenn ein Angreifer diese Berechtigungen hat, könnte er einen neuen Thumbprint hinzufügen, um sich in allen Rollen anzumelden, die dem Anbieter vertrauen.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)