Translated ['src/pentesting-cloud/azure-security/README.md'] to es

This commit is contained in:
Translator
2025-03-04 22:09:21 +00:00
parent 26672d0423
commit 1ce6948b5b
2 changed files with 39 additions and 16 deletions

View File

@@ -417,15 +417,18 @@
- [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md)
- [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md)
- [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md)
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
- [Az - Defender](pentesting-cloud/azure-security/az-services/az-defender.md)
- [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md)
- [Az - Function Apps](pentesting-cloud/azure-security/az-services/az-function-apps.md)
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
- [Az - Key Vault](pentesting-cloud/azure-security/az-services/az-keyvault.md)
- [Az - Logic Apps](pentesting-cloud/azure-security/az-services/az-logic-apps.md)
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
- [Az - Monitoring](pentesting-cloud/azure-security/az-services/az-monitoring.md)
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
- [Az - Sentinel](pentesting-cloud/azure-security/az-services/az-sentinel.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)

View File

@@ -34,7 +34,7 @@ Con esta información, las formas más comunes de intentar obtener un punto de a
- Comprar credenciales a un empleado
- [**Phishing Común**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (credenciales o aplicación Oauth)
- [Phishing de Autenticación con Código de Dispositivo](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- **Terceros comprometidos**
- **brechas** de terceros
- Vulnerabilidades en Aplicaciones Alojadas en Azure
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) con acceso al endpoint de metadatos
- **Tomas de subdominio** como en [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
@@ -45,15 +45,15 @@ Con esta información, las formas más comunes de intentar obtener un punto de a
- **`clouds.config` contiene** información sobre suscripciones
- **`service_principal_entries.json`** contiene credenciales de aplicaciones (ID de inquilino, clientes y secreto). Solo en Linux y macOS
- **`msal_token_cache.json`** contiene tokens de acceso y tokens de actualización. Solo en Linux y macOS
- **`service_principal_entries.bin`** y **msal_token_cache.bin** se utilizan en Windows y están encriptados con DPAPI
- **`service_principal_entries.bin`** y msal_token_cache.bin se utilizan en Windows y están encriptados con DPAPI
- **`msal_http_cache.bin`** es un caché de solicitudes HTTP
- Cárgalo: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** contiene información sobre inicios de sesión anteriores usando Az PowerShell (pero no credenciales)
- Dentro de **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** hay varios archivos `.bin` con **tokens de acceso**, tokens de ID e información de cuentas encriptada con el DPAPI del usuario.
- Dentro de **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** hay varios archivos `.bin` con **tokens de acceso**, tokens de ID e información de cuentas encriptada con el DPAPI de los usuarios.
- Es posible encontrar más **tokens de acceso** en los archivos `.tbres` dentro de **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** que contienen un base64 encriptado con DPAPI con tokens de acceso.
- En Linux y macOS puedes obtener **tokens de acceso, tokens de actualización y tokens de ID** desde Az PowerShell (si se usó) ejecutando `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
- En Windows, esto solo genera tokens de ID.
- Es posible ver si se usó Az PowerShell en Linux y macOS verificando si existe `$HOME/.local/share/.IdentityService/` (aunque los archivos contenidos están vacíos y son inútiles)
- Es posible ver si se utilizó Az PowerShell en Linux y macOS verificando si existe `$HOME/.local/share/.IdentityService/` (aunque los archivos contenidos están vacíos y son inútiles)
Encuentra **otras configuraciones incorrectas de servicios de Azure** que pueden llevar a un punto de apoyo en la siguiente página:
@@ -80,8 +80,8 @@ En casos donde tienes algunas credenciales válidas pero no puedes iniciar sesi
- **Lista blanca de IP** -- Necesitas comprometer una IP válida
- **Restricciones geográficas** -- Encuentra dónde vive el usuario o dónde están las oficinas de la empresa y obtén una IP de la misma ciudad (o país al menos)
- **Navegador** -- Tal vez solo se permite un navegador de cierto SO (Windows, Linux, Mac, Android, iOS). Descubre qué SO usa la víctima/empresa.
- También puedes intentar **comprometer credenciales de Service Principal** ya que suelen ser menos limitadas y su inicio de sesión es menos revisado
- **Navegador** -- Tal vez solo se permite un navegador de ciertos SO (Windows, Linux, Mac, Android, iOS). Descubre qué SO usa la víctima/empresa.
- También puedes intentar **comprometer credenciales de Service Principal** ya que generalmente son menos limitadas y su inicio de sesión es menos revisado
Después de eludirlo, podrías ser capaz de volver a tu configuración inicial y aún tendrás acceso.
@@ -165,29 +165,47 @@ Deberías comenzar a averiguar los **permisos que tienes** sobre los recursos. P
1. **Encuentra el recurso al que tienes acceso**:
El comando de Az PowerShell **`Get-AzResource`** te permite **saber los recursos sobre los que tu usuario actual tiene visibilidad**.
> [!TIP]
> Esto no requiere ningún permiso especial.
El comando de Az PowerShell **`Get-AzResource`** te permite **conocer los recursos sobre los que tu usuario actual tiene visibilidad**.
Además, puedes obtener la misma información en la **consola web** yendo a [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) o buscando "Todos los recursos" o ejecutando:
```bash
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
```
2. **Encuentra los permisos que tienes sobre los recursos a los que tienes acceso y encuentra los roles asignados a ti**:
2. **Encuentra los permisos que tienes sobre los recursos que puedes ver**:
Ten en cuenta que necesitas el permiso **`Microsoft.Authorization/roleAssignments/read`** para ejecutar esta acción.
> [!TIP]
> Esto no requiere ningún permiso especial.
Además, con suficientes permisos, el rol **`Get-AzRoleAssignment`** se puede usar para **enumerar todos los roles** en la suscripción o el permiso sobre un recurso específico indicándolo así:
Hablando con la API **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`**, puedes obtener los permisos que tienes sobre el recurso especificado en el **`resource_id`**.
Por lo tanto, **verificando cada uno de los recursos a los que tienes acceso**, puedes obtener los permisos que tienes sobre ellos.
> [!WARNING]
> Puedes automatizar esta enumeración utilizando la herramienta **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)**.
<details>
<summary>Enumera permisos con **`Microsoft.Authorization/roleAssignments/read`**</summary>
> [!TIP]
> Ten en cuenta que necesitas el permiso **`Microsoft.Authorization/roleAssignments/read`** para ejecutar esta acción.
- Con suficientes permisos, el rol **`Get-AzRoleAssignment`** se puede utilizar para **enumerar todos los roles** en la suscripción o el permiso sobre un recurso específico indicándolo como en:
```bash
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
```
También es posible obtener esta información ejecutando:
```bash
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value"
```
como en:
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value"
```
Otra opción es obtener los roles asignados a ti en azure con:
- Otra opción es **obtener los roles asignados a ti en azure**. Esto también requiere el permiso **`Microsoft.Authorization/roleAssignments/read`**:
```bash
az role assignment list --assignee "<email>" --all --output table
```
@@ -195,14 +213,16 @@ O ejecutando lo siguiente (Si los resultados están vacíos, puede ser porque no
```bash
az rest --method GET --uri 'https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
```
3. **Encuentra los permisos granulares de los roles asignados a ti**:
- **Encuentra los permisos granulares de los roles asignados a ti**:
Luego, para obtener el permiso granular, podrías ejecutar **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
O llama a la API directamente con
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2022-04-01" | jq ".properties"
```
</details>
En la siguiente sección puedes encontrar **información sobre los servicios de Azure más comunes y cómo enumerarlos**:
{{#ref}}