AWS - KMS Persistence

Unterstütze HackTricks

KMS

Für weitere Informationen siehe:

AWS - KMS Enum

Zugriff über KMS-Richtlinien gewähren

Ein Angreifer könnte die Berechtigung kms:PutKeyPolicy verwenden, um Zugriff auf einen Schlüssel für einen Benutzer unter seiner Kontrolle oder sogar für ein externes Konto zu gewähren. Überprüfe die KMS Privesc-Seite für weitere Informationen.

Ewige Berechtigung

Grants sind eine weitere Möglichkeit, einem Principal bestimmte Berechtigungen über einen spezifischen Schlüssel zu gewähren. Es ist möglich, einen Grant zu vergeben, der es einem Benutzer erlaubt, Grants zu erstellen. Darüber hinaus kann ein Benutzer mehrere Grants (sogar identische) über denselben Schlüssel haben.

Daher ist es möglich, dass ein Benutzer 10 Grants mit allen Berechtigungen hat. Der Angreifer sollte dies ständig überwachen. Und wenn zu einem bestimmten Zeitpunkt 1 Grant entfernt wird, sollten weitere 10 generiert werden.

(Wir verwenden 10 und nicht 2, um erkennen zu können, dass ein Grant entfernt wurde, während der Benutzer weiterhin einige Grants hat.)

# To generate grants, generate 10 like this one
aws kms create-grant \
--key-id <key-id> \
--grantee-principal <user_arn> \
--operations "CreateGrant" "Decrypt"

# To monitor grants
aws kms list-grants --key-id <key-id>
Support HackTricks

Last updated