AWS - IAM Privesc
IAM
Für weitere Informationen zu IAM siehe:
pageAWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
Ermöglicht das Erstellen einer neuen IAM-Richtlinienversion und umgeht die Notwendigkeit der Berechtigung iam:SetDefaultPolicyVersion
, indem der --set-as-default
-Flag verwendet wird. Dadurch können benutzerdefinierte Berechtigungen definiert werden.
Exploit-Befehl:
Auswirkung: Eskaliert direkt Berechtigungen, indem es jede Aktion auf jedem Ressourcen ermöglicht.
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
Ermöglicht das Ändern der Standardversion einer IAM-Richtlinie auf eine andere vorhandene Version und eskaliert möglicherweise Berechtigungen, wenn die neue Version mehr Berechtigungen hat.
Bash-Befehl:
Auswirkung: Indirekte Privilegieneskalation durch Aktivierung weiterer Berechtigungen.
iam:CreateAccessKey
iam:CreateAccessKey
Ermöglicht das Erstellen einer Zugriffsschlüssel-ID und eines geheimen Zugriffsschlüssels für einen anderen Benutzer, was zu potenzieller Privilegieneskalation führen kann.
Ausnutzung:
Auswirkung: Direkte Privilegieneskalation durch Übernahme der erweiterten Berechtigungen eines anderen Benutzers.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Erlaubt das Erstellen oder Aktualisieren eines Anmeldeprofils, einschließlich des Festlegens von Passwörtern für den AWS-Konsolen-Login, was zu direkter Privilegieneskalation führt.
Ausnutzung für die Erstellung:
Ausnutzung für Update:
Auswirkung: Direkte Privilegieneskalation durch Anmeldung als "beliebiger" Benutzer.
iam:UpdateAccessKey
iam:UpdateAccessKey
Ermöglicht das Aktivieren eines deaktivierten Zugriffsschlüssels, was potenziell zu unbefugtem Zugriff führen kann, wenn der Angreifer im Besitz des deaktivierten Schlüssels ist.
Ausnutzung:
Auswirkung: Direktes Privilegien-Eskalation durch Reaktivierung von Zugriffsschlüsseln.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Ermöglicht das Generieren oder Zurücksetzen von Anmeldeinformationen für bestimmte AWS-Dienste (z. B. CodeCommit, Amazon Keyspaces) und erbt die Berechtigungen des zugehörigen Benutzers.
Ausnutzung für die Erstellung:
Ausnutzung für Zurücksetzen:
Auswirkung: Direktes Privilegien-Eskalation innerhalb der Service-Berechtigungen des Benutzers.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Ermöglicht das Anhängen von Richtlinien an Benutzer oder Gruppen und eskaliert die Berechtigungen direkt durch Vererbung der Berechtigungen der angehängten Richtlinie.
Exploit für Benutzer:
Ausnutzung für Gruppe:
Auswirkung: Direkter Privilegienescalation zu allem, was die Richtlinie gewährt.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Erlaubt das Anhängen oder Hinzufügen von Richtlinien zu Rollen, Benutzern oder Gruppen und ermöglicht so eine direkte Privilegienerhöhung durch Gewährung zusätzlicher Berechtigungen.
Ausnutzung für Rolle:
Ausnutzung für Inline-Richtlinien:
Du kannst eine Richtlinie wie folgt verwenden:
Auswirkung: Direktes Privilegien-Eskalation durch Hinzufügen von Berechtigungen über Richtlinien.
iam:AddUserToGroup
iam:AddUserToGroup
Ermöglicht es, sich selbst einer IAM-Gruppe hinzuzufügen, um Privilegien zu eskalieren, indem man die Berechtigungen der Gruppe erbt.
Ausnutzung:
Auswirkung: Direktes Privilegien-Eskalation auf die Ebene der Berechtigungen der Gruppe.
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
Ermöglicht das Ändern des Annahme-Rollenrichtliniendokuments einer Rolle, was die Annahme der Rolle und ihrer zugehörigen Berechtigungen ermöglicht.
Ausnutzung:
Wo die Richtlinie wie folgt aussieht, die dem Benutzer die Berechtigung gibt, die Rolle anzunehmen:
Auswirkung: Direktes Privilegien-Eskalation durch Übernahme der Berechtigungen eines beliebigen Roles.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Ermöglicht das Hochladen eines SSH-Public Keys zur Authentifizierung bei CodeCommit und das Deaktivieren von MFA-Geräten, was zu potenzieller indirekter Privilegien-Eskalation führen kann.
Exploit für das Hochladen von SSH-Schlüsseln:
Ausnutzung zur Deaktivierung der MFA:
Auswirkung: Indirekte Privilegieneskalation durch Aktivierung des CodeCommit-Zugriffs oder Deaktivierung des MFA-Schutzes.
iam:ResyncMFADevice
iam:ResyncMFADevice
Ermöglicht die Neusynchronisierung eines MFA-Geräts, was potenziell zu einer indirekten Privilegieneskalation durch Manipulation des MFA-Schutzes führen kann.
Bash-Befehl:
Auswirkung: Indirekte Privilegieneskalation durch Hinzufügen oder Manipulieren von MFA-Geräten.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Mit diesen Berechtigungen können Sie die XML-Metadaten der SAML-Verbindung ändern. Anschließend könnten Sie die SAML-Föderation missbrauchen, um sich mit einer beliebigen Rolle anzumelden, der sie vertraut.
Beachten Sie, dass legitime Benutzer dies nicht können. Sie könnten jedoch das XML erhalten, es durch Ihr eigenes ersetzen, sich anmelden und die vorherigen Einstellungen wiederherstellen.
TODO: Ein Tool, das in der Lage ist, SAML-Metadaten zu generieren und sich mit einer spezifizierten Rolle anzumelden
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(Unsicher) Wenn ein Angreifer diese Berechtigungen hat, könnte er einen neuen Thumbprint hinzufügen, um sich mit allen Rollen anzumelden, die dem Anbieter vertrauen.
Referenzen
Last updated