mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-14 22:03:11 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
@@ -12,16 +12,27 @@ Para más información, consulta:
|
||||
|
||||
### Grupo de Trabajadores Híbridos
|
||||
|
||||
Recuerda que si de alguna manera un atacante puede ejecutar un runbook arbitrario (código arbitrario) en un trabajador híbrido, él **se moverá a la ubicación de la VM**. Esto podría ser una máquina local, un VPC de otra nube o incluso una VM de Azure.
|
||||
- **Desde la Cuenta de Automatización a la VM**
|
||||
|
||||
Recuerda que si de alguna manera un atacante puede ejecutar un runbook arbitrario (código arbitrario) en un trabajador híbrido, él **se moverá a la ubicación de la VM**. Esto podría ser una máquina local, una VPC de otra nube o incluso una VM de Azure.
|
||||
|
||||
Además, si el trabajador híbrido se está ejecutando en Azure con otras Identidades Administradas adjuntas, el runbook podrá acceder a la **identidad administrada del runbook y todas las identidades administradas de la VM desde el servicio de metadatos**.
|
||||
|
||||
> [!TIP]
|
||||
> Recuerda que el **servicio de metadatos** tiene una URL diferente (**`http://169.254.169.254`**) que el servicio desde donde se obtiene el token de identidades administradas de la cuenta de automatización (**`IDENTITY_ENDPOINT`**).
|
||||
|
||||
- **Desde la VM a la Cuenta de Automatización**
|
||||
|
||||
Además, si alguien compromete una VM donde se está ejecutando un script de cuenta de automatización, podrá localizar los metadatos de la **Cuenta de Automatización** y acceder a ellos desde la VM para obtener tokens para las **Identidades Administradas** adjuntas a la Cuenta de Automatización.
|
||||
|
||||
Como se puede ver en la siguiente imagen, al tener acceso de Administrador sobre la VM, es posible encontrar en las **variables de entorno del proceso** la URL y el secreto para acceder al servicio de metadatos de la cuenta de automatización:
|
||||
|
||||

|
||||
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`)
|
||||
|
||||
En resumen, estos permisos permiten **crear, modificar y ejecutar Runbooks** en la Cuenta de Automatización, que podrías usar para **ejecutar código** en el contexto de la Cuenta de Automatización y escalar privilegios a las **Identidades Administradas** asignadas y filtrar **credenciales** y **variables encriptadas** almacenadas en la Cuenta de Automatización.
|
||||
Como resumen, estos permisos permiten **crear, modificar y ejecutar Runbooks** en la Cuenta de Automatización, que podrías usar para **ejecutar código** en el contexto de la Cuenta de Automatización y escalar privilegios a las **Identidades Administradas** asignadas y filtrar **credenciales** y **variables encriptadas** almacenadas en la Cuenta de Automatización.
|
||||
|
||||
El permiso **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** permite modificar el código de un Runbook en la Cuenta de Automatización usando:
|
||||
```bash
|
||||
@@ -58,7 +69,7 @@ El permiso **`Microsoft.Automation/automationAccounts/jobs/output/read`** permit
|
||||
az rest --method GET \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/jobs/<job-name>/output?api-version=2023-11-01"
|
||||
```
|
||||
Si no hay Runbooks creados, o si deseas crear uno nuevo, necesitarás los **permisos `Microsoft.Resources/subscriptions/resourcegroups/read` y `Microsoft.Automation/automationAccounts/runbooks/write`** para hacerlo usando:
|
||||
Si no hay Runbooks creados, o si deseas crear uno nuevo, necesitarás los **permisos `Microsoft.Resources/subscriptions/resourcegroups/read` y `Microsoft.Automation/automationAccounts/runbooks/write`** para hacerlo utilizando:
|
||||
```bash
|
||||
az automation runbook create --automation-account-name <account-name> --resource-group <res-group> --name <runbook-name> --type PowerShell
|
||||
```
|
||||
@@ -104,7 +115,7 @@ az automation schedule create \
|
||||
--frequency Minute \
|
||||
--interval 15
|
||||
```
|
||||
Luego, con el permiso **`Microsoft.Automation/automationAccounts/jobSchedules/write`** es posible asignar un Scheduler a un runbook usando:
|
||||
Luego, con el permiso **`Microsoft.Automation/automationAccounts/jobSchedules/write`** es posible asignar un Programador a un runbook usando:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-accounts>/jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \
|
||||
@@ -123,7 +134,7 @@ az rest --method PUT \
|
||||
}'
|
||||
```
|
||||
> [!TIP]
|
||||
> En el ejemplo anterior, el id del jobchedule se dejó como **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` como ejemplo** pero necesitarás usar un valor arbitrario para crear esta asignación.
|
||||
> En el ejemplo anterior, el id del jobchedule se dejó como **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` como ejemplo**, pero necesitarás usar un valor arbitrario para crear esta asignación.
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/webhooks/write`
|
||||
|
||||
@@ -179,7 +190,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e-
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`)
|
||||
|
||||
Este permiso permite al usuario **configurar un control de fuente** para la Cuenta de Automatización utilizando comandos como el siguiente (esto utiliza Github como ejemplo):
|
||||
Este permiso permite al usuario **configurar un control de fuente** para la Cuenta de Automatización utilizando comandos como los siguientes (esto utiliza Github como ejemplo):
|
||||
```bash
|
||||
az automation source-control create \
|
||||
--resource-group <res-group> \
|
||||
@@ -221,7 +232,7 @@ az rest --method PUT \
|
||||
|
||||
Si una cuenta de automatización está utilizando un entorno de ejecución personalizado, podría ser posible sobrescribir un paquete personalizado del entorno con algún código malicioso (como **una puerta trasera**). De esta manera, cada vez que se ejecute un runbook que utilice ese entorno personalizado y cargue el paquete personalizado, se ejecutará el código malicioso.
|
||||
|
||||
### Compromiso de la Configuración de Estado
|
||||
### Comprometiendo la Configuración de Estado
|
||||
|
||||
**Consulta la publicación completa en:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user