# S3Scanner: encontrando buckets de storage em nuvem expostos

> Como instalar e executar o S3Scanner, e como o Tandera o usa para enumeração não autenticada de footprint em nuvem.

O `S3Scanner` verifica se buckets de storage em nuvem existem e quais permissões eles expõem. Cobre S3 e provedores compatíveis com S3, e lê permissões sem precisar de credenciais da conta alvo.

## Instalação

```bash
pipx install s3scanner
# ou
docker run --rm ghcr.io/sa7mon/s3scanner scan --bucket example-assets
```

## Comandos principais

```bash
# um bucket
s3scanner scan --bucket example-assets

# uma lista de candidatos
s3scanner scan --buckets-file candidates.txt

# gera candidatos a partir de um nome de empresa
s3scanner scan --bucket-name-file names.txt --enumerate

# saída JSON
s3scanner --json scan --buckets-file candidates.txt > buckets.json

# provedores não-AWS
s3scanner --endpoint-url https://storage.googleapis.com scan --bucket example-assets
```

## Saída

```json
{"bucket":"example-assets","exists":true,"region":"us-east-1",
 "permissions":{"AuthUsers":{"read":true,"write":false},"AllUsers":{"read":true,"write":false}}}
```

`AllUsers.read: true` significa leitura anônima. Esse é o finding.

## Onde ele entra no Tandera

O S3Scanner é o núcleo do `recon_cloud_enum` — o fluxo de footprint em nuvem não autenticado que roda a partir de uma seed de domínio e não precisa de acesso à conta de nuvem do cliente. Isso o distingue do `recon_cloud`, que roda `prowler` e `scoutsuite` contra uma conta autenticada e já conectada.

Ele roda em **discovery**, ao lado do `cdncheck`.

## Usando em um pentest

**Leia a permissão, não a exercite.** Confirmar `AllUsers.read` é o finding. Baixar o conteúdo é manipulação de dados que você provavelmente não estava autorizado a fazer, e muda a postura legal do engajamento. Capture o estado da permissão como evidência e pare.

**Permissão de escrita é um crítico, sempre.** `AllUsers.write` num bucket que serve um site é defacement de site ou comprometimento de supply chain. Supera quase qualquer outra coisa que você vai achar naquele dia.

**Adivinhe nomes a partir do que você já tem.** Nomes de bucket espelham a organização: `example-assets`, `example-backups`, `example-prod-logs`. Construa a lista de candidatos a partir dos hostnames que seu recon já produziu em vez de uma lista genérica.

**Buckets pertencem a contas, não a domínios.** Verifique que um bucket é de fato do cliente antes de reportá-lo. Semelhança de nome não é posse.

---

Canonical: https://tandera.io/pt-br/tools/s3scanner
This page as markdown: https://tandera.io/pt-br/tools/s3scanner.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
