> For the complete documentation index, see [llms.txt](https://www.xtormin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.xtormin.com/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest.md).

# Metodología de Azure Pentest

<figure><img src="/files/Lu7PCsEMlhOKoobqiPU3" 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.

[Reconocimiento externo](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/reconocimiento-externo.md#enumeracion-del-tenant)

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

[Reconocimiento externo](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/reconocimiento-externo.md#enumeracion-de-emails)

</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**:

[Reconocimiento externo](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/reconocimiento-externo.md#enumeracion-de-subdominios-y-servicios)

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

[Acceso inicial](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/acceso-inicial.md#vulnerabilidades-web)

</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="/pages/hYksaFgnXHzW8LQ3jdfF" %}
[Acceso inicial](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/acceso-inicial.md)
{% 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="/files/7fgqz0aTuXNZzhcJuX4h" 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="/pages/aW02a1QY1Cs7w4ulNGWJ" %}
[Reconocimiento interno](/pentesting-en-infraestructuras/cloud/azure/metodologia-de-azure-pentest/reconocimiento-interno.md)
{% endcontent-ref %}

## Referencias

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