Az - Container Instances

Reading time: 5 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Azure Container Instances (ACI) ni huduma ya kontena isiyo na seva inayokuwezesha kuendesha kontena binafsi haraka bila kusimamia miundombinu yoyote ya msingi. Azure Container Apps (ACA) inapanua hii kwa kutoa mazingira yaliyosimamiwa kikamilifu kwa kuendesha microservices na programu za wavuti zenye vipengele kama vile autoscaling inayotokana na matukio, ujumuishaji wa Dapr uliojengwa ndani, na msaada kwa hali ngumu za uratibu. Container App Jobs ni kipengele maalum ndani ya ACA kilichoundwa kwa ajili ya kuendesha kazi za muda mfupi, kundi, au zilizopangwa ambazo zinafanyika kwa muda fulani kisha kuondoka.

Tofauti:

  • ACI ni bora kwa kazi rahisi, za pekee za kontena ambapo uratibu mdogo unahitajika.
  • ACA inafaa zaidi kwa kujenga microservices zinazoweza kupanuka, zilizounganishwa zenye vipengele vya juu kama autoscaling na ugunduzi wa huduma.
  • Container App Jobs zinazingatia kazi za mara moja au zilizopangwa, zikitoa njia rahisi ya kuendesha kazi za nyuma au kundi ndani ya mazingira ya ACA.

Configurations

Chaguzi maalum za ACI:

  • Kuhusu mtandao, inawezekana kuchagua moja ya chaguzi hizi 3:
  • Public (chaguo la kawaida)
  • Private (inapatikana tu kutoka VNet)
  • None (hakuna ufikiaji wa mtandao)

Chaguzi maalum za ACA:

  • Inawezekana kuzuia trafiki kwa kontena kwa mazingira ya programu ya kontena au kuacha kuwa hadharani.
  • Inawezekana kutumia mtoa kitambulisho wa nje (Microsoft, Facebook, Google, na Twitter) kwa ajili ya uthibitishaji.
  • Inawezekana kuhifadhi siri za programu (katika maandiko wazi ya programu au kama viungo kwa vault ikitenga MI yenye ufikiaji juu yake).
  • Inawezekana kuwa na mabadiliko na nakala za programu.
  • Inawezekana kupeleka kutoka kanuni maalum au kipande badala ya kutumia kontena. Kwa ajili ya kanuni, ufikiaji wa Gihub lazima utolewe. Kwa ajili ya vipande, inawezekana kupakia baada ya kuunda programu.

Chaguzi maalum za jobs:

  • Aina ya trigger inaweza kuwa ya mkono, iliyopangwa au inayotokana na tukio (kama ujumbe kufika kwenye foleni).

Chaguzi za kawaida:

  • Ili kuunda kontena, inawezekana kutumia picha ya umma, picha ya kontena kutoka kwenye Azure Container Registry au hifadhi ya nje, ambayo inaweza kuhitaji kusanidi nenosiri ili kuipata.
  • Hii ina maana kwamba usanidi wa kontena unaweza kuwa na taarifa nyeti.
  • Pia inawezekana kusanidi mipangilio ya kawaida ya docker kama:
  • Mabadiliko ya mazingira (angalia taarifa nyeti)
  • Volumes (hata kutoka Azure Files)
  • Ports za kufichua
  • Mipaka ya CPU na kumbukumbu
  • Sera ya kurejesha
  • Kukimbia kama mwenye mamlaka
  • Badilisha amri za kontena na hoja (zinaweza kubadilishwa katika kontena zilizopo pia)
  • ...

Enumeration

warning

Wakati wa kuhesabu, unaweza kufichua usanidi nyeti kama vile mabadiliko ya mazingira, maelezo ya mtandao, au identities zinazodhibitiwa.

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>

Kuinua Mamlaka & Baada ya Kutekeleza

Az - Container Instances, Apps & Jobs Privesc

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks