Metodología de Azure Pentest

Reconocimiento externo
El reconocimiento externo se realiza sin credenciales.
Partiendo de conocer el nombre del dominio y/o email se puede enumerar:
Información del Tenant
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.
Emails de la organización
Enumeración con lista de emails recopilados vía OSINT.
Enumeración con lista de posibles emails con nombres y formatos comunes.
Subdominios y servicios
Los servicios de Azure se encuentran disponibles en dominios y subdominios específicos, que pueden ser enumerados usando Microburst:
Aplicaciones web en Azure
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.
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).
Acceso inicial
Se consiguen credenciales, tokens o ejecución de código.
Reconocimiento interno
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.

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).
...
Referencias
Última actualización
