AWS - ECR Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

ECR

Informations de base

Amazon Elastic Container Registry (Amazon ECR) est un service de registre d’images de conteneurs gĂ©rĂ©. Il est conçu pour fournir un environnement oĂč les clients peuvent interagir avec leurs images de conteneurs en utilisant des interfaces bien connues. Plus prĂ©cisĂ©ment, l’utilisation de l’interface en ligne de commande Docker ou de tout client prĂ©fĂ©rĂ© est prise en charge, permettant des activitĂ©s telles que le push, le pull et la gestion des images de conteneurs.

ECR est composĂ© de 2 types d’objets : Registres et DĂ©pĂŽts.

Registres

Chaque compte AWS a 2 registres : Privé & Public.

  1. Registres privés :
  • PrivĂ© par dĂ©faut : Les images de conteneurs stockĂ©es dans un registre privĂ© Amazon ECR sont uniquement accessibles aux utilisateurs autorisĂ©s au sein de votre compte AWS ou Ă  ceux Ă  qui des autorisations ont Ă©tĂ© accordĂ©es.
  • L’URI d’un dĂ©pĂŽt privĂ© suit le format <account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>
  • ContrĂŽle d’accĂšs : Vous pouvez contrĂŽler l’accĂšs Ă  vos images de conteneurs privĂ©es en utilisant des politiques IAM, et vous pouvez configurer des autorisations granulaires basĂ©es sur des utilisateurs ou des rĂŽles.
  • IntĂ©gration avec les services AWS : Les registres privĂ©s Amazon ECR peuvent ĂȘtre facilement intĂ©grĂ©s avec d’autres services AWS, tels que EKS, ECS

  • Autres options de registre privĂ© :
  • La colonne d’immuabilitĂ© des balises indique son statut, si l’immuabilitĂ© des balises est activĂ©e, elle empĂȘchera les pushs d’images avec des balises prĂ©existantes de remplacer les images.
  • La colonne Type de chiffrement indique les propriĂ©tĂ©s de chiffrement du dĂ©pĂŽt, elle montre les types de chiffrement par dĂ©faut tels que AES-256, ou a des chiffrages KMS activĂ©s.
  • La colonne Pull through cache indique son statut, si le statut Pull through cache est Actif, il mettra en cache les dĂ©pĂŽts dans un dĂ©pĂŽt public externe dans votre dĂ©pĂŽt privĂ©.
  • Des politiques IAM spĂ©cifiques peuvent ĂȘtre configurĂ©es pour accorder diffĂ©rentes permissions.
  • La configuration de scan permet de scanner les vulnĂ©rabilitĂ©s dans les images stockĂ©es Ă  l’intĂ©rieur du dĂ©pĂŽt.
  1. Registres publics :
  • AccessibilitĂ© publique : Les images de conteneurs stockĂ©es dans un registre public ECR sont accessibles Ă  quiconque sur Internet sans authentification.
  • L’URI d’un dĂ©pĂŽt public est comme public.ecr.aws/<random>/<name>. Bien que la partie <random> puisse ĂȘtre changĂ©e par l’administrateur en une autre chaĂźne plus facile Ă  retenir.

DépÎts

Ce sont les images qui se trouvent dans le registre privé ou dans le public.

Note

Notez que pour tĂ©lĂ©charger une image dans un dĂ©pĂŽt, le dĂ©pĂŽt ECR doit avoir le mĂȘme nom que l’image.

Politiques de registre et de dépÎt

Les registres et dĂ©pĂŽts ont Ă©galement des politiques qui peuvent ĂȘtre utilisĂ©es pour accorder des permissions Ă  d’autres principaux/comptes. Par exemple, dans l’image de politique de dĂ©pĂŽt suivante, vous pouvez voir comment tout utilisateur de l’ensemble de l’organisation pourra accĂ©der Ă  l’image :

ÉnumĂ©ration

# Get repos
aws ecr describe-repositories
aws ecr describe-registry

# Get image metadata
aws ecr list-images --repository-name <repo_name>
aws ecr describe-images --repository-name <repo_name>
aws ecr describe-image-replication-status --repository-name <repo_name> --image-id <image_id>
aws ecr describe-image-scan-findings --repository-name <repo_name> --image-id <image_id>
aws ecr describe-pull-through-cache-rules --repository-name <repo_name> --image-id <image_id>

# Get public repositories
aws ecr-public describe-repositories

# Get policies
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>

Enum non authentifié

AWS - ECR Unauthenticated Enum

Privesc

Dans la page suivante, vous pouvez vérifier comment abuser des permissions ECR pour escalader les privilÚges :

AWS - ECR Privesc

Post Exploitation

AWS - ECR Post Exploitation

Persistance

AWS - ECR Persistence

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks