Hacking Tools

AWeSomeUserFinder : Harnessing AWS IAM For Username Enumeration And Password Security

AWS IAM Username Enumerator and Password Spraying Tool in Python3

In order to use the tool with the UpdateAssumeRolePolicy method, the IAM user account utilized must have the following permissions attached:

  • “iam:GetRole”
  • “iam:CreatePolicy”
  • “iam:UpdateAssumeRolePolicy”
  • “iam:CreateRole”
  • “iam:AttachRolePolicy”

An example policy is included in the files named “example_assume_role_policy.json” in the example_policies directory.

Additionally, an AWS access key and AWS secret key are required. See this link for information on obtaining.

Finally, a role is needed with an attached policy granting “UpdateAssumeRolePolicy,” which also has a TrustedEntity Deny all rule for AssumeRole permissions.

This can be somewhat convoluted, so there is an additional script included with the tool called, “updateassumerolepolicygenerator.py.” Using an access key and secret key, along with the required permissions noted above, the correct policy and role will be generated automatically and be usable until it is manually removed.

Both the new policy and role will be named “user_enumeration_policy.”

S3 Bucket Method

In order to use the tool with the S3 bucket method, you will need to create a new, general-purpose S3 bucket.

Set “Block All Public Access” to the bucket. Next, a new policy needs to be added to the AWS account and attached to the IAM user of choice. The policy must have the following permissions attached to the user:

  • “s3:PutBucketPolicy”
  • “s3:GetBucketPolicy”
  • ARN referenced to the S3 bucket created earlier.

An example policy is included in the files named “example_s3_policy” in the example_policies directory.

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

2 weeks ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

2 weeks ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

4 weeks ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

4 weeks ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 weeks ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

4 weeks ago