# S3Scanner: encontrando buckets de almacenamiento en la nube expuestos

> Cómo instalar y ejecutar S3Scanner, y cómo Tandera lo usa para la enumeración no autenticada de footprint en la nube.

`S3Scanner` comprueba si existen buckets de almacenamiento en la nube y qué permisos exponen. Cubre S3 y proveedores compatibles con S3, y lee permisos sin necesitar credenciales de la cuenta objetivo.

## Instalación

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

## Comandos principales

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

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

# genera candidatos a partir de un nombre de empresa
s3scanner scan --bucket-name-file names.txt --enumerate

# salida JSON
s3scanner --json scan --buckets-file candidates.txt > buckets.json

# proveedores no-AWS
s3scanner --endpoint-url https://storage.googleapis.com scan --bucket example-assets
```

## Salida

```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 lectura anónima. Ese es el finding.

## Dónde encaja en Tandera

S3Scanner es el núcleo de `recon_cloud_enum` — el flujo de footprint en la nube no autenticado que se ejecuta desde una seed de dominio y no necesita acceso a la cuenta de nube del cliente. Eso lo distingue de `recon_cloud`, que ejecuta `prowler` y `scoutsuite` contra una cuenta autenticada y ya conectada.

Se ejecuta en **discovery**, junto a `cdncheck`.

## Uso en un pentest

**Lee el permiso, no lo ejerzas.** Confirmar `AllUsers.read` es el finding. Descargar el contenido es un manejo de datos que probablemente no estabas autorizado a hacer, y cambia la postura legal del engagement. Captura el estado del permiso como evidencia y detente.

**El permiso de escritura es un crítico, siempre.** `AllUsers.write` en un bucket que sirve un sitio web es defacement del sitio o compromiso de supply chain. Supera casi cualquier otra cosa que encuentres ese día.

**Adivina nombres a partir de lo que ya tienes.** Los nombres de bucket reflejan la organización: `example-assets`, `example-backups`, `example-prod-logs`. Construye la lista de candidatos a partir de los hostnames que tu recon ya produjo en lugar de una lista genérica.

**Los buckets pertenecen a cuentas, no a dominios.** Verifica que un bucket sea realmente del cliente antes de reportarlo. La similitud de nombre no es propiedad.

---

Canonical: https://tandera.io/es/tools/s3scanner
This page as markdown: https://tandera.io/es/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`.
