AWS - CloudFront Enum

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

CloudFront

CloudFront ist das Content Delivery Network von AWS, das die Verteilung Ihres statischen und dynamischen Inhalts über sein weltweites Netzwerk von Edge-Standorten beschleunigt. Wenn Sie eine Anfrage für Inhalte verwenden, die Sie über Amazon CloudFront hosten, wird die Anfrage an den nächstgelegenen Edge-Standort geleitet, der die geringste Latenz bietet, um die beste Leistung zu erzielen. Wenn CloudFront-Zugriffsprotokolle aktiviert sind, können Sie die Anfrage von jedem Benutzer aufzeichnen, der auf Ihre Website und Verteilung zugreift. Wie bei S3-Zugriffsprotokollen werden diese Protokolle auch auf Amazon S3 für eine dauerhafte und beständige Speicherung gespeichert. Es fallen keine Gebühren für die Aktivierung der Protokollierung an, jedoch werden die Protokolle aufgrund der Speicherung in S3 für den von S3 verwendeten Speicherplatz gespeichert.

Die Protokolldateien erfassen Daten über einen bestimmten Zeitraum, und je nach Anzahl der Anfragen, die von Amazon CloudFront für diese Verteilung empfangen werden, hängt die Anzahl der Protokolldateien ab, die generiert werden. Es ist wichtig zu wissen, dass diese Protokolldateien nicht auf S3 erstellt oder geschrieben werden. S3 ist einfach der Ort, an den sie geliefert werden, sobald die Protokolldatei voll ist. Amazon CloudFront behält diese Protokolle bei, bis sie bereit sind, an S3 geliefert zu werden. Je nach Größe dieser Protokolldateien kann diese Lieferung zwischen einer und 24 Stunden dauern.

Standardmäßig ist das Cookie-Logging deaktiviert, aber Sie können es aktivieren.

Funktionen

Sie können Funktionen in CloudFront erstellen. Diese Funktionen haben ihren Endpunkt in CloudFront definiert und führen einen deklarierten NodeJS-Code aus. Dieser Code wird in einer Sandbox auf einer von AWS verwalteten Maschine ausgeführt (Sie bräuchten einen Sandbox-Bypass, um aus dem zugrunde liegenden Betriebssystem zu entkommen).

Da die Funktionen nicht im AWS-Konto des Benutzers ausgeführt werden, ist kein IAM-Rolle angehängt, sodass kein direkter Privesc möglich ist, der diese Funktion missbraucht.

Enumeration

aws cloudfront list-distributions
aws cloudfront get-distribution --id <id> # Just get 1
aws cloudfront get-distribution-config --id <id>

aws cloudfront list-functions
aws cloudfront get-function --name TestFunction function_code.js

aws cloudfront list-distributions | jq ".DistributionList.Items[] | .Id, .Origins.Items[].Id, .Origins.Items[].DomainName, .AliasICPRecordals[].CNAME"

Nicht authentifizierter Zugriff

pageAWS - Cloudfront Unauthenticated Enum

Post-Exploitation

pageAWS - CloudFront Post Exploitation
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated