Testing for S3 bucket misconfiguration
S3 is typically used by organizations to store documents, code, file uploads, and so on and so forth. Typically, a bucket can be either public or private. When public, all users can list the contents, and when private, only the selected set of users can list the contents. Although S3 exploitation has always been in the news, notably for developers storing mission-critical information in a bucket marked as “public.” In this section, we will explore identifying S3 buckets and exploiting misconfiguration to gain access to the internal AWS infrastructure.
To practice S3 bucket misconfiguration, we will be setting up a vulnerable S3 instance using CloudGoat by running the following command within the CloudGoat Docker image:
./cloudgoat create cloud_breach_s3
Once the setup is complete, testers should be able to see the following message from the deployment tool with the AWS account ID and the target IP address, as shown...