5 Vectores de Ataque para Escalar Privilegios en AWS IAM

Listen to this Post

2025-02-15

El servicio de AWS Identity and Access Management (IAM) es una de las partes más críticas en la seguridad de la nube. Sin embargo, malas configuraciones y permisos excesivos pueden convertirlo en un vector de ataque para la escalada de privilegios. A continuación, se describen cinco vectores de ataque comunes en AWS IAM, junto con herramientas y comandos para practicar y proteger tus entornos.

1. IAM Permissions on Other Users

Los permisos excesivos otorgados a un usuario pueden permitirle modificar o asumir roles de otros usuarios. Para auditar los permisos de IAM, utiliza el siguiente comando de AWS CLI:

aws iam list-users
aws iam list-user-policies --user-name <USER_NAME>

2. Permissions on Policies

Un usuario con permisos para crear o modificar políticas puede otorgarse a sí mismo privilegios adicionales. Verifica las políticas asociadas a un usuario con:

aws iam list-policies
aws iam get-policy-version --policy-arn <POLICY_ARN> --version-id <VERSION_ID>

3. Updating an AssumeRolePolicy

Si un usuario puede modificar la política de un rol, puede asumir ese rol y escalar privilegios. Para listar roles y sus políticas, usa:

aws iam list-roles
aws iam get-role --role-name <ROLE_NAME>

4. iam:PassRole:*

El permiso `iam:PassRole` permite a un usuario pasar un rol a un servicio de AWS, lo que puede ser explotado si el rol tiene permisos elevados. Verifica los permisos de PassRole con:

aws iam list-roles --query 'Roles[?contains(AssumeRolePolicyDocument.Statement[].Action[], <code>iam:PassRole</code>)]'

5. Privilege Escalation Using AWS Services

Algunos servicios de AWS, como Lambda o EC2, pueden ser utilizados para escalar privilegios si están mal configurados. Para auditar servicios, ejecuta:

aws lambda list-functions
aws ec2 describe-instances

Práctica con Terraform

Para practicar estos vectores de ataque en un entorno controlado, puedes desplegar un entorno vulnerable usando Terraform desde el repositorio de BishopFox:

git clone https://github.com/BishopFox/iam-vulnerable.git
cd iam-vulnerable
terraform init
terraform apply

Este repositorio te permitirá simular escenarios de escalada de privilegios y aprender a proteger tus configuraciones de IAM.

What Undercode Say

La seguridad en AWS IAM es fundamental para proteger los recursos en la nube. Los cinco vectores de ataque descritos en este artículo son solo una muestra de cómo las malas configuraciones pueden ser explotadas. Para fortalecer la seguridad, es crucial auditar regularmente los permisos de IAM, utilizar políticas de mínimo privilegio y monitorear actividades sospechosas.

Aquí hay algunos comandos adicionales para mejorar la seguridad en AWS:

  • Auditar políticas de IAM:
    aws iam simulate-principal-policy --policy-source-arn <USER_ARN> --action-names <ACTION_NAME>
    

  • Habilitar MFA para usuarios:

    aws iam enable-mfa-device --user-name <USER_NAME> --serial-number <MFA_SERIAL> --authentication-code1 <CODE1> --authentication-code2 <CODE2>
    

  • Monitorear actividades con CloudTrail:

    aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=<USER_NAME>
    

  • Restringir políticas de roles:

    aws iam update-assume-role-policy --role-name <ROLE_NAME> --policy-document file://policy.json
    

Además, es recomendable utilizar herramientas como ScoutSuite para auditorías automatizadas:

pip install scoutsuite
scout aws

La seguridad en la nube es un proceso continuo. Mantente actualizado con las mejores prácticas y utiliza herramientas como Terraform para simular y mitigar riesgos. Para más información, visita el repositorio de BishopFox/iam-vulnerable.

References:

Hackers Feeds, Undercode AIFeatured Image