> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/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/cppj/privilege-escalation-for-juniors/privesc-for-cloud-computing.md).

# 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.

<mark style="color:green;">**Aprende Hacking Cloud en AWS:**</mark>

{% embed url="<https://books.spartan-cybersec.com/cpna>" %}

## <mark style="color:green;">**Necesidad de Escalar Privilegios en la Nube**</mark>

Escalar privilegios en la nube es esencial por varias razones:

1. <mark style="color:green;">**Control Total de la Infraestructura**</mark><mark style="color:green;">:</mark> Permite a un atacante acceder y controlar todos los recursos, datos y aplicaciones en el entorno de nube.
2. <mark style="color:green;">**Acceso a Datos Sensibles**</mark><mark style="color:green;">:</mark> Los privilegios elevados permiten acceder a datos críticos y sensibles almacenados en la nube.
3. <mark style="color:green;">**Persistencia y Movimiento Lateral**</mark><mark style="color:green;">:</mark> Privilegios elevados facilitan la creación de mecanismos de persistencia y el movimiento lateral dentro del entorno de nube, comprometiendo otros servicios y recursos.

## <mark style="color:green;">**Roles y Permisos en la Nube**</mark>

### <mark style="color:green;">**AWS (Amazon Web Services)**</mark>

* <mark style="color:green;">**Administrador**</mark><mark style="color:green;">:</mark> Control total sobre todos los recursos y servicios en la cuenta de AWS.
* <mark style="color:green;">**IAM (Identity and Access Management)**</mark><mark style="color:green;">:</mark> Gestión de usuarios, roles, y permisos para controlar el acceso a los recursos de AWS.
  * <mark style="color:green;">**Roles Importantes**</mark><mark style="color:green;">:</mark>
    * <mark style="color:green;">**AdministratorAccess**</mark><mark style="color:green;">:</mark> Permite acceso total a todos los recursos.
    * <mark style="color:green;">**PowerUserAccess**</mark><mark style="color:green;">:</mark> Permite acceso a todos los recursos excepto IAM.
    * <mark style="color:green;">**ReadOnlyAccess**</mark><mark style="color:green;">:</mark> Permite acceso de solo lectura a todos los recursos.

### <mark style="color:green;">**Azure (Microsoft Azure)**</mark>

* <mark style="color:green;">**Administrador**</mark><mark style="color:green;">:</mark> Control total sobre todos los recursos y servicios en la suscripción de Azure.
* <mark style="color:green;">**RBAC (Role-Based Access Control)**</mark><mark style="color:green;">:</mark> Gestión de permisos mediante la asignación de roles a usuarios, grupos y aplicaciones.
  * <mark style="color:green;">**Roles Importantes**</mark><mark style="color:green;">:</mark>
    * <mark style="color:green;">**Owner**</mark><mark style="color:green;">:</mark> Acceso total a todos los recursos, incluyendo la delegación de permisos.
    * <mark style="color:green;">**Contributor**</mark><mark style="color:green;">:</mark> Acceso total a todos los recursos excepto la delegación de permisos.
    * <mark style="color:green;">**Reader**</mark><mark style="color:green;">:</mark> Acceso de solo lectura a todos los recursos.

### <mark style="color:green;">**Google Cloud (Google Cloud Platform)**</mark>

* <mark style="color:green;">**Administrador**</mark><mark style="color:green;">:</mark> Control total sobre todos los recursos y servicios en el proyecto de Google Cloud.
* <mark style="color:green;">**IAM (Identity and Access Management)**</mark><mark style="color:green;">:</mark> Gestión de usuarios, roles, y permisos para controlar el acceso a los recursos de Google Cloud.
  * <mark style="color:green;">**Roles Importantes**</mark><mark style="color:green;">:</mark>
    * <mark style="color:green;">**Owner**</mark><mark style="color:green;">:</mark> Acceso total a todos los recursos y gestión de permisos.
    * <mark style="color:green;">**Editor**</mark><mark style="color:green;">:</mark> Acceso para modificar todos los recursos.
    * <mark style="color:green;">**Viewer**</mark><mark style="color:green;">:</mark> Acceso de solo lectura a todos los recursos.

## <mark style="color:green;">**Técnicas Comunes de Escalación de Privilegios en la Nube**</mark>

### <mark style="color:green;">**AWS (Amazon Web Services)**</mark>

1. <mark style="color:green;">**Robo de Credenciales IAM**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Utilizar credenciales de IAM obtenidas para realizar acciones privilegiadas.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Extraer claves de acceso desde instancias EC2 comprometidas y utilizarlas para acceder a otros servicios.

2. <mark style="color:green;">**Explotación de Permisos Mal Configurados**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Abusar de políticas de IAM mal configuradas que otorgan permisos excesivos.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Ejecutar el siguiente comando para enumerar permisos:

  ```bash
  aws iam list-attached-user-policies --user-name <username>
  ```

3. <mark style="color:green;">**Abuso de Roles Asumibles**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Asumir roles que tienen permisos elevados.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark>

  ```bash
  aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/AdminRole" --role-session-name "Session1"
  ```

4. <mark style="color:green;">**Lambda Function Privilege Escalation**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Crear o modificar funciones Lambda para ejecutar código con privilegios elevados.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Modificar una función Lambda para asumir un rol con permisos elevados.

### <mark style="color:green;">**Azure (Microsoft Azure)**</mark>

1. <mark style="color:green;">**Robo de Tokens de Acceso**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Utilizar tokens de acceso obtenidos para realizar acciones privilegiadas.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Extraer tokens de acceso desde máquinas virtuales comprometidas y utilizarlos para acceder a otros servicios.

2. <mark style="color:green;">**Explotación de Permisos RBAC Mal Configurados**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Abusar de roles RBAC mal configurados que otorgan permisos excesivos.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Enumerar roles asignados a una cuenta:

  ```powershell
  Get-AzRoleAssignment
  ```

3. <mark style="color:green;">**Abuso de Roles Asumibles**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Asumir roles que tienen permisos elevados mediante el uso de identidades administradas.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark>

  ```powershell
  New-AzRoleAssignment -ObjectId <ObjectId> -RoleDefinitionName "Contributor" -Scope "/subscriptions/<subscriptionId>"
  ```

4. <mark style="color:green;">**Managed Identity Privilege Escalation**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Abusar de identidades administradas para obtener permisos elevados.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Modificar la identidad administrada de un recurso para asumir permisos elevados.

### <mark style="color:green;">**Google Cloud (Google Cloud Platform)**</mark>

1. <mark style="color:green;">**Robo de Credenciales de Servicio**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Utilizar credenciales de servicio obtenidas para realizar acciones privilegiadas.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Extraer claves de acceso desde máquinas virtuales comprometidas y utilizarlas para acceder a otros servicios.

2. <mark style="color:green;">**Explotación de Permisos IAM Mal Configurados**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Abusar de políticas de IAM mal configuradas que otorgan permisos excesivos.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Enumerar políticas asignadas a una cuenta:

  ```bash
  gcloud projects get-iam-policy <project-id>
  ```

3. <mark style="color:green;">**Abuso de Roles Asumibles**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Asumir roles que tienen permisos elevados.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark>

  ```bash
  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>
  ```

4. <mark style="color:green;">**GKE Privilege Escalation**</mark>

* <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Explotar configuraciones incorrectas de Kubernetes Engine (GKE) para obtener permisos elevados.
* <mark style="color:green;">**Ejemplo**</mark><mark style="color:green;">:</mark> Abusar de las configuraciones RBAC en GKE para ejecutar comandos privilegiados.
