AWS - CloudFront Enum

Wesprzyj HackTricks

CloudFront

CloudFront to sieć dostarczania treści AWS, która przyspiesza dystrybucję twojej statycznej i dynamicznej treści poprzez swoją światową sieć lokalizacji krawędziowych. Gdy żądasz treści, którą hostujesz za pośrednictwem Amazon CloudFront, żądanie jest kierowane do najbliższej lokalizacji krawędziowej, co zapewnia najniższe opóźnienie w dostarczaniu najlepszej wydajności. Gdy dzienniki dostępu CloudFront są włączone, można rejestrować żądania 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 za używanie miejsca w S3.

Pliki dziennika przechwytują dane przez określony czas, a w zależności od ilości żądań otrzymywanych przez Amazon CloudFront dla tej dystrybucji, zależy ilość plików dziennika generowanych. 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 to 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ć określony kod NodeJS. Ten kod będzie uruchamiany wewnątrz piaskownicy na maszynie działającej pod zarządzaniem maszyny AWS (będziesz potrzebować pominięcia piaskownicy, aby uciec do podstawowego systemu operacyjnego).

Ponieważ funkcje nie są uruchamiane w koncie AWS użytkowników, nie jest dołączona żadna rola IAM, więc nie ma możliwości bezpośredniego podniesienia uprawnień wykorzystując tę funkcję.

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

AWS - Cloudfront Unauthenticated Enum

Po eksploatacji

AWS - CloudFront Post Exploitation
Wesprzyj HackTricks

Last updated