AWS - KMS Utrzymanie dostępu

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

KMS

Aby uzyskać więcej informacji, zobacz:

AWS - KMS Enum

Nadanie dostępu przez polityki KMS

Atakujący może użyć uprawnienia kms:PutKeyPolicy aby przyznać dostęp do klucza użytkownikowi pod swoją kontrolą lub nawet zewnętrznemu kontu. Sprawdź stronę KMS Privesc page aby uzyskać więcej informacji.

Eternal Grant

Grants są innym sposobem przyznawania principalowi uprawnień do konkretnego klucza. Możliwe jest nadanie grantu, który pozwala użytkownikowi tworzyć kolejne grants. Co więcej, użytkownik może mieć kilka grants (nawet identycznych) dla tego samego klucza.

W związku z tym użytkownik może mieć 10 grants ze wszystkimi uprawnieniami. Atakujący powinien to monitorować cały czas. Jeśli w pewnym momencie 1 grant zostanie usunięty, powinno zostać wygenerowanych kolejne 10.

(Używamy liczby 10, a nie 2, aby móc wykryć, że grant został usunięty, podczas gdy użytkownik nadal ma jakieś grants)

# 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>

Note

Grant może przyznać uprawnienia tylko z tej listy: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks