Guide
iam-001-to-admin
iam-001-to-admin
Enumeration¶
aws sts get-caller-identity --profile prod | jq
{
"UserId": "AIDAVRUVSVUFNHTJC4YK3",
"Account": "111111111111",
"Arn": "arn:aws:iam::111111111111:user/pathfinder-prod"
}
List Users¶
ws iam list-users --profile prod | jq
{
"Users": [
{
"Path": "/",
"UserName": "pathfinder-prod",
"UserId": "AIDAVRUVSVUFNHTJC4YK3",
"Arn": "arn:aws:iam::111111111111:user/pathfinder-prod",
"CreateDate": "2026-05-20T15:32:17+00:00"
},
{
"Path": "/",
"UserName": "pl-admin-user-for-cleanup-scripts",
"UserId": "AIDAVRUVSVUFAJSU7GTBB",
"Arn": "arn:aws:iam::111111111111:user/pl-admin-user-for-cleanup-scripts",
"CreateDate": "2026-05-23T23:26:51+00:00"
},
{
"Path": "/",
"UserName": "pl-prod-iam-001-to-admin-starting-user",
"UserId": "AIDAVRUVSVUFGBZ7VDAOJ",
"Arn": "arn:aws:iam::111111111111:user/pl-prod-iam-001-to-admin-starting-user",
"CreateDate": "2026-05-23T23:26:51+00:00"
},
{
"Path": "/",
"UserName": "pl-readonly-user-prod",
"UserId": "AIDAVRUVSVUFNWG2GIZN3",
"Arn": "arn:aws:iam::111111111111:user/pl-readonly-user-prod",
"CreateDate": "2026-05-23T23:26:51+00:00"
}
]
}
Here I have three(3) users: pl-admin-user-for-cleanup-scripts, pl-prod-iam-001-to-admin-starting-userand pl-readonly-user-prod users.
Our main focus would be: pl-prod-iam-001-to-admin-starting-user
User has an attached policy called pl-prod-iam-001-to-admin-starting-user-policy
aws iam list-user-policies --user-name pl-prod-iam-001-to-admin-starting-user --profile prod
{
"PolicyNames": [
"pl-prod-iam-001-to-admin-starting-user-policy"
]
}
No attached policy
aws iam list-attached-user-policies --user-name pl-prod-iam-001-to-admin-starting-user --profile prod
{
"AttachedPolicies": []
}
Not part of any groups either.
aws iam list-groups-for-user --user-name pl-prod-iam-001-to-admin-starting-user --profile prod
{
"Groups": []
}
Let me analyze the attached policy pl-prod-iam-001-to-admin-starting-user-policy and see what actions are called out.
aws iam get-user-policy --policy-name pl-prod-iam-001-to-admin-starting-user-policy --user-name pl-prod-iam-001-to-admin-starting-user --profile prod
{
"UserName": "pl-prod-iam-001-to-admin-starting-user",
"PolicyName": "pl-prod-iam-001-to-admin-starting-user-policy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sts:GetCallerIdentity",
"iam:GetUser"
],
"Effect": "Allow",
"Resource": "*",
"Sid": "HelpfulForExploitationIdentity"
},
{
"Action": [
"sts:AssumeRole"
],
"Effect": "Allow",
"Resource": "arn:aws:iam::111111111111:role/pl-prod-iam-001-to-admin-starting-role",
"Sid": "RequiredForExploitationAssumeRole"
}
]
}
}
Apart from the sts:GetCallerIdentity and iam:GetUser ALLOW permissions, there is an Assume Role action that enable to user to assume a role pl-prod-iam-001-to-admin-starting-role.
aws iam get-role --role-name pl-prod-iam-001-to-admin-starting-role --profile prod
{
"Role": {
"Path": "/",
"RoleName": "pl-prod-iam-001-to-admin-starting-role",
"RoleId": "AROAVRUVSVUFOAXXRO774",
"Arn": "arn:aws:iam::111111111111:role/pl-prod-iam-001-to-admin-starting-role",
"CreateDate": "2026-05-23T23:27:00+00:00",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/pl-prod-iam-001-to-admin-starting-user"
},
"Action": "sts:AssumeRole"
}
]
},
"MaxSessionDuration": 3600,
"RoleLastUsed": {}
}
}
This Role allow the user to assume this role for a max period of 3600
