S3Scanner: encontrando buckets de almacenamiento en la nube expuestos

S3Scanner · MIT

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

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

Comandos principales

# 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

{"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.

acceso anticipado

Consigue Tandera antes de tu próximo engagement.

Únete a la waitlist para acceso anticipado. Estamos incorporando equipos de pentest por oleadas.

✓Onboarding prioritario para equipos de pentest.
✓Línea directa con quienes lo construyen.
✓Precio de acceso anticipado, asegurado.

Sin spam, sin tarjeta. Cancela cuando quieras.

enespt-br