From cb166d5f4afb02298b38aeefdf36bb3b8141c75f Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 25 Feb 2025 22:30:56 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-containe --- .../az-container-instances-apps-jobs.md | 117 ++++++++++++++++++ 1 file changed, 117 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..a0473261e --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md @@ -0,0 +1,117 @@ +# Az - Container Instances + +{{#include ../../../banners/hacktricks-training.md}} + +## 기본 정보 + +**Azure Container Instances (ACI)**는 기본 인프라를 관리하지 않고도 개별 컨테이너를 신속하게 실행할 수 있는 서버리스 컨테이너 서비스입니다. **Azure Container Apps (ACA)**는 이벤트 기반 자동 확장, 내장 Dapr 통합 및 복잡한 오케스트레이션 시나리오 지원과 같은 기능을 갖춘 마이크로서비스 및 웹 앱을 실행하기 위한 완전 관리형 환경을 제공합니다. **Container App Jobs**는 유한한 기간 동안 실행되고 종료되는 단기, 배치 또는 예약 작업을 실행하기 위해 ACA 내에서 설계된 특수 기능입니다. + +차이점: +- ACI는 최소한의 오케스트레이션이 필요한 **단순한** 독립형 컨테이너 워크로드에 적합합니다. +- ACA는 자동 확장 및 서비스 검색과 같은 고급 기능을 갖춘 확장 가능하고 상호 연결된 마이크로서비스를 구축하는 데 가장 적합합니다. +- Container App Jobs는 **일회성 또는 예약된 작업**에 중점을 두어 ACA 환경 내에서 백그라운드 또는 배치 작업을 실행하는 간소화된 방법을 제공합니다. + + +### 구성 + +**ACI**에 대한 특별 옵션: +- 네트워킹과 관련하여 다음 3가지 옵션 중 하나를 선택할 수 있습니다: +- **공용** (기본값) +- **사설** (VNet에서만 접근 가능) +- **없음** (네트워크 접근 없음) + +**ACA**에 대한 특별 옵션: +- 컨테이너에 대한 **트래픽을 제한**하거나 공용으로 남길 수 있습니다. +- 인증을 위해 **외부 ID 공급자**(Microsoft, Facebook, Google, Twitter)를 사용할 수 있습니다. +- **앱 비밀**을 저장할 수 있습니다 (앱의 일반 텍스트 또는 MI에 대한 접근 권한을 부여하여 금고에 대한 링크로). +- **앱의 수정 및 복제본**을 가질 수 있습니다. +- 컨테이너를 사용하지 않고 특정 **소스 코드 또는 아티팩트**에서 배포할 수 있습니다. 소스 코드의 경우 GitHub에 대한 접근 권한이 부여되어야 합니다. 아티팩트의 경우 앱을 생성한 후 업로드할 수 있습니다. + +**작업**에 대한 특별 옵션: +- 트리거 유형은 **수동, 예약 또는 이벤트 기반**(예: 큐에 메시지가 도착하는 경우)일 수 있습니다. + +공통 옵션: +- 컨테이너를 생성하기 위해 공용 이미지, Azure Container Registry의 컨테이너 이미지 또는 외부 리포지토리를 사용할 수 있으며, 이 경우 **접근을 위한 비밀번호를 구성해야 할 수 있습니다**. +- 이는 컨테이너의 구성이 민감한 정보를 포함할 수 있음을 의미합니다. +- 또한 다음과 같은 일반 도커 설정을 구성할 수 있습니다: +- **환경 변수** (민감한 정보 확인) +- **볼륨** (Azure Files에서조차) +- **노출할 포트** +- **CPU 및 메모리 한도** +- **재시작 정책** +- **특권으로 실행** +- 컨테이너의 **명령줄 및 인수 덮어쓰기** (기존 컨테이너에서도 수정 가능) +- ... + +## 열거 + +> [!WARNING] +> 열거할 때 **환경 변수**, **네트워크 세부정보** 또는 **관리 ID**와 같은 민감한 구성을 노출할 수 있습니다. +```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 +``` +## 권한 상승 및 포스트 익스플로잇 + +{{#ref}} +../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md +{{#endref}} + +{{#include ../../../banners/hacktricks-training.md}}