mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 11:07:37 -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}}
|
||||
|
||||
## Osnovne informacije
|
||||
|
||||
**Azure Container Instances (ACI)** je serverless usluga kontejnera koja vam omogućava da brzo pokrenete pojedinačne kontejnere bez upravljanja bilo kojom infrastrukturom. **Azure Container Apps (ACA)** proširuje ovo nudeći potpuno upravljano okruženje za pokretanje mikroservisa i web aplikacija sa funkcijama kao što su automatsko skaliranje zasnovano na događajima, ugrađena Dapr integracija i podrška za složene orkestracione scenarije. **Container App Jobs** su specijalizovana funkcija unutar ACA dizajnirana za pokretanje kratkotrajnih, serijskih ili zakazanih zadataka koji se izvršavaju tokom ograničenog vremena i zatim izlaze.
|
||||
|
||||
Razlike:
|
||||
- ACI je idealan za **jednostavne**, samostalne radne opterećenja kontejnera gde je potrebna minimalna orkestracija.
|
||||
- ACA je najbolje prilagođena za izgradnju skalabilnih, međusobno povezanih mikroservisa sa naprednim funkcijama kao što su automatsko skaliranje i otkrivanje usluga.
|
||||
- Container App Jobs se fokusiraju na **jednokratne ili zakazane zadatke**, pružajući pojednostavljen način za pokretanje pozadinskih ili serijskih poslova unutar ACA okruženja.
|
||||
|
||||
### Konfiguracije
|
||||
|
||||
Specijalne opcije za **ACI**:
|
||||
- U vezi sa mrežom, moguće je odabrati jednu od ovih 3 opcije:
|
||||
- **Javna** (podrazumevano)
|
||||
- **Privatna** (pristup samo sa VNet-a)
|
||||
- **Nema** (nema pristupa mreži)
|
||||
|
||||
Specijalne opcije za **ACA**:
|
||||
- Moguće je **ograničiti saobraćaj** do kontejnera na okruženje kontejner aplikacije ili ga ostaviti javnim.
|
||||
- Moguće je koristiti **spoljašnjeg provajdera identiteta** (Microsoft, Facebook, Google i Twitter) za autentifikaciju.
|
||||
- Moguće je **čuvati tajne aplikacije** (u čistom tekstu ili kao linkove ka trezoru dodeljujući MI sa pristupom).
|
||||
- Moguće je imati **revizije i replike aplikacije**.
|
||||
- Moguće je implementirati iz specifičnog **izvora koda ili artefakta** umesto korišćenja kontejnera. Za izvorni kod, mora se omogućiti pristup Gihubu. Za artefakte, moguće je učitati ih nakon kreiranja aplikacije.
|
||||
|
||||
Specijalne opcije za **poslove**:
|
||||
- Tip okidača može biti **ručni, zakazani ili zasnovan na događaju** (kao što je dolazak poruke u red).
|
||||
|
||||
Zajedničke opcije:
|
||||
- Da biste kreirali kontejner, moguće je koristiti javnu sliku, sliku kontejnera iz Azure Container Registry ili spoljašnje skladište, što može **zahtevati konfiguraciju lozinke** za pristup.
|
||||
- To znači da konfiguracija kontejnera može sadržati osetljive informacije.
|
||||
- Takođe je moguće konfigurirati uobičajene docker postavke kao što su:
|
||||
- **Promenljive okruženja** (proverite za osetljive informacije)
|
||||
- **Volumeni** (čak i iz Azure Files)
|
||||
- **Portovi** za izlaganje
|
||||
- **CPU i memorijski limiti**
|
||||
- **Politika ponovnog pokretanja**
|
||||
- **Pokreni kao privilegovan**
|
||||
- Prepisati **komandnu liniju kontejnera za pokretanje i argumente** (može se modifikovati i u postojećim kontejnerima)
|
||||
- ...
|
||||
|
||||
## Enumeracija
|
||||
|
||||
> [!WARNING]
|
||||
> Kada enumerišete, možete otkriti osetljive konfiguracije kao što su **promenljive okruženja**, **mrežni detalji** ili **upravljani identiteti**.
|
||||
```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>
|
||||
```
|
||||
## Eskalacija privilegija i post eksploatacija
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user