AWS - CloudFront Enum

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

CloudFront

O CloudFront é a rede de entrega de conteúdo da AWS que acelera a distribuição do seu conteúdo estático e dinâmico por meio de sua rede mundial de locais de borda. Quando você solicita conteúdo que está hospedado por meio do Amazon CloudFront, a solicitação é roteada para o local de borda mais próximo, que fornece a menor latência para oferecer o melhor desempenho. Quando os logs de acesso do CloudFront estão habilitados, você pode registrar a solicitação de cada usuário que solicita acesso ao seu site e distribuição. Assim como os logs de acesso do S3, esses logs também são armazenados no Amazon S3 para armazenamento durável e persistente. Não há cobranças para habilitar o registro em si, no entanto, como os logs são armazenados no S3, você será cobrado pelo armazenamento usado pelo S3.

Os arquivos de log capturam dados ao longo do tempo e, dependendo da quantidade de solicitações recebidas pelo Amazon CloudFront para essa distribuição, dependerá da quantidade de arquivos de log gerados. É importante saber que esses arquivos de log não são criados ou gravados no S3. O S3 é simplesmente para onde eles são entregues assim que o arquivo de log estiver cheio. O Amazon CloudFront retém esses logs até que estejam prontos para serem entregues ao S3. Novamente, dependendo do tamanho desses arquivos de log, essa entrega pode levar entre uma e 24 horas.

Por padrão, o registro de cookies está desativado mas você pode ativá-lo.

Funções

Você pode criar funções no CloudFront. Essas funções terão seu endpoint no cloudfront definido e executarão um código NodeJS declarado. Este código será executado dentro de um sandbox em uma máquina executada em uma máquina gerenciada pela AWS (você precisaria de uma bypass de sandbox para conseguir escapar para o sistema operacional subjacente).

Como as funções não são executadas na conta AWS dos usuários, nenhum papel IAM está anexado, portanto, não é possível abusar dessa função para obter privilégios diretos.

Enumeração

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"

Acesso não autenticado

pageAWS - Cloudfront Unauthenticated Enum

Pós exploração

pageAWS - CloudFront Post Exploitation
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización