AWS - CloudFront Enum

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

CloudFront

CloudFront to sieć dostarczania treści AWS, która przyspiesza dystrybucję twojej statycznej i dynamicznej treści za pośrednictwem swojej globalnej sieci lokalizacji krawędziowych. Gdy używasz treści żądanej, którą hostujesz za pośrednictwem Amazon CloudFront, żądanie jest kierowane do najbliższej lokalizacji krawędziowej, która zapewnia najniższe opóźnienie dostawy dla uzyskania najlepszej wydajności. Gdy są włączone dzienniki dostępu CloudFront, można rejestrować żądanie od każdego użytkownika żądającego dostępu do twojej witryny i dystrybucji. Podobnie jak w przypadku dzienników dostępu S3, te dzienniki są również przechowywane w Amazon S3 dla trwałego i trwałego przechowywania. Nie ma opłat za włączenie samego rejestrowania, jednak ponieważ dzienniki są przechowywane w S3, zostaną przechowywane dla wykorzystanego przez S3 miejsca.

Pliki dziennika rejestrują dane przez określony czas, a w zależności od ilości żądań otrzymywanych przez Amazon CloudFront dla tej dystrybucji, zależy to od ilości plików dziennika, które są generowane. Ważne jest, aby wiedzieć, że te pliki dziennika nie są tworzone ani zapisywane w S3. S3 to po prostu miejsce, do którego są dostarczane, gdy plik dziennika jest pełny. Amazon CloudFront przechowuje te dzienniki do momentu, gdy są gotowe do dostarczenia do S3. Ponownie, w zależności od rozmiaru tych plików dziennika, dostarczenie może zająć od jednej do 24 godzin.

Domyślnie rejestrowanie plików cookie jest wyłączone, ale można je włączyć.

Funkcje

Możesz tworzyć funkcje w CloudFront. Te funkcje będą miały swoje zakończenie w cloudfront zdefiniowane i będą uruchamiać zadeklarowany kod NodeJS. Ten kod będzie uruchamiany wewnątrz piaskownicy na maszynie działającej pod zarządzaniem AWS (będzie wymagane obejście piaskownicy, aby udało się uciec do podstawowego systemu operacyjnego).

Ponieważ funkcje nie są uruchamiane w koncie AWS użytkowników, nie jest dołączana żadna rola IAM, więc nie ma możliwości bezpośredniego podniesienia uprawnień przy wykorzystaniu tej funkcji.

Wyliczanie

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"

Nieuwierzytelniony dostęp

pageAWS - Cloudfront Unauthenticated Enum

Po eksploatacji

pageAWS - CloudFront Post Exploitation
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated