
S3-Kontosuche
Mit diesem Tool können Sie die Konto-ID finden, zu der ein S3-Bucket gehört.
Damit dies funktioniert, benötigen Sie mindestens eine der folgenden Berechtigungen:
s3:getObject).s3:ListBucket).Zusätzlich benötigen Sie eine Rolle, die Sie mit (einer) dieser Berechtigungen auf dem von Ihnen untersuchten Bucket übernehmen können.
Weitere Hintergrundinformationen finden Sie im Cloudar Blog
Dieses Paket ist auf PyPI verfügbar, Sie können zum Beispiel einen der folgenden Befehle verwenden (pipx wird empfohlen)
pipx install s3-account-search
pip install s3-account-search
# with a bucket
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket
# with an object
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext
# You can also leave out the s3://
s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket
# Or start from a specified source profile
s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket
Es gibt eine IAM-Richtlinienbedingung s3:ResourceAccount, die dazu gedacht ist, den Zugriff auf S3 in bestimmten (Gruppen von) Konten zu gewähren, aber auch Platzhalter unterstützt. Durch die Konstruktion der richtigen Muster und das Überprüfen, welche zu einem Deny oder Allow führen, können wir die Konto-ID bestimmen, indem wir sie Ziffer für Ziffer ermitteln.
0 beginnenden Konto existieren. Wenn der Zugriff erlaubt ist, wissen wir, dass die Konto-ID mit 0 beginnen muss. Wenn die Anfrage abgelehnt wird, versuchen wir es erneut mit 1 als erster Ziffer. Wir erhöhen weiter, bis die Anfrage erlaubt wird, und finden so die erste Ziffer.8 war, testen wir Konto-IDs, die mit 80, 81, 82 usw. beginnen.Wir verwenden Poetry, um dieses Projekt zu verwalten
poetry install auspoetry shell (Sie können auch poetry run $command verwenden)poetry publish --build auss3:ResourceAccount < 500000000000
"Condition": {
"StringLike": {"s3:ResourceAccount": [
"0*", "1*", "2*", "3*", "4*",
]},
},
In der Praxis sollte dieses Tool in den meisten Fällen schnell genug sein.