# AWS - Unauthenticated Enum & Access

{{#include ../../../banners/hacktricks-training.md}}

## AWS Credentials Leaks

A common way to obtain access or information about an AWS account is by **searching for leaks**. You can search for leaks using **google dorks**, checking the **public repos** of the **organization** and the **workers** of the organization in **Github** or other platforms, searching in **credentials leaks databases**... or in any other part you think you might find any information about the company and its cloud infa.\
Some useful **tools**:

- [https://github.com/carlospolop/leakos](https://github.com/carlospolop/leakos)
- [https://github.com/carlospolop/pastos](https://github.com/carlospolop/pastos)
- [https://github.com/carlospolop/gorks](https://github.com/carlospolop/gorks)

## AWS Unauthenticated Enum & Access

There are several services in AWS that could be configured giving some kind of access to all Internet or to more people than expected. Check here how:

- [**Accounts Unauthenticated Enum**](aws-accounts-unauthenticated-enum/index.html)
- [**API Gateway Unauthenticated Enum**](aws-api-gateway-unauthenticated-enum/index.html)
- [**Cloudfront Unauthenticated Enum**](aws-cloudfront-unauthenticated-enum/index.html)
- [**Codebuild Unauthenticated Access**](aws-codebuild-unauthenticated-access/index.html)
- [**Cognito Unauthenticated Enum**](aws-cognito-unauthenticated-enum/index.html)
- [**DocumentDB Unauthenticated Enum**](aws-documentdb-enum/index.html)
- [**DynamoDB Unauthenticated Access**](aws-dynamodb-unauthenticated-access/index.html)
- [**EC2 Unauthenticated Enum**](aws-ec2-unauthenticated-enum/index.html)
- [**Elastic Beanstalk Unauthenticated Enum**](aws-elastic-beanstalk-unauthenticated-enum/index.html)
- [**Elasticsearch Unauthenticated Enum**](aws-elasticsearch-unauthenticated-enum/index.html)
- [**IAM Unauthenticated Enum**](aws-iam-and-sts-unauthenticated-enum/index.html)
- [**Identity Center and SSO Unauthenticated Enum**](aws-identity-center-and-sso-unauthenticated-enum/index.html)
- [**IoT Unauthenticated Enum**](aws-iot-unauthenticated-enum/index.html)
- [**Kinesis Video Unauthenticated Enum**](aws-kinesis-video-unauthenticated-enum/index.html)
- [**Lambda Unauthenticated Access**](aws-lambda-unauthenticated-access/index.html)
- [**Media Unauthenticated Enum**](aws-media-unauthenticated-enum/index.html)
- [**MQ Unauthenticated Enum**](aws-mq-unauthenticated-enum/index.html)
- [**MSK Unauthenticated Enum**](aws-msk-unauthenticated-enum/index.html)
- [**RDS Unauthenticated Enum**](aws-rds-unauthenticated-enum/index.html)
- [**Redshift Unauthenticated Enum**](aws-redshift-unauthenticated-enum/index.html)
- [**S3 Unauthenticated Enum**](aws-s3-unauthenticated-enum/index.html)
- [**Sagemaker Unauthenticated Enum**](aws-sagemaker-unauthenticated-enum/index.html)
- [**SNS Unauthenticated Enum**](aws-sns-unauthenticated-enum/index.html)
- [**SQS Unauthenticated Enum**](aws-sqs-unauthenticated-enum/index.html)

## Cross Account Attacks

In the talk [**Breaking the Isolation: Cross-Account AWS Vulnerabilities**](https://www.youtube.com/watch?v=JfEFIcpJ2wk) it's presented how some services allow(ed) any AWS account accessing them because **AWS services without specifying accounts ID** were allowed.

During the talk they specify several examples, such as S3 buckets **allowing cloudtrai**l (of **any AWS** account) to **write to them**:

![S3 bucket policy JSON allowing the CloudTrail service principal to write objects](<../../../images/image (260).png>)

Other services found vulnerable:

- AWS Config
- Serverless repository

## Tools

- [**cloud_enum**](https://github.com/initstring/cloud_enum): Multi-cloud OSINT tool. **Find public resources** in AWS, Azure, and Google Cloud. Supported AWS services: Open / Protected S3 Buckets, awsapps (WorkMail, WorkDocs, Connect, etc.)

{{#include ../../../banners/hacktricks-training.md}}




