Skip to content
Threat Feed
medium advisory updated

Unauthenticated AWS S3 Bucket Access via Misconfigured Policies

Adversaries leverage misconfigured S3 bucket policies to perform unauthenticated data collection, discovery, and manipulation using tools like the AWS CLI without authentication.

What's new

  • 1. new product Sep 19, 13:18 via elastic

This threat involves adversaries exploiting misconfigured AWS S3 bucket policies or Access Control Lists (ACLs) that inadvertently allow public, unauthenticated access. By using the AWS CLI with the --no-sign-request parameter, unauthorized actors can interact with S3 buckets without needing valid IAM credentials. This activity exposes organizations to data exfiltration, unauthorized content modification, and potential data destruction. Defenders should monitor CloudTrail data events for S3 API calls where the account identifier is marked as anonymous, particularly from rare or previously unseen source IP addresses. The scope of this threat affects any organization with S3 buckets, especially those where public access settings are not enforced or bucket policies are overly permissive (e.g., using 'Principal: *').

Attack Chain

  1. Attacker performs reconnaissance to identify public-facing or misconfigured S3 buckets using OSINT or scanners.
  2. Attacker verifies the misconfiguration by attempting an unauthenticated listing of bucket contents (ListBucket/ListObjects).
  3. Attacker uses the AWS CLI with the --no-sign-request flag to interface with the S3 bucket.
  4. Attacker executes Discovery commands (e.g., ListObjects) to map the bucket structure and identify high-value data.
  5. Attacker executes Collection commands (e.g., GetObject) to exfiltrate files from the S3 bucket.
  6. Attacker may perform Impact operations (e.g., DeleteObject or PutObject) to destroy or manipulate sensitive data.

Impact

Successful exploitation leads to unauthorized data access, potential exfiltration of sensitive information such as PII or credentials, and malicious modification or destruction of stored objects. The severity depends on the contents of the exposed bucket, but it represents a high risk for data privacy and organizational integrity.

Recommendation

  1. Enable S3 Block Public Access at the bucket or account level to prevent unintentional public exposure.
  2. Audit all S3 bucket policies and ACLs for overly permissive 'Principal: *' entries.
  3. Enable CloudTrail Data Events for all sensitive S3 buckets to ensure visibility into GetObject and ListObjects actions.
  4. Deploy the suggested detection logic to alert on unique source IP addresses performing anonymous S3 API calls.
  5. Use AWS Access Analyzer to proactively identify buckets that allow public access.

Immediate actions

Review and enable S3 Block Public Access for all buckets containing sensitive data.

Cloud Security 24h

Threat Hunt

Identify S3 API events where cloud.account.id is anonymous.

T1530 high high confidence hunt now

Data: CloudTrail data events

Mitigations

Enforce S3 Block Public Access.

immediate Cloud Security

S3 Misconfiguration