AWS S3 Bucket
Einführung
Amazon S3 (Simple Storage Service) ist ein beliebter Cloud-basierter Speicher-Service, der zur Speicherung von Objekten wie Dateien und Verzeichnissen verwendet wird. S3 Buckets werden häufig für Backup, Media Hosting, Software Delivery und statische Webseiten genutzt. Fehlkonfigurationen wie öffentliche Zugriffsrechte oder fehlende Authentifizierung können jedoch gravierende Sicherheitsprobleme verursachen.
Dieser Beitrag konzentriert sich auf die Sicherheitsanalyse und mögliche Ausnutzung von S3 Buckets.
Was ist ein S3 Bucket?
Buckets: Container, die Dateien (Objekte) speichern.
Objekte: Dateien, die mit Metadaten und einem eindeutigen Schlüssel versehen sind.
Endpoints: URL oder Subdomain, die Zugriff auf einen Bucket erlaubt (z. B.
http://bucket-name.s3.amazonaws.com).Berechtigungen: Zugriffskontrolle durch Bucket-ACLs oder IAM-Rollen.
Typische Schwachstellen in S3 Buckets
Öffentlicher Zugriff:
Schreib- oder Lesezugriff ohne Authentifizierung.
Ermöglicht das Lesen sensibler Daten oder das Hochladen von Schadcode.
Fehlende Verschlüsselung:
Daten sind im Transit oder im Ruhezustand nicht verschlüsselt.
Fehlende Authentifizierung:
Keine IAM-Policies, die den Zugriff einschränken.
Zulassen von anonymen AWS CLI-Operationen.
Fehlkonfiguration von CORS (Cross-Origin Resource Sharing):
Erlaubt Zugriff von nicht vertrauenswürdigen Domains.
AWS CLI: Interaktion mit S3 Buckets
Das AWS CLI-Tool ermöglicht die Interaktion mit S3 Buckets über die Kommandozeile. Hier sind grundlegende Befehle und ihre Verwendung:
AWS CLI installieren und konfigurieren
Bei der Konfiguration können zufällige Werte eingegeben werden, falls keine Authentifizierung erforderlich ist.
S3 Buckets auflisten
Zweck: Zeigt eine Liste der Buckets im angegebenen Endpoint.
Beispiel-Ausgabe:
Objekte in einem Bucket auflisten
Zweck: Listet Objekte im angegebenen Bucket auf.
Beispiel-Ausgabe:
Dateien in einen Bucket hochladen
Zweck: Kopiert lokale Dateien in den Bucket.
Beispiel: Hochladen einer PHP-Shell:
Dateien aus einem Bucket herunterladen
Zweck: Kopiert Dateien aus dem Bucket auf das lokale System.
Angriffsszenario: PHP Reverse Shell Upload
Reverse Shell erstellen:
Upload in den Bucket:
Shell ausführen: Besuchen Sie die hochgeladene Datei im Browser und führe Befehle aus
oder lade eine Reverseshell hoch
Listener vorbereiten:
Bash-Shell herunterladen und ausführen:
Sicherheitsmaßnahmen gegen S3-Exploitation
Öffentlichen Zugriff deaktivieren:
Verwenden Sie den S3 Block Public Access:
IAM-Policies überprüfen:
Stellen Sie sicher, dass keine anonymen Nutzer Zugriff haben.
Datenverschlüsselung aktivieren:
Aktivieren Sie serverseitige Verschlüsselung:
CORS-Fehlkonfiguration vermeiden:
Verwenden Sie restriktive CORS-Regeln:
Zusammenfassung
Amazon S3 ist ein leistungsstarkes Werkzeug, das jedoch bei Fehlkonfigurationen erhebliche Sicherheitsrisiken birgt. Durch die Überprüfung der Zugriffsrechte, Verschlüsselung und CORS-Einstellungen kann die Sicherheit verbessert werden. Die Nutzung von AWS CLI ermöglicht eine präzise Analyse und Interaktion, die sowohl für legitime Zwecke als auch für Penetrationstests hilfreich ist.
Last updated