Die AWS-Konto-ID eines S3-Buckets finden
- 2021 stellte Ben Bridts eine originelle Methode vor, um die AWS-Konto-ID eines offengelegten S3-Buckets zu ermitteln.
- Dieser Artikel beschreibt Techniken, um die Konto-ID sowohl privater als auch öffentlicher S3-Buckets herauszufinden.
Vom S3-Bucket zur AWS-Konto-ID
- Anhand von Shell-Ausgaben wird eine Technik gezeigt, mit der sich die zuvor unbekannte AWS-Konto-ID eines Buckets namens
bucket-alpha ermitteln lässt.
Wie funktioniert diese Technik genau?
- Es wird analysiert, warum Bens Technik funktioniert, und drei Kernelemente werden kombiniert:
- die Fähigkeit, IAM-Richtlinien auf Anfragen anzuwenden
- die Fähigkeit, daraus abzuleiten, ob eine IAM-Richtlinie eine Anfrage erlaubt hat
- die Fähigkeit, Wildcard-Matching auf den Bedingungsschlüssel
s3:ResourceAccount anzuwenden
Die Lösung
- Es wurde eine Lösung gefunden, die einen VPC-Endpunkt für S3 nutzt und Unterschiede im Verhalten ausnutzt, wenn Anfragen in CloudTrail abgelehnt werden.
Schritt für Schritt
- Das schrittweise Vorgehen, wenn man die Konto-ID des Buckets
bucket-alpha ermitteln möchte:
- Region des Buckets bestimmen
- VPC und VPC-Endpunkt in derselben Region bereitstellen
- EC2-Instanz innerhalb der VPC starten und prüfen, dass sie den VPC-Endpunkt für S3 verwendet
- die VPC-Endpunkt-Richtlinie anpassen, um festzustellen, ob die Konto-ID des Ziel-Buckets mit „0“ beginnt
- eine Anfrage an den Ziel-Bucket senden
- prüfen, ob die Anfrage in CloudTrail erscheint
- abhängig vom Ergebnis die VPC-Endpunkt-Richtlinie anpassen, um weitere Informationen über die Konto-ID zu gewinnen
Das Ergebnis
- Es wurde ein Skript geschrieben, das diesen Prozess automatisiert und die Konto-ID eines Buckets zuverlässig ermitteln kann.
- Für jede Ziffer wird eine binäre Suche durchgeführt, um die Anzahl der nötigen Tests zu reduzieren.
Beschleunigung
- Die VPC-Endpunkt-Richtlinie wurde angepasst, um die Zeit zu verkürzen, bis sie wirksam wird und bis man in CloudTrail jeweils auf einzelne Ergebnisse warten muss.
- Dadurch konnte die Zeit zum Ermitteln der Konto-ID auf unter 10 Minuten verkürzt werden.
Anmerkungen
- Dieser Blogbeitrag wurde nach Rücksprache mit dem AWS-Sicherheitsteam veröffentlicht.
- Es gab eine interessante Diskussion darüber, ob AWS-Konto-IDs als sensible Informationen betrachtet werden sollten.
- Diese Technik könnte auch auf andere Services außer S3 anwendbar sein.
- Möglich ist sie, weil sich für
s3:ResourceAccount die Bedingung StringLike verwenden lässt.
- Es könnte hilfreich sein, wenn Ereignisse, die durch VPC-Endpunkt-Richtlinien abgelehnt werden, in CloudTrail protokolliert würden.
Danksagung
- Ben Bridts ursprüngliche Technik war die Inspiration für diese Arbeit.
- Vielen Dank an Chris Farris für Hilfe und Beratung.
Meinung von GN⁺
- Diese Technik kann für Sicherheitsprüfungen in Cloud-Umgebungen sehr nützlich sein und insbesondere helfen, die Eigentümerschaft von AWS-S3-Buckets zu verifizieren.
- Die Diskussion über die Sensibilität der dadurch gewonnenen Informationen spiegelt die fortlaufende Debatte über Datensicherheit und Privatsphäre zwischen Cloud-Anbietern und Nutzern wider.
- Ein anderes Tool mit ähnlicher Funktionalität ist AWSs eigener Service CloudTrail, der zum Protokollieren und Überwachen aller Aktivitäten in einer AWS-Umgebung verwendet wird.
- Vor dem Einsatz dieser Technik sollten Nutzer sicherstellen, dass sie mit den Richtlinien von AWS und den bewährten Sicherheitspraktiken übereinstimmt.
- Zu den Vorteilen zählen effiziente Sicherheitsprüfungen und die schnelle Verifikation von Dateneigentümerschaft, zugleich sollten aber auch Risiken wie mögliche Offenlegung sensibler Informationen berücksichtigt werden.
1 Kommentare
Hacker-News-Kommentare