AWS - ECS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Amazon Elastic Container Services 또는 ECS는 클라우드에서 컨테이너화된 애플리케이션을 호스팅하는 플랫폼을 제공합니다. ECS는 EC2 인스턴스 유형과 서버리스 옵션인 Fargate의 두 가지 배포 방법을 가지고 있습니다. 이 서비스는 클라우드에서 컨테이너를 실행하는 것을 매우 쉽고 고통 없이 만들어 줍니다.
ECS는 다음 세 가지 구성 요소를 사용하여 운영됩니다: 클러스터, 서비스, 및 작업 정의.
클러스터는 클라우드에서 실행 중인 컨테이너 그룹입니다. 앞서 언급했듯이, 컨테이너에는 EC2와 Fargate의 두 가지 시작 유형이 있습니다. AWS는 EC2 시작 유형을 고객이 “[그들의] 컨테이너화된 애플리케이션을 Amazon EC2 인스턴스 클러스터에서 [그들이] 관리할 수 있도록 하는 것”으로 정의합니다. Fargate는 유사하며 “[당신이] 백엔드 인프라를 프로비저닝하고 관리할 필요 없이 컨테이너화된 애플리케이션을 실행할 수 있도록 하는 것”으로 정의됩니다.
서비스는 클러스터 내에서 생성되며 작업을 실행하는 책임이 있습니다. 서비스 정의 내에서 실행할 작업 수, 자동 확장, 용량 제공자(Fargate/EC2/External), 네트워킹 정보(예: VPC, 서브넷, 보안 그룹)를 정의합니다.
애플리케이션의 유형은 2가지입니다:
서비스: 중단 및 재시작할 수 있는 장기 실행 컴퓨팅 작업을 처리하는 작업 그룹입니다. 예를 들어, 웹 애플리케이션입니다.
작업: 실행되고 종료되는 독립형 작업입니다. 예를 들어, 배치 작업입니다.
서비스 애플리케이션 중에는 2가지 유형의 서비스 스케줄러가 있습니다:
REPLICA: 복제 스케줄링 전략은 클러스터 전반에 걸쳐 원하는 수의 작업을 배치하고 유지합니다. 어떤 이유로 작업이 종료되면, 동일한 또는 다른 노드에서 새 작업이 시작됩니다.
DAEMON: 필요한 요구 사항이 있는 각 활성 컨테이너 인스턴스에서 정확히 하나의 작업을 배포합니다. 원하는 작업 수, 작업 배치 전략 또는 서비스 자동 확장 정책을 지정할 필요가 없습니다.
작업 정의는 어떤 컨테이너가 실행될지를 정의하는 책임이 있으며, 호스트와의 포트 매핑, 환경 변수, Docker entrypoint 등과 같은 다양한 매개변수를 구성합니다.
민감한 정보에 대한 환경 변수를 확인하세요!
작업 정의는 ECS에서 실행될 실제 컨테이너를 구성하는 책임이 있습니다. 작업 정의는 컨테이너가 어떻게 실행될지를 정의하므로, 그 안에는 다양한 정보가 포함될 수 있습니다.
Pacu는 ECS를 열거할 수 있습니다(리스트 클러스터, 리스트 컨테이너 인스턴스, 리스트 서비스, 리스트 작업 정의), 또한 작업 정의를 덤프할 수 있습니다.
다음 페이지에서 ECS 권한을 악용하여 권한을 상승시키는 방법을 확인할 수 있습니다:
AWS - ECS PrivescAWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)