2024 Business CTF - Vault of Hope: Protrude
Challenge Information
| Attribute | Details |
|---|---|
| Event | 2024 Business CTF - Vault of Hope |
| Category | Cloud |
| Challenge | Protrude |
| Difficulty | Easy |
Summary
The Protrude challenge involves AWS credential enumeration and IAM analysis. Participants receive AWS credentials and must use the AWS CLI to gather information about the AWS environment, including directory services (AWS Directory Service/Simple AD), DynamoDB endpoints, and other cloud infrastructure details. The challenge demonstrates how cloud credentials can be used to gather reconnaissance information about AWS environments.
Analysis
The challenge provides AWS credentials and access to an AWS account. Key information that can be enumerated includes:
-
Caller Identity: Using
aws sts get-caller-identityreveals:- UserId: AIDAXYAFLIG2E6UQ3YIVB
- Account: 532587168180
- ARN: arn:aws:iam::532587168180:user/aalmodovar
-
Directory Services: Using
aws ds describe-directoriesreveals:- Directory Name: vault101.wasteland.local
- DirectoryId: d-9067e0513b
- Access URL: vault101.awsapps.com (WorkDocs service)
- Type: SimpleAD
-
DynamoDB Endpoints: Using
aws dynamodb describe-endpointsprovides endpoint information -
Session Tokens: Using
aws sts get-session-tokengenerates temporary credentials
Solution
Step-by-step exploitation approach:
-
Configure AWS CLI:
Terminal window aws configureEnter the provided access key, secret key, and region.
-
Enumerate Caller Identity:
Terminal window aws sts get-caller-identity --output jsonExtract account ID and user information.
-
Enumerate Directory Services:
Terminal window aws ds describe-directories --output jsonIdentify AWS Directory Service instances and their DNS settings.
-
Enumerate DynamoDB:
Terminal window aws dynamodb describe-endpoints --output jsonLocate DynamoDB endpoints in the account.
-
Enumerate IAM Roles and Users:
Terminal window aws iam list-rolesaws iam list-users -
Run IAM Enumeration Tools: The challenge notes reference
enumerate-iam.py, a tool for comprehensive IAM permission enumeration:Terminal window python3 enumerate-iam.py --access-key <KEY> --secret-key <SECRET>
The flag format appears to be based on the discovered account information and AWS resources.
Key Takeaways
- AWS credentials can be used to enumerate extensive infrastructure information
- The AWS CLI is a powerful reconnaissance tool for cloud infrastructure
- Directory services, DynamoDB, and IAM information can reveal account structure
- Understanding AWS service enumeration is critical for cloud security assessments
- Session tokens enable temporary access with time-limited credentials
- IAM enumeration tools can discover all permissions within an AWS account