From 0af23fe029c5ac9c839be24b10b04bb24783764c Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 25 Feb 2025 22:31:10 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-containe --- .../az-container-instances-apps-jobs.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md new file mode 100644 index 000000000..fee09272a --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md @@ -0,0 +1,116 @@ +# Az - Container Instances + +{{#include ../../../banners/hacktricks-training.md}} + +## Informazioni di base + +**Azure Container Instances (ACI)** è un servizio di container senza server che consente di eseguire singoli container rapidamente senza gestire alcuna infrastruttura sottostante. **Azure Container Apps (ACA)** estende questo offrendo un ambiente completamente gestito per l'esecuzione di microservizi e app web con funzionalità come l'autoscaling basato su eventi, integrazione Dapr integrata e supporto per scenari di orchestrazione complessi. **Container App Jobs** è una funzionalità specializzata all'interno di ACA progettata per eseguire attività a breve termine, batch o pianificate che vengono eseguite per un periodo finito e poi terminano. + +Differenze: +- ACI è ideale per carichi di lavoro di container **semplici** e autonomi dove è necessaria una minima orchestrazione. +- ACA è più adatta per costruire microservizi scalabili e interconnessi con funzionalità avanzate come l'autoscaling e la scoperta dei servizi. +- Container App Jobs si concentrano su **attività una tantum o pianificate**, fornendo un modo semplificato per eseguire lavori in background o batch all'interno dell'ambiente ACA. + +### Configurazioni + +Opzioni speciali per **ACI**: +- Per quanto riguarda la rete, è possibile selezionare una di queste 3 opzioni: +- **Pubblica** (predefinita) +- **Privata** (accessibile solo dalla VNet) +- **Nessuna** (nessun accesso alla rete) + +Opzioni speciali per **ACA**: +- È possibile **limitare il traffico** al container all'ambiente dell'app container o lasciarlo pubblico. +- È possibile utilizzare un **fornitore di identità esterno** (Microsoft, Facebook, Google e Twitter) per l'autenticazione. +- È possibile **memorizzare i segreti dell'app** (in chiaro o come link a un vault assegnando un MI con accesso su di esso). +- È possibile avere **revisioni e repliche dell'app**. +- È possibile distribuire da un **codice sorgente o artefatto specifico** invece di utilizzare un container. Per il codice sorgente, deve essere fornito l'accesso a GitHub. Per gli artefatti, è possibile caricarli dopo aver creato l'app. + +Opzioni speciali per **jobs**: +- Il tipo di attivazione può essere **manuale, pianificato o basato su eventi** (come un messaggio che arriva in una coda). + +Opzioni comuni: +- Per creare un container è possibile utilizzare un'immagine pubblica, un'immagine di container da un Azure Container Registry o un repository esterno, che potrebbe **richiedere di configurare una password** per accedervi. +- Ciò significa che la configurazione del container potrebbe contenere informazioni sensibili. +- È anche possibile configurare impostazioni docker comuni come: +- **Variabili di ambiente** (controllare le informazioni sensibili) +- **Volumi** (anche da Azure Files) +- **Porte** da esporre +- **Limiti di CPU e memoria** +- **Politica di riavvio** +- **Esegui come privilegiato** +- Sovrascrivere **la riga di comando del container da eseguire e gli argomenti** (può essere modificato anche nei container esistenti) +- ... + +## Enumerazione + +> [!WARNING] +> Durante l'enumerazione, potresti rivelare configurazioni sensibili come **variabili di ambiente**, **dettagli di rete** o **identità gestite**. +```bash +# ACI +## List all container instances in the subscription +az container list + +## Show detailed information about a specific container instance +az container show --name --resource-group + +## Fetch logs from a container +az container logs --name --resource-group + +## Execute a command in a running container and get the output +az container exec --name --resource-group --exec-command "/bin/sh" # Get a shell + +## Get yaml configuration of the container group +az container export --name --resource-group --file + +# ACA +## List all container apps in the subscription +az containerapp list + +## Show detailed information about a specific container app +az containerapp show --name --resource-group + +## List app environments +az containerapp env list --resource-group + +## Fetch logs from a container app +az containerapp logs show --name --resource-group + +## Get configured secrets +az containerapp secret list --name --resource-group +### Get value +az containerapp secret show --name --resource-group --secret-name + +## Get authentication options +az containerapp auth show --name --resource-group + +## Get a shell +az containerapp exec --name --resource-group --command "sh" + +## Get debugging shell +az containerapp debug --name --resource-group + +# Jobs +## List all container apps jobs in a resource group +az containerapp job list --resource-group + +## Show detailed information about a specific container app job +az containerapp job show --name --resource-group + +## Fetch logs from a container app job +az containerapp job logs show --name --resource-group + +## Fetch executions from a container app job +az containerapp job execution list --name --resource-group +az containerapp job execution show --name --resource-group --job-execution-name + +## Start a job execution (for manual jobs) +az containerapp job start --name --resource-group +``` +## Escalation dei privilegi e Post Exploitation + +{{#ref}} +../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md +{{#endref}} + +{{#include ../../../banners/hacktricks-training.md}}