Enumeraciones

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

Instalación
git clone git@github.com:andresriancho/enumerate-iam.git
cd enumerate-iam/
pip install -r requirements.txt
Ejecución
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

Instalación
git clone https://github.com/securisec/cliam
cd cliam/cli
make dev
Ejecución
./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

Instalación
git clone https://github.com/prisma-cloud/IAMFinder.git
cd IAMFinder
pip3 install -r requirements.txt

Luego configurar el archivo creds.json

creds.json
{
    "account1": {
        "Region": "us-west-1",
        "Active": true,
        "AccessKeyId": "",
        "SecretAccessKey": ""
    },
    "account2": {
        "Region": "us-east-1",
        "Active": false,
        "AccessKeyId": "",
        "SecretAccessKey": ""
    }
}
Ejecución 1
python3 iamfinder.py init
Ejecución 2
python3 iamfinder.py [enum_user | enum_role |...] --aws_id number

Otras

Última actualización