mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-05 01:07:11 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -10,31 +10,31 @@ Per ulteriori informazioni controlla:
|
||||
../az-services/az-automation-accounts.md
|
||||
{{#endref}}
|
||||
|
||||
### Gruppo di Lavoratori Ibridi
|
||||
### Hybrid Workers Group
|
||||
|
||||
- **Dall'Account di Automazione alla VM**
|
||||
- **Dall'Automation Account alla VM**
|
||||
|
||||
Ricorda che se in qualche modo un attaccante può eseguire un runbook arbitrario (codice arbitrario) in un lavoratore ibrido, egli **si sposterà verso la posizione della VM**. Questa potrebbe essere una macchina on-premise, una VPC di un cloud diverso o anche una VM di Azure.
|
||||
Ricorda che se in qualche modo un attaccante può eseguire un runbook arbitrario (codice arbitrario) in un hybrid worker, egli **si sposterà verso la posizione della VM**. Questa potrebbe essere una macchina on-premise, una VPC di un altro cloud o anche una VM di Azure.
|
||||
|
||||
Inoltre, se il lavoratore ibrido è in esecuzione in Azure con altre Identità Gestite collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio di metadata**.
|
||||
Inoltre, se l'hybrid worker è in esecuzione in Azure con altre Managed Identities collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio metadata**.
|
||||
|
||||
> [!TIP]
|
||||
> Ricorda che il **servizio di metadata** ha un URL diverso (**`http://169.254.169.254`**) rispetto al servizio da cui ottenere il token delle identità gestite dell'account di automazione (**`IDENTITY_ENDPOINT`**).
|
||||
> Ricorda che il **servizio metadata** ha un URL diverso (**`http://169.254.169.254`**) rispetto al servizio da cui ottenere il token delle identità gestite dell'automation account (**`IDENTITY_ENDPOINT`**).
|
||||
|
||||
- **Dalla VM all'Account di Automazione**
|
||||
- **Dalla VM all'Automation Account**
|
||||
|
||||
Inoltre, se qualcuno compromette una VM in cui è in esecuzione uno script dell'account di automazione, sarà in grado di localizzare i **metadata dell'Account di Automazione** e accedervi dalla VM per ottenere token per le **Identità Gestite** collegate all'Account di Automazione.
|
||||
Inoltre, se qualcuno compromette una VM in cui è in esecuzione uno script dell'automation account, sarà in grado di localizzare i metadati dell'**Automation Account** e accedervi dalla VM per ottenere token per le **Managed Identities** collegate all'Automation Account.
|
||||
|
||||
Come è possibile vedere nell'immagine seguente, avendo accesso da Amministratore sulla VM è possibile trovare nelle **variabili d'ambiente del processo** l'URL e il segreto per accedere al servizio di metadata dell'account di automazione:
|
||||
Come è possibile vedere nell'immagine seguente, avendo accesso da Amministratore sulla VM è possibile trovare nelle **variabili d'ambiente del processo** l'URL e il segreto per accedere al servizio metadata dell'automation account:
|
||||
|
||||

|
||||
|
||||
|
||||
### `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`)
|
||||
|
||||
In sintesi, queste autorizzazioni consentono di **creare, modificare ed eseguire Runbooks** nell'Account di Automazione che potresti utilizzare per **eseguire codice** nel contesto dell'Account di Automazione e aumentare i privilegi alle **Identità Gestite** assegnate e rivelare **credenziali** e **variabili criptate** memorizzate nell'Account di Automazione.
|
||||
In sintesi, queste autorizzazioni consentono di **creare, modificare ed eseguire Runbooks** nell'Automation Account che potresti utilizzare per **eseguire codice** nel contesto dell'Automation Account e aumentare i privilegi alle **Managed Identities** assegnate e rivelare **credenziali** e **variabili criptate** memorizzate nell'Automation Account.
|
||||
|
||||
L'autorizzazione **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** consente di modificare il codice di un Runbook nell'Account di Automazione utilizzando:
|
||||
L'autorizzazione **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** consente di modificare il codice di un Runbook nell'Automation Account utilizzando:
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -47,7 +47,7 @@ $runbook_variable
|
||||
$creds.GetNetworkCredential().username
|
||||
$creds.GetNetworkCredential().password'
|
||||
```
|
||||
Nota come lo script precedente può essere utilizzato per **leak the useranmd and password** di una credenziale e il valore di una **encrypted variable** memorizzata nell'Automation Account.
|
||||
Nota come lo script precedente può essere utilizzato per **leakare il nome utente e la password** di una credenziale e il valore di una **variabile crittografata** memorizzata nell'Automation Account.
|
||||
|
||||
Il permesso **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** consente all'utente di pubblicare un Runbook nell'Automation Account affinché le modifiche vengano applicate:
|
||||
```bash
|
||||
@@ -75,7 +75,7 @@ az automation runbook create --automation-account-name <account-name> --resource
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Questo permesso consente all'utente di **assegnare un'identità gestita dall'utente** all'Automation Account utilizzando:
|
||||
Questa autorizzazione consente all'utente di **assegnare un'identità gestita dall'utente** all'Automation Account utilizzando:
|
||||
```bash
|
||||
az rest --method PATCH \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>?api-version=2020-01-13-preview" \
|
||||
@@ -213,9 +213,9 @@ az rest --method PUT \
|
||||
}
|
||||
}'
|
||||
```
|
||||
### Ambienti di Runtime Personalizzati
|
||||
### Ambienti di Esecuzione Personalizzati
|
||||
|
||||
Se un account di automazione utilizza un ambiente di runtime personalizzato, potrebbe essere possibile sovrascrivere un pacchetto personalizzato del runtime con del codice malevolo (come **una backdoor**). In questo modo, ogni volta che un runbook che utilizza quel runtime personalizzato viene eseguito e carica il pacchetto personalizzato, il codice malevolo verrà eseguito.
|
||||
Se un account di automazione utilizza un ambiente di esecuzione personalizzato, potrebbe essere possibile sovrascrivere un pacchetto personalizzato dell'ambiente con del codice malevolo (come **una backdoor**). In questo modo, ogni volta che un runbook che utilizza quell'ambiente personalizzato viene eseguito e carica il pacchetto personalizzato, il codice malevolo verrà eseguito.
|
||||
|
||||
### Compromissione della Configurazione di Stato
|
||||
|
||||
@@ -224,7 +224,7 @@ Se un account di automazione utilizza un ambiente di runtime personalizzato, pot
|
||||
- Passo 1 — Creare File
|
||||
|
||||
**File Richiesti:** Sono necessari due script PowerShell:
|
||||
1. `reverse_shell_config.ps1`: Un file di Desired State Configuration (DSC) che recupera ed esegue il payload. È disponibile su [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1).
|
||||
1. `reverse_shell_config.ps1`: Un file di Configurazione di Stato Desiderato (DSC) che recupera ed esegue il payload. È disponibile su [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1).
|
||||
2. `push_reverse_shell_config.ps1`: Uno script per pubblicare la configurazione sulla VM, disponibile su [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1).
|
||||
|
||||
**Personalizzazione:** Le variabili e i parametri in questi file devono essere adattati all'ambiente specifico dell'utente, inclusi nomi delle risorse, percorsi dei file e identificatori di server/payload.
|
||||
|
||||
Reference in New Issue
Block a user