AWS - S3 Post Exploitation
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
S3
Für weitere Informationen siehe:
AWS - S3, Athena & Glacier Enum
Sensitive Information
Manchmal wirst du in den Buckets lesbare, sensible Informationen finden können. Zum Beispiel terraform state secrets.
Pivoting
Verschiedene Plattformen könnten S3 zum Speichern sensibler Assets verwenden.
Zum Beispiel könnte airflow dort DAGs code ablegen, oder web pages könnten direkt von S3 ausgeliefert werden. Ein Angreifer mit Schreibberechtigungen könnte modify the code im Bucket verwenden, um auf andere Plattformen zu pivot, oder durch Änderung von JS-Dateien takeover accounts.
S3 Ransomware
In diesem Szenario erstellt der Angreifer einen KMS (Key Management Service) key in seinem eigenen AWS account oder in einem anderen kompromittierten Account. Anschließend macht er diesen key für jeden auf der Welt zugänglich, sodass jeder AWS-Benutzer, jede Rolle oder jedes Konto Objekte mit diesem Key verschlüsseln kann. Die Objekte können jedoch nicht entschlüsselt werden.
Der Angreifer identifiziert ein Ziel-S3-Bucket und erlangt Schreibzugriff darauf, indem er verschiedene Methoden anwendet. Das kann an einer schlecht konfigurierten, öffentlich zugänglichen Bucket liegen oder daran, dass der Angreifer Zugang zur AWS-Umgebung selbst erlangt hat. Typischerweise zielt der Angreifer auf Buckets mit sensiblen Daten ab, wie PII, PHI, Logs, Backups usw.
Um festzustellen, ob ein Bucket für Ransomware geeignet ist, überprüft der Angreifer dessen Konfiguration. Dazu gehört die Kontrolle, ob S3 Object Versioning aktiviert ist und ob multi-factor authentication delete (MFA delete) aktiviert ist. Wenn Object Versioning nicht aktiviert ist, kann der Angreifer fortfahren. Ist Object Versioning aktiviert, aber MFA delete deaktiviert, kann der Angreifer Object Versioning deaktivieren. Sind sowohl Object Versioning als auch MFA delete aktiviert, wird es deutlich schwieriger, dieses Bucket zu verschlüsseln.
Über die AWS API ersetzt der Angreifer jedes Objekt im Bucket durch eine mit seinem KMS-Schlüssel verschlüsselte Kopie. Dadurch werden die Daten im Bucket effektiv verschlüsselt und ohne den Key unzugänglich.
Um den Druck zu erhöhen, plant der Angreifer die Löschung des für den Angriff verwendeten KMS-Keys. Dadurch hat das Ziel ein 7-Tage-Fenster, um seine Daten wiederherzustellen, bevor der Key gelöscht wird und die Daten dauerhaft verloren sind.
Abschließend könnte der Angreifer eine finale Datei hochladen, üblicherweise namens “ransom-note.txt”, die Anweisungen enthält, wie das Ziel seine Dateien zurückbekommen soll. Diese Datei wird unverschlüsselt hochgeladen, um die Aufmerksamkeit des Ziels zu erregen und auf den Ransomware-Angriff hinzuweisen.
s3:RestoreObject
Ein Angreifer mit der Berechtigung s3:RestoreObject kann Objekte reaktivieren, die in Glacier oder Deep Archive archiviert sind, und sie vorübergehend zugänglich machen. Das ermöglicht die Wiederherstellung und Exfiltration historisch archivierter Daten (Backups, Snapshots, Logs, Zertifikate, alte Secrets), die normalerweise nicht erreichbar wären. Kombiniert der Angreifer diese Berechtigung mit Leserechten (z. B. s3:GetObject), kann er vollständige Kopien sensibler Daten erhalten.
aws s3api restore-object \
--bucket <BUCKET_NAME> \
--key <OBJECT_KEY> \
--restore-request '{
"Days": <NUMBER_OF_DAYS>,
"GlacierJobParameters": { "Tier": "Standard" }
}'
s3:Delete*
Ein Angreifer mit der s3:Delete*-Berechtigung kann Objekte, Versionen und komplette Buckets löschen, Backups stören und sofortigen sowie irreversiblen Datenverlust, Vernichtung von Beweismitteln und Kompromittierung von Backup- oder Wiederherstellungsartefakten verursachen.
# Delete an object from a bucket
aws s3api delete-object \
--bucket <BUCKET_NAME> \
--key <OBJECT_KEY>
# Delete a specific version
aws s3api delete-object \
--bucket <BUCKET_NAME> \
--key <OBJECT_KEY> \
--version-id <VERSION_ID>
# Delete a bucket
aws s3api delete-bucket \
--bucket <BUCKET_NAME>
Für weitere Informationen check the original research.
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud

