AWS - CloudFront Enum

Підтримайте HackTricks

CloudFront

CloudFront - це мережа доставки контенту AWS, яка прискорює розподіл вашого статичного та динамічного контенту через свою всесвітню мережу крайових точок. Коли ви використовуєте запит контенту, який ви хостите через Amazon CloudFront, запит маршрутизується до найближчої крайової точки, що забезпечує найнижчу затримку для найкращої продуктивності. Коли ввімкнені журнали доступу CloudFront, ви можете записувати запит від кожного користувача, який запитує доступ до вашого веб-сайту та розподілу. Як і з журналами доступу S3, ці журнали також зберігаються в Amazon S3 для надійного та постійного зберігання. Немає оплати за ввімкнення журналювання само по собі, однак, оскільки журнали зберігаються в S3, вони будуть зберігатися за використане сховище S3.

Журнальні файли захоплюють дані протягом певного часу, і в залежності від кількості запитів, які надходять до Amazon CloudFront для цього розподілу, буде залежати від кількості журнальних файлів, які генеруються. Важливо знати, що ці журнальні файли не створюються або не записуються в S3. S3 - це просто місце, куди вони доставляються після того, як журнальний файл заповнений. Amazon CloudFront зберігає ці журнали до тих пір, поки вони не будуть готові для доставки в S3. Знову ж таки, в залежності від розміру цих журнальних файлів ця доставка може зайняти від однієї до 24 годин.

За замовчуванням журналювання cookie вимкнено, але ви можете його ввімкнути.

Функції

Ви можете створювати функції в CloudFront. Ці функції матимуть свою точку доступу в cloudfront, визначену та виконуватимуть зазначений код NodeJS. Цей код буде виконуватися всередині пісочниці на машині, що працює під управлінням AWS (вам знадобиться обхід пісочниці, щоб вдалося вийти на підкладений ОС).

Оскільки функції не виконуються в обліковому записі користувачів AWS, до них не приєднано жодної ролі IAM, тому зловживання цією функцією для прямого підвищення привілеїв неможливе.

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"

Неаутентифікований доступ

AWS - Cloudfront Unauthenticated Enum

Післяексплуатаційна фаза

AWS - CloudFront Post Exploitation
Підтримайте HackTricks

Last updated