S3- und Speicher-Exposure
Öffentliche Buckets
S3- und Speicher-Exposure ist eine kostenlose Ethical Hacking Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ethical Hacking Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Storage-Buckets Daten preisgeben
Objekt-Storage wie AWS S3, Azure Blob und GCP Cloud Storage gehört zu den häufigsten Quellen von Cloud-Datenschutzverletzungen. Buckets lassen sich leicht erstellen und leicht falsch konfigurieren.
- Versehentlich für öffentlichen Lese- oder Schreibzugriff freigegeben
- Vorhersehbare Namen, die erraten werden können
- Zu weit gefasste Bucket-Richtlinien oder ACLs
Ein einzelner öffentlicher Bucket kann Millionen Datensätze offenlegen.
So funktioniert die S3-Namensgebung
S3-Bucket-Namen sind weltweit eindeutig und werden vorhersehbaren URLs zugeordnet. Genau diese Vorhersehbarkeit ermöglicht die Erfassung.
Jeder, der einen gültigen Bucket-Namen errät, kann dessen Zugriffsstufe prüfen.
# Two equivalent S3 URL forms
https://my-bucket.s3.amazonaws.com/
https://s3.amazonaws.com/my-bucket/
# Region-specific endpoint
https://my-bucket.s3.eu-west-1.amazonaws.com/Öffentliche Buckets erkennen
Der schnellste Test ist eine nicht authentifizierte Anfrage. Der HTTP-Statuscode zeigt den Zugriffszustand an.
- 200 mit einer XML-Auflistung — öffentlicher Listenzugriff
- 403 AccessDenied — der Bucket existiert, ist aber privat
- 404 NoSuchBucket — der Bucket existiert nicht
# Anonymous listing attempt
curl -s https://example-data.s3.amazonaws.com/
# Anonymous via the AWS CLI (no signing)
aws s3 ls s3://example-data --no-sign-requestBrute-Force von Bucket-Namen
Angreifer erzeugen aus dem Unternehmensnamen und gängigen Suffixen mögliche Namen und testen jeden einzelnen. Tools automatisieren dies in großem Maßstab.
Typische Muster: company-backups, company-dev, company-logs, company-assets.
# Permutate and probe bucket names from a keyword
cloud_enum -k example
# Dedicated S3 enumerator
s3scanner scan --bucket-file candidates.txtÖffentlicher Lesezugriff gegenüber öffentlichem Schreibzugriff
Öffentlicher Zugriff tritt in zwei Varianten auf, wobei Schreibzugriff weitaus gefährlicher ist als Lesezugriff.
- Öffentlicher Lesezugriff — Angreifer laden Ihre Daten herunter (Datenleck)
- Öffentlicher Schreibzugriff — Angreifer laden Objekte hoch oder überschreiben sie
Öffentlicher Schreibzugriff ermöglicht Defacement, das Hosten von Malware unter Ihrer Domain und sogar Supply-Chain-Angriffe, wenn der Bucket Website- oder Software-Assets bereitstellt.
# Test for public write (DANGEROUS - only with authorization)
aws s3 cp test.txt s3://example-data/ --no-sign-request
# If this succeeds, the bucket allows anonymous uploads.Irreführendes „Block Public Access“
AWS bietet Einstellungen für Block Public Access sowohl auf Konto- als auch auf Bucket-Ebene. Sie sind leistungsfähig, werden aber häufig missverstanden.
- Einstellungen auf Kontoebene haben Vorrang vor Bucket-Richtlinien
- Ein Bucket kann trotz einer freizügigen Richtlinie privat sein, wenn BPA aktiviert ist
- Umgekehrt kann das Deaktivieren von BPA plötzlich viele Buckets offenlegen
Prüfen Sie immer den tatsächlich wirksamen Zugriff und nicht nur eine einzelne Richtlinie.
# Inspect block-public-access configuration
aws s3api get-public-access-block --bucket example-data
aws s3api get-bucket-policy-status --bucket example-dataOffenlegung von Azure Blob
Azure speichert Objekte in Containern innerhalb von Storage-Konten. Durch eine Fehlkonfiguration wird die öffentliche Zugriffsstufe eines Containers auf blob oder container gesetzt.
Die Namen von Storage-Konten sind ebenfalls weltweit eindeutig und vorhersehbar.
# Azure blob URL pattern
https://exampleacct.blob.core.windows.net/container/file.txt
# Anonymous list attempt against a public container
curl -s 'https://exampleacct.blob.core.windows.net/backups?restype=container&comp=list'Offenlegung von GCP Cloud Storage
Buckets von Google Cloud Storage können öffentlich gemacht werden, indem dem Prinzipal allUsers oder allAuthenticatedUsers eine Leseberechtigung zugewiesen wird.
Das Muster der Offenlegung entspricht dem von S3: vorhersehbare Namen, anonyme Prüfungen und öffentliche IAM-Bindings.
# Anonymous list of a GCS bucket
curl -s https://storage.googleapis.com/example-bucket/
# Check IAM bindings for allUsers (authenticated)
gsutil iam get gs://example-bucketWonach Angreifer im Inneren suchen
Ein öffentlicher Bucket ist nur die Tür. Der eigentliche Gewinn befindet sich darin:
- Datenbank-Dumps und Backups
- Quellcode und
.env-Dateien mit Geheimnissen - Cloud-Zugangsdaten und API-Schlüssel
- Personenbezogene Daten von Kunden (PII)
- Interne Dokumente und Konfigurationen
Selbst eine kleine durchgesickerte Datei kann Schlüssel enthalten, die zu vollständigem Kontozugriff führen.
Behebung und Absicherung
Die Absicherung gegen die Offenlegung von Storage erfolgt in mehreren Schichten:
- Aktivieren Sie Block Public Access auf Kontoebene
- Entfernen Sie öffentliche ACLs sowie die Berechtigungen für
allUsers/allAuthenticatedUsers - Verwenden Sie Bucket-Richtlinien, die auf bestimmte Prinzipale beschränkt sind
- Aktivieren Sie Verschlüsselung und Zugriffsprotokollierung
- Führen Sie kontinuierliche Konfigurationsprüfungen durch, um neue öffentliche Buckets zu erkennen
Offengelegte Daten verantwortungsvoll behandeln
Die Entdeckung eines öffentlichen Buckets mit echten Daten ist ethisch und rechtlich besonders relevant.
- Laden Sie nicht mehr Daten herunter, als zum Nachweis der Offenlegung unbedingt erforderlich sind
- Exfiltrieren oder speichern Sie niemals personenbezogene Kundendaten
- Melden Sie den Fund unverzüglich und sicher
- Halten Sie sich an den Testumfang und die Regeln für die Durchführung des Auftrags
Ziel ist der Nachweis, dass Zugriff besteht, nicht das Sammeln der Daten.
Kurze Überprüfung
Eine anonyme Anfrage an die URL eines S3-Buckets gibt den HTTP-Fehler 403 AccessDenied zurück. Was bedeutet das?
Zusammenfassung: S3- und Storage-Offenlegung
Sie haben gelernt, wie Objekt-Storage Daten offenlegt und wie Sie dies sicher prüfen.
- Bucket-Namen sind weltweit eindeutig und vorhersehbar, was ihre Erfassung ermöglicht
- HTTP-Statuscodes zeigen den Zugriffszustand: 200 (öffentlich), 403 (privat), 404 (nicht vorhanden)
- Öffentlicher Schreibzugriff ist gefährlicher als öffentlicher Lesezugriff
- Dasselbe Muster gilt für Azure Blob und GCP Cloud Storage
- Beheben Sie das Problem mit Block Public Access und Richtlinien nach dem Least-Privilege-Prinzip
Als Nächstes: Metadatendienste und SSRF, eine cloudspezifische Angriffskette.
Häufig gestellte Fragen
Ist die Lektion „S3- und Speicher-Exposure“ kostenlos?
Ja — der vollständige Text von „S3- und Speicher-Exposure“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ethical Hacking Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ethical Hacking Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „S3- und Speicher-Exposure“?
Öffentliche Buckets Du übst Ethical Hacking Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ethical Hacking Academy zu starten?
Keine Vorkenntnisse erforderlich. Ethical Hacking Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „S3- und Speicher-Exposure“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ethical Hacking Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ethical Hacking Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Cloud-Angriffsfläche
- IAM-Fehlkonfigurationen
- S3- und Speicher-Exposure
- Metadaten und SSRF