AWS - ECR Enum
Reading time: 5 minutes
AWS - ECR Enum
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
ECR
Informazioni di base
Amazon Elastic Container Registry (Amazon ECR) è un servizio di registrazione di immagini di container gestito. È progettato per fornire un ambiente in cui i clienti possono interagire con le loro immagini di container utilizzando interfacce ben note. In particolare, è supportato l'uso del Docker CLI o di qualsiasi client preferito, consentendo attività come il caricamento, il download e la gestione delle immagini di container.
ECR è composto da 2 tipi di oggetti: Registries e Repositories.
Registries
Ogni account AWS ha 2 registri: Privati e Pubblici.
- Registri Privati:
- Privati per impostazione predefinita: Le immagini di container memorizzate in un registro privato Amazon ECR sono accessibili solo agli utenti autorizzati all'interno del tuo account AWS o a coloro a cui è stata concessa l'autorizzazione.
- L'URI di un repository privato segue il formato
<account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>
- Controllo accessi: Puoi controllare l'accesso alle tue immagini di container private utilizzando politiche IAM, e puoi configurare permessi dettagliati basati su utenti o ruoli.
- Integrazione con i servizi AWS: I registri privati Amazon ECR possono essere facilmente integrati con altri servizi AWS, come EKS, ECS...
- Altre opzioni per i registri privati:
- La colonna dell'immutabilità dei tag elenca il suo stato, se l'immutabilità dei tag è abilitata, prevenirà i push di immagini con tag preesistenti di sovrascrivere le immagini.
- La colonna del tipo di crittografia elenca le proprietà di crittografia del repository, mostra i tipi di crittografia predefiniti come AES-256, o ha crittografie abilitate KMS.
- La colonna del Pull through cache elenca il suo stato, se lo stato del Pull through cache è Attivo, memorizzerà nella cache repository in un repository pubblico esterno nel tuo repository privato.
- Politiche IAM specifiche possono essere configurate per concedere diverse autorizzazioni.
- La configurazione della scansione consente di cercare vulnerabilità nelle immagini memorizzate all'interno del repository.
- Registri Pubblici:
- Accessibilità pubblica: Le immagini di container memorizzate in un registro pubblico ECR sono accessibili a chiunque su Internet senza autenticazione.
- L'URI di un repository pubblico è simile a
public.ecr.aws/<random>/<name>
. Anche se la parte<random>
può essere cambiata dall'amministratore in un'altra stringa più facile da ricordare.
Repositories
Queste sono le immagini che si trovano nel registro privato o in quello pubblico.
note
Nota che per caricare un'immagine in un repository, il repository ECR deve avere lo stesso nome dell'immagine.
Politiche di Registry & Repository
Registries e repositories hanno anche politiche che possono essere utilizzate per concedere autorizzazioni ad altri principi/account. Ad esempio, nella seguente immagine della politica del repository puoi vedere come qualsiasi utente dell'intera organizzazione sarà in grado di accedere all'immagine:
.png)
Enumerazione
# 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 autenticato
AWS - ECR Unauthenticated Enum
Privesc
Nella pagina seguente puoi controllare come abusare dei permessi ECR per escalare i privilegi:
Post Exploitation
Persistenza
Riferimenti
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.