Pentesting S3 Buckets
AWS - S3 Unauthenticated Enum - HackTricks Cloud
Para saber si es un bucket
- Para checkear si es un bucket : https://[DOMAIN].s3.amazonaws.com/
- Wappalyzer
- Nslookup
domain, entramos a la ip en el navegador y nos lleva a aws.amazon.com/es/s3/
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:
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