Cloud Storage Discovery: S3 Object and Bucket Enumeration


AWS Specific Sub-Technique


Other sub-techniques of Cloud Storage Discovery (1)
ID Name
T1619.A001 S3 Object and Bucket Enumeration

AWS Specific Content


A prerequisite for this technique is that a threat actor has already gained control of an AWS identity with the permissions to perform discovery on Amazon S3 resources.

Using this technique, a threat actor can identify and enumerate the Amazon S3 objects and buckets that are present within an AWS account. The threat actor can then use knowledge about these resources in attempts to further their objectives, such as changing, reading, retrieving, or destroying data within S3.

Detection

AWS Specific Content


Amazon GuardDuty has detections and finding types specifically for Amazon S3, and in particular, this finding informs you that an IAM entity has invoked an S3 API to discover S3 buckets in your environment, such as s3:ListObjects.

When this technique is used by the threat actor, actions taken by the threat actor using the credentials obtained will be logged in CloudTrail. You can use the Event History page in the AWS CloudTrail console to view the last 90 days of management events in an AWS Region for the events listed in the AWS CloudTrail Event Name(s) section, such as s3:ListBuckets.

To view object-level API activity such as s3:ListObjects, you will need to log data events with a separate CloudTrail trail as object-level API activity will not show up in CloudTrail Event history.A separate CloudTrail trail will give you an ongoing record of events in your AWS account past 90 days and can be configured to log events in multiple regions. You can also review events using the console as well as the AWS CLI.

When looking through Event history for events related to this technique, you should note that the actions are non-mutable and are therefore listed as readOnly, which means that the Events will not be visible if there are filters set to show only mutable actions.

It is also possible to create a CloudWatch metric filter to watch for when specific AWS API calls are used and perform notification actions if logged, and additionally configure CloudWatch to automatically perform an action in response to an alarm.


Mitigation

AWS Specific Content


You can make sure that principals are scoped with the least-privileged permissions necessary to perform duties, limiting the ability to perform unauthorized actions in an AWS account when not required. One possible method of applying the principle of least-privileged permissions is to use Service Control Policies to restrict the maximum available permissions for the IAM users and IAM roles within your AWS Organizations accounts (note - you should test SCPs in a development environment before deploying them in production).

You can also use IAM Access Analyzer to regularly review and verify access and manage permissions across your AWS environment, which will highlight AWS identities with excessive permissions and the actions performed by those identities.


References

AWS Specific Information


AWS Services:
  • Amazon Simple Storage Service (S3)
AWS CloudTrail Event Names:
  • s3:ListBuckets
  • s3:ListObjects

Technique Information

ID: T1619.A001
Aliases: T1619.A001, AT1022.001
Sub-technique of: T1619
Tactics:
  • Discovery
Platforms:
  • IaaS
  • Amazon Web Services (AWS)
Created: 07 Jun 2021
Last Modified: 30 May 2025