0Pricing
Ethical Hacking Academy · Aula

Exposição de S3 e armazenamento

Buckets públicos

Exposição de S3 e armazenamento é uma aula grátis de Ethical Hacking Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ethical Hacking Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ethical Hacking Academy inclui 4 aulas no total.

Por que os contêineres de armazenamento vazam dados

O armazenamento de objetos, como o AWS S3, o Blob do Azure e o Armazenamento na nuvem do GCP, é uma das fontes mais comuns de vazamentos de dados na nuvem. É fácil criar contêineres e também configurá-los incorretamente.

  • Definidos acidentalmente para leitura ou escrita públicas
  • Nomes previsíveis que podem ser adivinhados
  • Políticas de contêiner ou ACLs amplas demais

Um único contêiner público pode vazar milhões de registros.

Como funciona a nomeação do S3

Os nomes dos contêineres do S3 são globalmente exclusivos e correspondem a URLs previsíveis. É justamente essa previsibilidade que possibilita a enumeração.

Qualquer pessoa que adivinhe um nome válido de contêiner pode verificar seu nível de acesso.

# Two equivalent S3 URL forms
https://my-bucket.s3.amazonaws.com/
https://s3.amazonaws.com/my-bucket/

# Region-specific endpoint
https://my-bucket.s3.eu-west-1.amazonaws.com/

Detectando contêineres públicos

O teste mais rápido é uma solicitação não autenticada. O código de status HTTP informa o estado do acesso.

  • 200 com uma listagem XML — acesso público à listagem
  • 403 AccessDenied — o contêiner existe, mas é privado
  • 404 NoSuchBucket — não existe
# Anonymous listing attempt
curl -s https://example-data.s3.amazonaws.com/

# Anonymous via the AWS CLI (no signing)
aws s3 ls s3://example-data --no-sign-request

Tentativa exaustiva de nomes de contêineres

Os invasores geram nomes candidatos a partir do nome da empresa e de sufixos comuns e testam cada um. As ferramentas automatizam isso em grande escala.

Padrões típicos: company-backups, company-dev, company-logs, company-assets.

# Permutate and probe bucket names from a keyword
cloud_enum -k example

# Dedicated S3 enumerator
s3scanner scan --bucket-file candidates.txt

Leitura pública versus escrita pública

O acesso público ocorre de duas formas, e a escrita é muito pior do que a leitura.

  • Leitura pública — os invasores baixam seus dados (vazamento de dados)
  • Escrita pública — os invasores enviam ou substituem objetos

A escrita pública permite desfiguração, hospedagem de código malicioso em seu domínio e até ataques à cadeia de suprimentos se o contêiner fornecer recursos de sites ou softwares.

# Test for public write (DANGEROUS - only with authorization)
aws s3 cp test.txt s3://example-data/ --no-sign-request

# If this succeeds, the bucket allows anonymous uploads.

O enganoso “Bloqueio de acesso público”

A AWS oferece configurações de Bloqueio de acesso público tanto no nível da conta quanto no nível do contêiner. Elas são poderosas, mas frequentemente mal compreendidas.

  • As configurações no nível da conta substituem as políticas do contêiner
  • Um contêiner pode ser privado mesmo com uma política permissiva se o BPA estiver ativado
  • Por outro lado, desativar o BPA pode expor repentinamente muitos contêineres

Sempre verifique o acesso efetivo, não apenas uma política.

# Inspect block-public-access configuration
aws s3api get-public-access-block --bucket example-data
aws s3api get-bucket-policy-status --bucket example-data

Exposição de objetos Blob do Azure

O Azure armazena objetos em contêineres dentro de contas de armazenamento. Uma configuração incorreta define o nível de acesso público de um contêiner como blob ou container.

Os nomes das contas de armazenamento também são globalmente exclusivos e previsíveis.

# Azure blob URL pattern
https://exampleacct.blob.core.windows.net/container/file.txt

# Anonymous list attempt against a public container
curl -s 'https://exampleacct.blob.core.windows.net/backups?restype=container&comp=list'

Exposição do armazenamento na nuvem do GCP

Os contêineres do Armazenamento na nuvem do Google podem tornar-se públicos ao conceder ao principal allUsers ou allAuthenticatedUsers uma função de leitura.

O padrão de exposição é semelhante ao do S3: nomes previsíveis, sondagem anônima e vinculações públicas do IAM.

# Anonymous list of a GCS bucket
curl -s https://storage.googleapis.com/example-bucket/

# Check IAM bindings for allUsers (authenticated)
gsutil iam get gs://example-bucket

O que os invasores procuram dentro

Um contêiner público é apenas a porta. O verdadeiro prêmio está no que há dentro dele:

  • Despejos de bancos de dados e cópias de segurança
  • Código-fonte e arquivos .env com segredos
  • Credenciais da nuvem e chaves de API
  • PII de clientes (dados pessoais)
  • Documentos e configurações internas

Até mesmo um pequeno arquivo vazado pode conter chaves que levam à elevação para o acesso total à conta.

Correção e fortalecimento

A correção da exposição do armazenamento ocorre em camadas:

  • Ative o Bloqueio de acesso público no nível da conta
  • Remova ACLs públicas e concessões a allUsers / allAuthenticatedUsers
  • Use políticas de contêiner restritas a principais específicos
  • Ative a criptografia e o registro de acessos
  • Execute verificações contínuas de configuração para detectar novos contêineres públicos

Trate os dados expostos com responsabilidade

Encontrar um contêiner público cheio de dados reais traz implicações éticas e legais.

  • Não baixe mais do que o mínimo necessário para comprovar a exposição
  • Nunca exfiltre nem retenha PII de clientes
  • Comunique o problema imediatamente e com segurança
  • Permaneça dentro do escopo e das regras de engajamento

O objetivo é comprovar que o acesso existe, não coletar os dados.

Verificação rápida

Uma solicitação anônima ao URL de um contêiner do S3 retorna HTTP 403 AccessDenied. O que isso indica?

Recapitulação: exposição do S3 e do armazenamento

Você aprendeu como o armazenamento de objetos vaza dados e como testá-lo com segurança.

  • Os nomes dos contêineres são globalmente exclusivos e previsíveis, o que permite a enumeração
  • Os códigos de status HTTP revelam o estado do acesso: 200 (público), 403 (privado), 404 (inexistente)
  • A escrita pública é mais perigosa do que a leitura pública
  • O mesmo padrão se aplica ao Blob do Azure e ao Armazenamento na nuvem do GCP
  • Corrija o problema com o Bloqueio de acesso público e políticas de privilégio mínimo

A seguir: serviços de metadados e SSRF, uma cadeia de ataque específica da nuvem.

Perguntas Frequentes

A aula “Exposição de S3 e armazenamento” é grátis?

Sim — o texto completo de “Exposição de S3 e armazenamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ethical Hacking Academy, atualize para CoddyKit PRO. O curso de Ethical Hacking Academy inclui 4 aulas no total.

O que vou aprender em “Exposição de S3 e armazenamento”?

Buckets públicos Você pratica Ethical Hacking Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ethical Hacking Academy?

Nenhuma experiência prévia é necessária. Ethical Hacking Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Exposição de S3 e armazenamento”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ethical Hacking Academy?

Sim. Cada aula de Ethical Hacking Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Superfície de ataque na nuvem
  2. Configurações incorretas de IAM
  3. Exposição de S3 e armazenamento
  4. Metadados e SSRF
← Voltar para Ethical Hacking Academy