Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes

This commit is contained in:
Translator
2025-01-26 15:10:09 +00:00
parent 0868c9c8f9
commit 8a5ddc8abd
3 changed files with 28 additions and 22 deletions

View File

@@ -10,7 +10,7 @@ Aprende los conceptos básicos de Azure y Entra ID en la siguiente página:
az-basic-information/
{{#endref}}
## Metodología de Pentesting/Red Team de Azure
## Metodología de Pentesting/Red Team en Azure
Para auditar un entorno AZURE, es muy importante saber: qué **servicios se están utilizando**, qué está **siendo expuesto**, quién tiene **acceso** a qué, y cómo están conectados los servicios internos de Azure y los **servicios externos**.
@@ -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)
- **Brechas** de terceros
- **Terceros comprometidos**
- 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,7 +45,7 @@ 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)
@@ -72,7 +72,7 @@ Las siguientes herramientas serán muy útiles para enumerar tanto inquilinos de
az-enumeration-tools.md
{{#endref}}
### Bypass de Condiciones de Inicio de Sesión
### Bypass de Políticas de Acceso
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
@@ -81,10 +81,16 @@ 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 las credenciales del Principal de Servicio** ya que generalmente son menos limitadas y su inicio de sesión es menos revisado
- También puedes intentar **comprometer las credenciales del 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.
Consulta:
{{#ref}}
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
{{#endref}}
### Whoami
> [!CAUTION]
@@ -135,7 +141,7 @@ Get-AzureADTenantDetail
{{#endtabs }}
### Enumeración de Entra ID y Escalación de Privilegios
### Enumeración de Entra ID y Privesc
Por defecto, cualquier usuario debería tener **suficientes permisos para enumerar** cosas como usuarios, grupos, roles, principales de servicio... (ver [permisos predeterminados de AzureAD](az-basic-information/index.html#default-user-permissions)).\
Aquí puedes encontrar una guía:
@@ -151,7 +157,7 @@ az-enumeration-tools.md#automated-post-exploitation-tools
{{#endref}}
### Enumerar Servicios de Azure
### Enumeración de Azure
Una vez que sepas quién eres, puedes comenzar a enumerar los **servicios de Azure a los que tienes acceso**.
@@ -159,7 +165,7 @@ 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**.
El comando de Az PowerShell **`Get-AzResource`** te permite **conocer los recursos 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: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
@@ -186,7 +192,7 @@ En la siguiente sección puedes encontrar **información sobre los servicios de
az-services/
{{#endref}}
### Escalación de Privilegios, Post-Explotación y Persistencia en Servicios de Azure
### Escalación de Privilegios, Post-Explotación y Persistencia
Una vez que sepas cómo está estructurado el entorno de Azure y qué servicios se están utilizando, puedes comenzar a buscar formas de **escalar privilegios, moverte lateralmente, realizar otros ataques de post-explotación y mantener persistencia**.

View File

@@ -1,10 +1,10 @@
# Az - Persistence
# Az - Persistencia
{{#include ../../../banners/hacktricks-training.md}}
### Concesión Ilícita de Consentimiento
### Aplicación OAuth
Por defecto, cualquier usuario puede registrar una aplicación en Azure AD. Así que puedes registrar una aplicación (solo para el inquilino objetivo) que necesite permisos de alto impacto con consentimiento de administrador (y aprobarlo si eres el administrador) - como enviar correos en nombre de un usuario, gestión de roles, etc. Esto nos permitirá **ejecutar ataques de phishing** que serían muy **fructíferos** en caso de éxito.
Por defecto, cualquier usuario puede registrar una aplicación en Entra ID. Así que puedes registrar una aplicación (solo para el inquilino objetivo) que necesite permisos de alto impacto con consentimiento de administrador (y aprobarlo si eres el administrador) - como enviar correos en nombre de un usuario, gestión de roles, etc. Esto nos permitirá **ejecutar ataques de phishing** que serían muy **fructíferos** en caso de éxito.
Además, también podrías aceptar esa aplicación con tu usuario como una forma de mantener el acceso sobre ella.

View File

@@ -400,19 +400,19 @@ Get-AzureADGroup -ObjectId <id> | Get-AzureADGroupAppRoleAssignment | fl *
#### Agregar usuario al grupo
Los propietarios del grupo pueden agregar nuevos usuarios al grupo.
Los propietarios del grupo pueden agregar nuevos usuarios al grupo
```bash
Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
```
> [!WARNING]
> Los grupos pueden ser dinámicos, lo que básicamente significa que **si un usuario cumple ciertas condiciones, será agregado a un grupo**. Por supuesto, si las condiciones se basan en **atributos** que un **usuario** puede **controlar**, podría abusar de esta función para **entrar en otros grupos**.\
> Los grupos pueden ser dinámicos, lo que básicamente significa que **si un usuario cumple ciertas condiciones, será agregado a un grupo**. Por supuesto, si las condiciones se basan en **atributos** que un **usuario** puede **controlar**, podría abusar de esta función para **ingresar a otros grupos**.\
> Consulta cómo abusar de grupos dinámicos en la siguiente página:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
{{#endref}}
### Service Principals
### Principales de Servicio
Para más información sobre los principales de servicio de Entra ID, consulta:
@@ -608,10 +608,10 @@ Para más información sobre Aplicaciones consulta:
../az-basic-information/
{{#endref}}
Cuando se genera una App, se otorgan 2 tipos de permisos:
Cuando se genera una aplicación, se otorgan 2 tipos de permisos:
- **Permisos** otorgados al **Service Principal**
- **Permisos** que la **app** puede tener y usar en **nombre del usuario**.
- **Permisos** que la **aplicación** puede tener y usar en **nombre del usuario**.
{{#tabs }}
{{#tab name="az cli" }}
@@ -661,7 +661,7 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
> [!WARNING]
> Una aplicación con el permiso **`AppRoleAssignment.ReadWrite`** puede **escalar a Global Admin** al otorgarse a sí misma el rol.\
> Para más información [**verifica esto**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
> Para más información [**ver esto**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
> [!NOTE]
> Una cadena secreta que la aplicación utiliza para probar su identidad al solicitar un token es la contraseña de la aplicación.\
@@ -933,7 +933,7 @@ Cuando PIM está habilitado, es posible configurar cada rol con ciertos requisit
- Tiempo máximo para expirar las asignaciones elegibles
- Mucha más configuración sobre cuándo y a quién enviar notificaciones cuando ocurren ciertas acciones con ese rol
### Políticas de Acceso Condicional <a href="#title-text" id="title-text"></a>
### Políticas de Acceso Condicional
Verifique:
@@ -941,11 +941,11 @@ Verifique:
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
{{#endref}}
### Protección de Identidad de Entra <a href="#title-text" id="title-text"></a>
### Protección de Identidad de Entra
La Protección de Identidad de Entra es un servicio de seguridad que permite **detectar cuando un usuario o un inicio de sesión es demasiado arriesgado** para ser aceptado, permitiendo **bloquear** al usuario o el intento de inicio de sesión.
La Protección de Identidad de Entra es un servicio de seguridad que permite **detectar cuándo un usuario o un inicio de sesión es demasiado arriesgado** para ser aceptado, permitiendo **bloquear** al usuario o el intento de inicio de sesión.
Permite al administrador configurarlo para **bloquear** intentos cuando el riesgo es "Bajo y superior", "Medio y superior" o "Alto". Aunque, por defecto está completamente **deshabilitado**:
Permite al administrador configurarlo para **bloquear** intentos cuando el riesgo es "Bajo y superior", "Medio y superior" o "Alto". Sin embargo, por defecto está completamente **deshabilitado**:
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>