From 30222e2bfc1a5f515fe25b678d5e29a2b7952f7d Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 25 Feb 2025 22:31:04 +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..00ce6dc3d --- /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}} + +## Basiese Inligting + +**Azure Container Instances (ACI)** is 'n serverlose houerdiens wat jou toelaat om individuele houers vinnig te laat loop sonder om enige onderliggende infrastruktuur te bestuur. **Azure Container Apps (ACA)** brei dit uit deur 'n volledig bestuurde omgewing te bied vir die uitvoering van mikrodiens en webtoepassings met kenmerke soos gebeurtenisgedrewe outoskalering, ingeboude Dapr-integrasie, en ondersteuning vir komplekse orkestrasie-scenario's. **Container App Jobs** is 'n gespesialiseerde kenmerk binne ACA wat ontwerp is om kortstondige, batch, of geskeduleerde take uit te voer wat vir 'n beperkte tyd loop en dan verlaat. + +Verskille: +- ACI is ideaal vir **eenvoudige**, standalone houer werklade waar minimale orkestrasie benodig word. +- ACA is die beste geskik vir die bou van skaalbare, onderling verbonde mikrodiens met gevorderde kenmerke soos outoskalering en diensontdekking. +- Container App Jobs fokus op **eenmalige of geskeduleerde take**, wat 'n gestroomlynde manier bied om agtergrond- of batchtake binne die ACA-omgewing uit te voer. + +### Konfigurasies + +Spesiale opsies vir **ACI**: +- Ten opsigte van netwerk is dit moontlik om een van hierdie 3 opsies te kies: +- **Publiek** (verstek) +- **Privaat** (slegs toeganklik vanaf die VNet) +- **Geen** (geen netwerktoegang) + +Spesiale opsies vir **ACA**: +- Dit is moontlik om die **verkeer** na die houer na die houer-app omgewing te beperk of dit publiek te laat. +- Dit is moontlik om 'n **eksterne identiteitsverskaffer** (Microsoft, Facebook, Google, en Twitter) vir outentisering te gebruik. +- Dit is moontlik om **App geheime** te **stoor** (in duidelike teks of as skakels na 'n kluis wat 'n MI met toegang daartoe toewys). +- Dit is moontlik om **hervisions en replika's van die app** te hê. +- Dit is moontlik om van 'n spesifieke **bronskode of artefak** te ontplooi in plaas van om 'n houer te gebruik. Vir die bronskode moet toegang tot GitHub gegee word. Vir artefakte is dit moontlik om dit op te laai nadat die app geskep is. + +Spesiale opsies vir **take**: +- Die sneller tipe kan **handmatig, geskeduleer of gebeurtenis-gebaseerd** wees (soos 'n boodskap wat in 'n waglys aankom). + +Algemene opsies: +- Ten einde 'n houer te skep, is dit moontlik om 'n publieke beeld, 'n houerbeeld van 'n Azure Container Registry of 'n eksterne repo te gebruik, wat dalk **vereis om 'n wagwoord te konfigureer** om toegang te verkry. +- Dit beteken dat die konfigurasie van die houer sensitiewe inligting kan bevat. +- Dit is ook moontlik om algemene docker-instellings te konfigureer soos: +- **Omgewing veranderlikes** (kyk vir sensitiewe inligting) +- **Volumes** (selfs van Azure Files) +- **Poorte** om bloot te stel +- **CPU en geheue beperkings** +- **Herstart beleid** +- **Loop as bevoorreg** +- Oorskry houers **opdraglyn om te loop en argumente** (kan ook in bestaande houers gewysig word) +- ... + +## Enumerasie + +> [!WARNING] +> Wanneer jy enumerate, kan jy sensitiewe konfigurasies soos **omgewing veranderlikes**, **netwerk besonderhede**, of **bestuurde identiteite** onthul. +```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 +``` +## Privilege Escalation & Post Exploitation + +{{#ref}} +../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md +{{#endref}} + +{{#include ../../../banners/hacktricks-training.md}}