Enumerate AWS IAM Users

Exposure of AWS IAM Usernames can further aid attackers efforts to access an AWS account. Exposure leaves users vulnerable to attacks such as phishing and password-spraying.

What is the risk of exposed AWS IAM Usernames?

  • Exposing an AWS IAM username is not a direct threat but simplifies attackers' efforts to access an AWS account. With this information, they can initiate phishing campaigns or password-spraying attacks, potentially obtaining valid credentials and accessing the account


Methods to Enumerate AWS IAM Usernames

Using AWS Access Key ID

aws --profile dev iam get-access-key-last-used --access-key-id AKIAxxxxxxxx

{
    "UserName": "admin",
    "AccessKeyLastUsed": {
        "LastUsedDate": "2024-12-08T03:42:00+00:00",
        "ServiceName": "ec2",
        "Region": "us-east-1"
    }
}

Using Bedrock API Keys

  • This works for the Long-Term API Keys but Short-term API Keys don't seem to provide this info


Using Valid Credentials (Authenticated)

  • With valid credentials and access to the target AWS account, we can enumerate all IAM Users in the account


Using Error Messages

  • With valid credentials we can attempt certain commands that provide the identity's name in the output if the identity is not allowed to perform the task


Brute Forcing (Unauthenticated)

Last updated

Was this helpful?