Az - Container Instances
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
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.
# ACI
## List all container instances in the subscription
az container list
## Show detailed information about a specific container instance
az container show --name <container-name> --resource-group <res-group>
## Fetch logs from a container
az container logs --name <container-name> --resource-group <res-group>
## Execute a command in a running container and get the output
az container exec --name <container-name> --resource-group <res-group> --exec-command "/bin/sh" # Get a shell
## Get yaml configuration of the container group
az container export --name <container-name> --resource-group <res-group> --file </path/local/file.yml>
# ACA
## List all container apps in the subscription
az containerapp list
## Show detailed information about a specific container app
az containerapp show --name <app-name> --resource-group <res-group>
## List app environments
az containerapp env list --resource-group <res-group>
## Fetch logs from a container app
az containerapp logs show --name <app-name> --resource-group <res-group>
## Get configured secrets
az containerapp secret list --name <app-name> --resource-group <res-group>
### Get value
az containerapp secret show --name <app-name> --resource-group <res-group> --secret-name <secret-name>
## Get authentication options
az containerapp auth show --name <app-name> --resource-group <res-group>
## Get a shell
az containerapp exec --name <app-name> --resource-group <res-group> --command "sh"
## Get debugging shell
az containerapp debug --name <app-name> --resource-group <res-group>
# Jobs
## List all container apps jobs in a resource group
az containerapp job list --resource-group <res-group>
## Show detailed information about a specific container app job
az containerapp job show --name <job-name> --resource-group <res-group>
## Fetch logs from a container app job
az containerapp job logs show --name <job-name> --resource-group <res-group>
## Fetch executions from a container app job
az containerapp job execution list --name <job-name> --resource-group <res-group>
az containerapp job execution show --name <job-name> --resource-group <res-group> --job-execution-name <job-execution>
## Start a job execution (for manual jobs)
az containerapp job start --name <job-name> --resource-group <res-group>
Escalation dei privilegi e Post Exploitation
Az - Container Instances, Apps & Jobs Privesc
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.