# Metodología de Azure Pentest

<figure><img src="https://940481291-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFPk1C70Fp5SRurFLmfzj%2Fuploads%2FukS8oqzPSfTYzeXzCs84%2Fimage.png?alt=media&#x26;token=c3895827-63d6-489e-af74-c472dadf0a7b" alt=""><figcaption></figcaption></figure>

## <mark style="color:red;">Reconocimiento externo</mark>

{% hint style="danger" %}
El reconocimiento externo se realiza **sin credenciales**.
{% endhint %}

Partiendo de conocer el nombre del dominio y/o email se puede enumerar:

<details>

<summary>Información del Tenant</summary>

* Si la organización utiliza o no Tenant.
* ID del Tenant.
* Nombre del Tenant.
* Tipo de autenticación (Federada o no).
* Dominios.
* Servicios de Azure utilizados por la organización.
* Enumeración de IDs de emails.

[#enumeracion-del-tenant](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/reconocimiento-externo#enumeracion-del-tenant "mention")

</details>

<details>

<summary>Emails de la organización</summary>

* Enumeración con lista de emails recopilados vía OSINT.
* Enumeración con lista de posibles emails con nombres y formatos comunes.

[#enumeracion-de-emails](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/reconocimiento-externo#enumeracion-de-emails "mention")

</details>

<details>

<summary>Subdominios y servicios</summary>

Los servicios de Azure se encuentran disponibles en dominios y subdominios específicos, que pueden ser enumerados usando **Microburst**:

[#enumeracion-de-subdominios-y-servicios](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/reconocimiento-externo#enumeracion-de-subdominios-y-servicios "mention")

</details>

<details>

<summary>Aplicaciones web en Azure</summary>

Las aplicaciones web de Azure pueden ser explotadas, entre otras cosas, para:

* Enumerar posibles servicios expuestos como cuentas de almacenamiento (*Storage Accounts*).
* **\[Requiere RCE]** Obtener información sobre las variables de entorno de la identidad administrada usada por el servidor web que permite la generación de tokens para una posterior autenticación en Azure.

[#vulnerabilidades-web](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/acceso-inicial#vulnerabilidades-web "mention")

</details>

Con la información obtenida se enumerarán los distintos recursos expuestos, como podrían ser:

* Aplicaciones empresariales *(Enterprise Apps).*
* Servicios de aplicaciones *(App Services)*.
* Aplicaciones funcionales *(Function Apps)*.
* Almacenamiento inseguro *(Insecure Storage)*.

## <mark style="color:red;">Acceso inicial</mark>

{% hint style="success" %}
Se consiguen credenciales, tokens o ejecución de código.
{% endhint %}

{% content-ref url="metodologia-de-azure-pentest/acceso-inicial" %}
[acceso-inicial](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/acceso-inicial)
{% endcontent-ref %}

## <mark style="color:red;">Reconocimiento interno</mark>

### Enumeración de recursos

Una vez se obtienen credenciales podremos enumerar la distinta información accesible desde Azure según los permisos y recursos asociados al usuario.

Es posible que al intentar iniciar sesión nos encontremos con restricciones debido a la política de acceso condicional establecida para el usuario.

Se puede establecer a distintos niveles, entre otros:

* Basadas en IP.
* Restricciones a nivel de país.
* Acceso permitido vía Exchange Online, SharePoint Online, Teams y MS Graph.

Teniendo credenciales válidas, se pueden enumerar los distintos servicios de Azure:

* Computación: VMs, Kubernetes, Containers, Function Apps.
* Redes: VNet, VPN Gateway, Load Balancing, CDN.
* Almacenamiento: Blob, File, Queue, Table.
* Mobile: Back-end services.
* Databases: Cosmos DB, Managed SQL, MySQL, PostgresSQL Database.
* Web: App Service, API Management, Cognitive Search.
* Internet of Things (IoT).
* Big data.
* AI.
* DevOps.

<figure><img src="https://940481291-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFPk1C70Fp5SRurFLmfzj%2Fuploads%2F0Ky6F8AaOMxD7GSb3gf4%2Fimage.png?alt=media&#x26;token=bce88e80-c1f5-43c4-9f0f-82fd8c07db4b" alt=""><figcaption></figcaption></figure>

Los recursos más comunes que cuentan con configuraciones inseguras son:

* Cuentas de almacenamiento (Storage Accounts).
* Vaults de claves (Key Vaults).
* Blobs.
* Cuentas de automatización (Automation Accounts).
* Historial de despliegue (Deployment History).
* ...

{% content-ref url="metodologia-de-azure-pentest/reconocimiento-interno" %}
[reconocimiento-interno](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/reconocimiento-interno)
{% endcontent-ref %}

## Referencias

* <https://aadinternals.com/aadkillchain/>
