Ir para o conteúdo principal
Pentest Cloud 15 abr. 2025 10 min de leitura

SSRF em ambientes cloud: exploração e impacto em AWS

Server-Side Request Forgery ganhou novo significado com a adoção de cloud. Uma SSRF em uma aplicação hospedada na AWS pode resultar em acesso a credenciais IAM temporárias e comprometimento de toda a conta. Este artigo explica como, e como se proteger.

Aviso: As técnicas descritas neste artigo são para fins educacionais e de segurança defensiva. Toda exploração deve ser realizada exclusivamente em ambientes de laboratório ou em testes autorizados por contrato.

O que é SSRF e por que cloud muda tudo

Server-Side Request Forgery (SSRF) é uma vulnerabilidade na qual um atacante consegue fazer com que o servidor da aplicação realize requisicoes HTTP para alvos arbitrários. Em ambientes tradicionais, o impacto ficava limitado ao acesso a servicos internos como bancos de dados, painéis administrativos e APIs de infraestrutura.

Em ambientes de cloud como AWS, Azure e GCP, esse cenário muda radicalmente. Todos esses provedores disponibilizam um servico de metadados de instância acessível via um endereço IP especial (169.254.169.254), que expõe informacoes da instância incluindo, em muitos casos, credenciais IAM temporárias com escopo amplo.

O caso mais famoso de SSRF em cloud foi o incidente da Capital One em 2019, onde um atacante explorou uma configuracão incorreta do AWS WAF combinada com SSRF para acessar credenciais IAM e exfiltrar dados de mais de 100 milhões de clientes.

O Instance Metadata Service (IMDS) da AWS

O AWS Instance Metadata Service (IMDS) é acessível em http://169.254.169.254/latest/meta-data/ a partir de qualquer instância EC2. Ele fornece informacoes como o ID da instância, tipo de instância, região, tags e, crucialmente, credenciais IAM temporárias associadas a roles atribuídas à instância.

# Acesso direto ao IMDS via SSRF
http://169.254.169.254/latest/meta-data/
http://169.254.169.254/latest/meta-data/iam/security-credentials/
http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE_NAME

O endpoint de credenciais retorna um objeto JSON com AccessKeyId, SecretAccessKey e Token. Com essas credenciais, um atacante pode interagir com a AWS API com os mesmos privilégios da role da instância.

Vetores comuns de SSRF em aplicações web

1. Funcionalidades de fetch de URL

Qualquer funcionalidade que aceite uma URL como input é candidata: preview de links, importacão de imagens via URL, webhooks, integracoes com servicos externos. O atacante substitui a URL legítima pelo endereço do IMDS.

2. Parâmetros de redirecionamento

Endpoints que realizam redirecionamentos HTTP baseados em input do usuario podem ser explorados se o servidor seguir redirecionamentos para IPs internos.

3. Processamento de arquivos XML com DTD externo

XXE (XML External Entity) é uma forma de SSRF que pode ser explorada em processadores XML vulneráveis, incluindo parsers que processam uploads de arquivos XML ou SVG.

IMDSv2: a mitigacão da AWS e suas limitacoes

A AWS lancou o IMDSv2 (Instance Metadata Service v2) como mitigacão direta contra SSRF. O IMDSv2 requer uma requisicao PUT para obter um token de sessao antes de acessar qualquer endpoint de metadados, quebrando ataques SSRF simples que usam apenas GET.

# IMDSv2: obter token (requer PUT)
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" \
  -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")

# Usar token nas requisicoes subsequentes
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/

Importante: IMDSv2 não é habilitado por padrão em instâncias mais antigas. Muitas organizacoes ainda operam instâncias com IMDSv1 habilitado. A configuracão http-tokens: required deve ser aplicada via Instance Metadata Options para forcar exclusivamente IMDSv2.

Mitigacoes na aplicação

Controle Implementacão Efetividade
Allowlist de domínios Validar que a URL pertence a domínios permitidos antes de fazer a requisicão Alta
Bloqueio de IPs privados Bloquear requisicoes para 169.254.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 Alta
Resolucão de DNS antes do bloqueio Resolver o hostname e verificar o IP antes de fazer a requisicão (evita DNS rebinding) Média
IMDSv2 obrigatorio Configurar http-tokens: required em todas as instâncias EC2 Alta
Principio do menor privilégio para roles IAM Limitar permissions das instance roles ao mínimo necessário Alta (limita impacto)

Sua infraestrutura cloud está exposta a SSRF?

O pentest cloud da First Security cobre SSRF, IMDS exploitation, misconfigurações IAM e todos os principais vetores de ataque em AWS, Azure e GCP.

Ver pentest cloud Solicitar orçamento