AWS - CloudFront Post Exploitation

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

CloudFront

Para mais informações, consulte:

AWS - CloudFront Enum

cloudfront:Delete*

Um atacante com a permissão cloudfront:Delete* pode excluir distribuições, políticas e outros objetos críticos de configuração da CDN — por exemplo distributions, cache/origin policies, key groups, origin access identities, functions/configs e recursos relacionados. Isso pode causar interrupção do serviço, perda de conteúdo e remoção de configurações ou artefatos forenses.

Para excluir uma distribution um atacante poderia usar:

bash
aws cloudfront delete-distribution \
--id <DISTRIBUTION_ID> \
--if-match <ETAG>

Man-in-the-Middle

This blog post propõe alguns cenários diferentes onde uma Lambda poderia ser adicionada (ou modificada se já estiver sendo usada) em uma comunicação através do CloudFront com o propósito de roubar informações do usuário (como o cookie de sessão) e modificar a resposta (injetando um script JS malicioso).

cenário 1: MitM onde o CloudFront está configurado para acessar algum HTML de um bucket

  • Criar a função maliciosa.
  • Associar ela à distribuição do CloudFront.
  • Defina o tipo de evento para "Viewer Response".

Ao acessar a resposta você poderia roubar o cookie dos usuários e injetar um JS malicioso.

cenário 2: MitM onde o CloudFront já está usando uma lambda function

  • Modificar o código da lambda function para roubar informações sensíveis

You can check the tf code to recreate this scenarios here.

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks