> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cpna/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cpna/tecnicas-de-enumeracion-en-iam/enumeracion-manual-con-awscli/enumerando-politicas.md).

# Enumerando politicas

{% hint style="danger" %}
¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el [CPNA - Curso Profesional de Pentesting Contra AWS](https://spartan-cybersec.com/cursos/pentesting-contra-la-nube-de-aws/). No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.
{% endhint %}

Para realizar una revisión exhaustiva y detallada de los roles en AWS IAM, es esencial ejecutar una secuencia de comandos que no solo permita listar todos los roles existentes, sino también examinar las políticas vinculadas a cada uno y obtener detalles específicos del rol. Mejorar y profundizar en esta información puede optimizar la administración de accesos y la seguridad. A continuación, se presenta una versión enriquecida y explicada de los comandos necesarios:

### <mark style="color:orange;">Listado de Todas las Políticas IAM</mark>

Este comando genera un listado completo de todas las políticas de IAM disponibles en tu cuenta de AWS. Es el punto de partida para identificar y revisar las políticas existentes, incluidas las administradas por AWS y las creadas por el usuario.

```json
PS C:\Users\gerh-> aws iam list-policies --profile cpna
{
    "Policies": [
        {
            "PolicyName": "AccessAnalyzerMonitorServicePolicy_QWLK2RGCON",
            "PolicyId": "ANPAYPUD57AESKXAN5YGT",
            "Arn": "arn:aws:iam::583318501385:policy/service-role/AccessAnalyzerMonitorServicePolicy_QWLK2RGCON",
            "Path": "/service-role/",
            "DefaultVersionId": "v1",
            "AttachmentCount": 1,
            "PermissionsBoundaryUsageCount": 0,
            "IsAttachable": true,
            "CreateDate": "2023-07-17T02:33:47+00:00",
            "UpdateDate": "2023-07-17T02:33:47+00:00"
        },
        {
            "PolicyName": "Buckets-Spartan",
            "PolicyId": "ANPAYPUD57AEXHYKIF6Y7",
            "Arn": "arn:aws:iam::583318501385:policy/Buckets-Spartan",
            "Path": "/",
            "DefaultVersionId": "v1",
            "AttachmentCount": 0,
            "PermissionsBoundaryUsageCount": 0,
            "IsAttachable": true,
            "CreateDate": "2024-02-19T20:38:10+00:00",
            "UpdateDate": "2024-02-19T20:38:10+00:00"
        }]
}
```

### <mark style="color:orange;">Obtención de Detalles de una Política Específica</mark>

Proporciona información detallada sobre una política específica mediante su ARN (Amazon Resource Name). Este comando es crucial para entender la configuración y los permisos establecidos en una política determinada.

```json
PS C:\Users\gerh-> aws iam get-policy --policy-arn arn:aws:iam::583318501385:policy/Buckets-Spartan --profile cpna
{
    "Policy": {
        "PolicyName": "Buckets-Spartan",
        "PolicyId": "ANPAYPUD57AEXHYKIF6Y7",
        "Arn": "arn:aws:iam::583318501385:policy/Buckets-Spartan",
        "Path": "/",
        "DefaultVersionId": "v1",
        "AttachmentCount": 0,
        "PermissionsBoundaryUsageCount": 0,
        "IsAttachable": true,
        "CreateDate": "2024-02-19T20:38:10+00:00",
        "UpdateDate": "2024-02-19T20:38:10+00:00",
        "Tags": []
    }
}
```

### <mark style="color:orange;">Enumeración de Versiones de Política</mark>

Lista todas las versiones de una política de IAM dada. Dado que las políticas pueden ser versionadas para gestionar cambios en el tiempo, este comando permite a los administradores ver el historial de modificaciones y gestionar diferentes iteraciones de una política.

```json
PS C:\Users\gerh-> aws iam list-policy-versions --policy-arn arn:aws:iam::583318501385:policy/Buckets-Spartan --profile cpna
{
    "Versions": [
        {
            "VersionId": "v1",
            "IsDefaultVersion": true,
            "CreateDate": "2024-02-19T20:38:10+00:00"
        }
    ]
}
```

## <mark style="color:orange;">Acceso a Detalles de una Versión Específica de Política</mark>

Recupera los detalles de una versión específica de una política de IAM. Este comando es invaluable para auditar o revertir a versiones anteriores de una política en caso de necesidad.

```json
PS C:\Users\gerh-> aws iam get-policy-version --policy-arn arn:aws:iam::583318501385:policy/Buckets-Spartan --version-id v1 --profile cpna
{
    "PolicyVersion": {
        "Document": {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Sid": "VisualEditor0",
                    "Effect": "Allow",
                    "Action": [
                        "s3:ListAccessPointsForObjectLambda",
                        "s3:ListBucketMultipartUploads",
                        "s3:ListAccessPoints",
                        "s3:ListBucketVersions",
                        "s3:ListJobs",
                        "s3:ListBucket",
                        "s3:ListMultiRegionAccessPoints",
                        "s3:ListStorageLensGroups",
                        "s3:ListAccessGrantsLocations",
                        "s3:ListMultipartUploadParts",
                        "s3:ListStorageLensConfigurations",
                        "s3:ListTagsForResource",
                        "s3:ListAllMyBuckets",
                        "s3:ListAccessGrantsInstances",
                        "s3:ListAccessGrants"
                    ],
                    "Resource": "*"
                }
            ]
        },
        "VersionId": "v1",
        "IsDefaultVersion": true,
        "CreateDate": "2024-02-19T20:38:10+00:00"
    }
}
```
