S3 Bucket Enumeration and ACL Review
S3 enumeration covers both unauthenticated access on public buckets and authenticated access using valid credentials. A bucket may be private to anonymous requests but fully readable with any AWS credentials.
- Buckets with public ACLs granting
AllUsersorAuthenticatedUsersaccess - Public access block settings all set to
false(no protection in place) - Sensitive file extensions:
.env,.pem,.key,.sql,.tfvars,.bak - Bucket policies allowing cross-account access with
Principal: *
List All Buckets
List Bucket Contents
Bucket ACL
Dangerous grantee URIs: http://acs.amazonaws.com/groups/global/AllUsers (world-readable/writable), http://acs.amazonaws.com/groups/global/AuthenticatedUsers (any AWS account).
Bucket Policy
Public Access Block
{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": false,
"IgnorePublicAcls": false,
"BlockPublicPolicy": false,
"RestrictPublicBuckets": false
}
}
All four false means no public access protections. If any are true, public access is blocked even if ACL or policy allows it.