Enumeraciones
Los siguientes comandos dependen de permisos del servicio IAM
Enumeración de usuarios
Listado de todos los usuarios.
aws iam list-users

Listado de todos los grupos de un usuario en específico.
aws iam list-groups-for-user --user-name <Usuario>

Certificados
Información sobre las claves públicas SSH asociadas al usuario específico.
aws iam list-ssh-public-keys --user-name <Usuario>

Comando que devuelve información sobre una llave pública SSH específica asociada al usuario especificado.
aws iam get-ssh-public-key --user-name <Usuario> -- encoding PEM --ssh-public-key-id <ID-SSH-Key>

Comando para ver información sobre los certificados de firma asociados con el usuarios especificado.
aws iam list-signing-certificates --user-name <User>

Dispositivos MFA
Listado de los dispositivos MFA(Multi-Factor Authentication) virtuales definidos en la cuenta de AWS
aws iam list-virtual-mfa-devices

Políticas del usuario
Listado de políticas adjuntas al usuario
aws iam list-attached-user-policies --user-name <User>

Listado de políticas en formato simple asociadas al usuario // Políticas en línea insertadas (embed to one user)
aws iam list-user-policies --user-name <User>

Enumeración de grupos
Enumera todos los grupos
aws iam list-groups

Políticas del grupo
Listado de todas las políticas asociadas a un grupo en específico
aws iam list-attached-group-policies --group-name <Group>

Listado de políticas en formato simple asociadas al grupo // Políticas en línea insertadas (embed to one group)
aws iam list-group-policies --group-name <Group>

Enumeración de Roles
Listado de todos los roles de IAM
aws iam list-roles

Comando que devuelve información sobre el rol específico
aws iam get-role --role-name <Rol>

Políticas del rol
Lista todas las políticas gestionadas que se adjuntan al rol
aws iam list-attached-role-policies --role-name <Rol>

Listado de políticas en formato simple asociadas al rol// Políticas en línea insertadas (embed to one rol)
aws iam list-role-policies --role-name <Rol>

Enumeración de políticas
Lista todas las políticas
aws iam list-policies

Información específica de una política
aws iam get-policy --policy-arn <ARN-Policy>

Versiones de políticas
Versión de la política
aws iam list-policy-versions --policy-arn <ARN-Policy>

Información detallada de la versión de política
aws iam get-policy-version --policy-arn <ARN-Policy> --version-id <VersionID>

Otros comandos
# All IAMs
## Retrieves information about all IAM users, groups, roles, and policies
## in your Amazon Web Services account, including their relationships to
## one another. Use this operation to obtain a snapshot of the configura-
## tion of IAM permissions (users, groups, roles, and policies) in your
## account.
aws iam get-account-authorization-details
# List users
aws iam list-users
aws iam list-ssh-public-keys #User keys for CodeCommit
aws iam get-ssh-public-key --user-name <username> --ssh-public-key-id <id> --encoding SSH #Get public key with metadata
aws iam list-service-specific-credentials #Get special permissions of the IAM user over specific services
aws iam get-user --user-name <username> #Get metadata of user, included permissions boundaries
aws iam list-access-keys #List created access keys
## inline policies
aws iam list-user-policies --user-name <username> #Get inline policies of the user
aws iam get-user-policy --user-name <username> --policy-name <policyname> #Get inline policy details
## attached policies
aws iam list-attached-user-policies --user-name <username> #Get policies of user, it doesn't get inline policies
# List groups
aws iam list-groups #Get groups
aws iam list-groups-for-user --user-name <username> #Get groups of a user
aws iam get-group --group-name <name> #Get group name info
## inline policies
aws iam list-group-policies --group-name <username> #Get inline policies of the group
aws iam get-group-policy --group-name <username> --policy-name <policyname> #Get an inline policy info
## attached policies
aws iam list-attached-group-policies --group-name <name> #Get policies of group, it doesn't get inline policies
# List roles
aws iam list-roles #Get roles
aws iam get-role --role-name <role-name> #Get role
## inline policies
aws iam list-role-policies --role-name <name> #Get inline policies of a role
aws iam get-role-policy --role-name <name> --policy-name <name> #Get inline policy details
aws iam list-attached-role-policies --role-name <role-name> #Get policies of role, it doesn't get inline policies
# List policies
aws iam list-policies [--only-attached] [--scope Local]
aws iam list-policies-granting-service-access --arn <identity> --service-namespaces <svc> # Get list of policies that give access to the user to the service
## Get policy content
aws iam get-policy --policy-arn <policy_arn>
aws iam list-policy-versions --policy-arn <arn>
aws iam get-policy-version --policy-arn <arn:aws:iam::975426262029:policy/list_apigateways> --version-id <VERSION_X>
# Enumerate providers
aws iam list-saml-providers
aws iam get-saml-provider --saml-provider-arn <ARN>
aws iam list-open-id-connect-providers
aws iam get-open-id-connect-provider --open-id-connect-provider-arn <ARN>
# Password Policy
aws iam get-account-password-policy
# MFA
aws iam list-mfa-devices
aws iam list-virtual-mfa-devices
Políticas del usuario
## Listar las politicas de un usuario
# 1
aws iam list-attached-user-policies --user-name <User>
## 2 Sacar la version de la política con:
aws iam list-policy-versions --policy-arn <ARN-Policy>
aws iam get-policy --policy-arn <ARN-Policy>
## 3 sacar el conenido de la política
aws iam get-policy-version --policy-arn <ARN-Policy> --version-id <VersionID>
aws iam get-user-policy --user-name <username> --policy-name <policyname>
Herramientas Automatizadas
Enumerate-iam.py
git clone git@github.com:andresriancho/enumerate-iam.git
cd enumerate-iam/
pip install -r requirements.txt
python3 enumerate-iam.py --access-key <A-Key> --secret-key <S-Key> [--session-token <sessionToken>] [--region <region>]

Cliam
Herramienta de enumeración de permisos de IAM en Golang
git clone https://github.com/securisec/cliam
cd cliam/cli
make dev
./cliam [aws | azure] [subcomand] [service] {[--profile name] | --access-key-id <A-key> --secret-access-key <S-Key>}


IAMFinder
Script en python para la enumeración
git clone https://github.com/prisma-cloud/IAMFinder.git
cd IAMFinder
pip3 install -r requirements.txt
Luego configurar el archivo creds.json
{
"account1": {
"Region": "us-west-1",
"Active": true,
"AccessKeyId": "",
"SecretAccessKey": ""
},
"account2": {
"Region": "us-east-1",
"Active": false,
"AccessKeyId": "",
"SecretAccessKey": ""
}
}
python3 iamfinder.py init
python3 iamfinder.py [enum_user | enum_role |...] --aws_id number
Otras
Última actualización