mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 21:13:45 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-containe
This commit is contained in:
@@ -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 <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
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user