PrivEsc For Cloud Computing

La escalación de privilegios en entornos de nube es una técnica crítica para los pentesters y atacantes, ya que obtener acceso privilegiado en servicios de nube puede permitir el control total sobre la infraestructura, datos y aplicaciones. Este texto explora la necesidad de escalar privilegios en las tres nubes más importantes: AWS, Azure y Google Cloud, la importancia de los roles y permisos, y las técnicas más utilizadas para escalar privilegios en cada una.

Aprende Hacking Cloud en AWS:

Necesidad de Escalar Privilegios en la Nube

Escalar privilegios en la nube es esencial por varias razones:

  1. Control Total de la Infraestructura: Permite a un atacante acceder y controlar todos los recursos, datos y aplicaciones en el entorno de nube.

  2. Acceso a Datos Sensibles: Los privilegios elevados permiten acceder a datos críticos y sensibles almacenados en la nube.

  3. Persistencia y Movimiento Lateral: Privilegios elevados facilitan la creación de mecanismos de persistencia y el movimiento lateral dentro del entorno de nube, comprometiendo otros servicios y recursos.

Roles y Permisos en la Nube

AWS (Amazon Web Services)

  • Administrador: Control total sobre todos los recursos y servicios en la cuenta de AWS.

  • IAM (Identity and Access Management): Gestión de usuarios, roles, y permisos para controlar el acceso a los recursos de AWS.

    • Roles Importantes:

      • AdministratorAccess: Permite acceso total a todos los recursos.

      • PowerUserAccess: Permite acceso a todos los recursos excepto IAM.

      • ReadOnlyAccess: Permite acceso de solo lectura a todos los recursos.

Azure (Microsoft Azure)

  • Administrador: Control total sobre todos los recursos y servicios en la suscripción de Azure.

  • RBAC (Role-Based Access Control): Gestión de permisos mediante la asignación de roles a usuarios, grupos y aplicaciones.

    • Roles Importantes:

      • Owner: Acceso total a todos los recursos, incluyendo la delegación de permisos.

      • Contributor: Acceso total a todos los recursos excepto la delegación de permisos.

      • Reader: Acceso de solo lectura a todos los recursos.

Google Cloud (Google Cloud Platform)

  • Administrador: Control total sobre todos los recursos y servicios en el proyecto de Google Cloud.

  • IAM (Identity and Access Management): Gestión de usuarios, roles, y permisos para controlar el acceso a los recursos de Google Cloud.

    • Roles Importantes:

      • Owner: Acceso total a todos los recursos y gestión de permisos.

      • Editor: Acceso para modificar todos los recursos.

      • Viewer: Acceso de solo lectura a todos los recursos.

Técnicas Comunes de Escalación de Privilegios en la Nube

AWS (Amazon Web Services)

  1. Robo de Credenciales IAM

  • Descripción: Utilizar credenciales de IAM obtenidas para realizar acciones privilegiadas.

  • Ejemplo: Extraer claves de acceso desde instancias EC2 comprometidas y utilizarlas para acceder a otros servicios.

  1. Explotación de Permisos Mal Configurados

  • Descripción: Abusar de políticas de IAM mal configuradas que otorgan permisos excesivos.

  • Ejemplo: Ejecutar el siguiente comando para enumerar permisos:

    aws iam list-attached-user-policies --user-name <username>
  1. Abuso de Roles Asumibles

  • Descripción: Asumir roles que tienen permisos elevados.

  • Ejemplo:

    aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/AdminRole" --role-session-name "Session1"
  1. Lambda Function Privilege Escalation

  • Descripción: Crear o modificar funciones Lambda para ejecutar código con privilegios elevados.

  • Ejemplo: Modificar una función Lambda para asumir un rol con permisos elevados.

Azure (Microsoft Azure)

  1. Robo de Tokens de Acceso

  • Descripción: Utilizar tokens de acceso obtenidos para realizar acciones privilegiadas.

  • Ejemplo: Extraer tokens de acceso desde máquinas virtuales comprometidas y utilizarlos para acceder a otros servicios.

  1. Explotación de Permisos RBAC Mal Configurados

  • Descripción: Abusar de roles RBAC mal configurados que otorgan permisos excesivos.

  • Ejemplo: Enumerar roles asignados a una cuenta:

    Get-AzRoleAssignment
  1. Abuso de Roles Asumibles

  • Descripción: Asumir roles que tienen permisos elevados mediante el uso de identidades administradas.

  • Ejemplo:

    New-AzRoleAssignment -ObjectId <ObjectId> -RoleDefinitionName "Contributor" -Scope "/subscriptions/<subscriptionId>"
  1. Managed Identity Privilege Escalation

  • Descripción: Abusar de identidades administradas para obtener permisos elevados.

  • Ejemplo: Modificar la identidad administrada de un recurso para asumir permisos elevados.

Google Cloud (Google Cloud Platform)

  1. Robo de Credenciales de Servicio

  • Descripción: Utilizar credenciales de servicio obtenidas para realizar acciones privilegiadas.

  • Ejemplo: Extraer claves de acceso desde máquinas virtuales comprometidas y utilizarlas para acceder a otros servicios.

  1. Explotación de Permisos IAM Mal Configurados

  • Descripción: Abusar de políticas de IAM mal configuradas que otorgan permisos excesivos.

  • Ejemplo: Enumerar políticas asignadas a una cuenta:

    gcloud projects get-iam-policy <project-id>
  1. Abuso de Roles Asumibles

  • Descripción: Asumir roles que tienen permisos elevados.

  • Ejemplo:

    gcloud auth activate-service-account --key-file=<path-to-key-file>
    gcloud projects add-iam-policy-binding <project-id> --member=serviceAccount:<service-account> --role=<role>
  1. GKE Privilege Escalation

  • Descripción: Explotar configuraciones incorrectas de Kubernetes Engine (GKE) para obtener permisos elevados.

  • Ejemplo: Abusar de las configuraciones RBAC en GKE para ejecutar comandos privilegiados.

Última actualización