AWS - ECR Enum

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

ECR

Podstawowe informacje

Amazon Elastic Container Registry (Amazon ECR) to zarządzana usługa rejestru obrazów kontenerów. Została zaprojektowana, aby zapewnić środowisko, w którym klienci mogą interagować ze swoimi obrazami kontenerów za pomocą znanych interfejsów. W szczególności wspierane jest użycie Docker CLI lub dowolnego preferowanego klienta, co umożliwia takie działania jak przesyłanie, pobieranie i zarządzanie obrazami kontenerów.

ECR składa się z 2 typów obiektów: Rejestrów i Repozytoriów.

Rejestry

Każde konto AWS ma 2 rejestry: Prywatne i Publiczne.

  1. Prywatne rejestry:
  • Prywatne domyślnie: Obrazy kontenerów przechowywane w prywatnym rejestrze Amazon ECR są dostępne tylko dla autoryzowanych użytkowników w Twoim koncie AWS lub dla tych, którym przyznano uprawnienia.
  • URI prywatnego repozytorium ma format <account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>
  • Kontrola dostępu: Możesz kontrolować dostęp do swoich prywatnych obrazów kontenerów za pomocą polityk IAM, a także możesz skonfigurować szczegółowe uprawnienia w oparciu o użytkowników lub role.
  • Integracja z usługami AWS: Prywatne rejestry Amazon ECR mogą być łatwo integrowane z innymi usługami AWS, takimi jak EKS, ECS…
  • Inne opcje prywatnych rejestrów:
  • Kolumna immutability tagu wskazuje jego status, jeśli immutability tagu jest włączona, zapobiegnie to przesyłaniu obrazów z istniejącymi tagami, które mogłyby nadpisać obrazy.
  • Kolumna Typ szyfrowania wymienia właściwości szyfrowania repozytorium, pokazuje domyślne typy szyfrowania, takie jak AES-256, lub ma włączone szyfrowania KMS.
  • Kolumna Pull through cache wskazuje jej status, jeśli status Pull through cache jest aktywny, będzie buforować repozytoria w zewnętrznym publicznym repozytorium do Twojego prywatnego repozytorium.
  • Specyficzne polityki IAM mogą być skonfigurowane w celu przyznania różnych uprawnień.
  • Konfiguracja skanowania pozwala na skanowanie pod kątem luk w zabezpieczeniach w obrazach przechowywanych w repozytorium.
  1. Publiczne rejestry:
  • Publiczny dostęp: Obrazy kontenerów przechowywane w publicznym rejestrze ECR są dostępne dla każdego w internecie bez uwierzytelnienia.
  • URI publicznego repozytorium jest jak public.ecr.aws/<random>/<name>. Chociaż część <random> może być zmieniana przez administratora na inny łatwiejszy do zapamiętania ciąg.

Repozytoria

To są obrazy, które znajdują się w prywatnym rejestrze lub w publicznym.

Note

Zauważ, że aby przesłać obraz do repozytorium, repozytorium ECR musi mieć tę samą nazwę co obraz.

Polityki rejestru i repozytorium

Rejestry i repozytoria mają również polityki, które mogą być używane do przyznawania uprawnień innym podmiotom/kontom. Na przykład, w poniższej polityce repozytorium możesz zobaczyć, jak każdy użytkownik z całej organizacji będzie mógł uzyskać dostęp do obrazu:

Enumeracja

# 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>

Unauthenticated Enum

AWS - ECR Unauthenticated Enum

Privesc

Na poniższej stronie możesz sprawdzić, jak nadużyć uprawnień ECR, aby eskalować uprawnienia:

AWS - ECR Privesc

Post Exploitation

AWS - ECR Post Exploitation

Persistence

AWS - ECR Persistence

References

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks