AWS - ECS Enum

htARTE (HackTricks AWS Red Team Expert)에서 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

ECS

기본 정보

Amazon Elastic Container Services(ECS)는 클라우드에서 컨테이너화된 애플리케이션을 호스팅하기 위한 플랫폼을 제공합니다. ECS에는 EC2 인스턴스 유형과 서버리스 옵션인 Fargate 두 가지 배포 방법이 있습니다. 이 서비스는 클라우드에서 컨테이너를 실행하는 것을 매우 쉽고 편리하게 만들어줍니다.

ECS는 다음 세 가지 구성 요소를 사용하여 작동합니다: 클러스터, 서비스, 태스크 정의.

  • 클러스터는 클라우드에서 실행 중인 컨테이너 그룹입니다. 이전에 언급한 대로, 컨테이너에는 EC2와 Fargate 두 가지 실행 유형이 있습니다. AWS는 EC2 실행 유형을 "Amazon EC2 인스턴스 클러스터에서 컨테이너화된 애플리케이션을 실행할 수 있도록 하는 것"으로 정의하고, Fargate는 "백엔드 인프라를 프로비저닝하고 관리하지 않고 컨테이너화된 애플리케이션을 실행할 수 있도록 하는 것"으로 정의합니다.

  • 서비스는 클러스터 내에서 생성되며 태스크를 실행하는 역할을 담당합니다. 서비스 정의 내에서 실행할 태스크 수, 자동 스케일링, 용량 제공자(Fargate/EC2/외부), VPC, 서브넷, 보안 그룹과 같은 네트워킹 정보를 정의합니다.

  • 2 종류의 애플리케이션이 있습니다:

  • 서비스: 중단 및 재시작할 수 있는 장기 실행 작업을 처리하는 태스크 그룹입니다. 예를 들어, 웹 애플리케이션입니다.

  • 태스크: 실행되고 종료되는 독립적인 작업입니다. 예를 들어, 일괄 작업입니다.

  • 서비스 애플리케이션 중에는 2 종류의 서비스 스케줄러가 있습니다:

  • REPLICA: 복제 스케줄링 전략은 클러스터 전체에 원하는 수의 태스크를 배치하고 유지합니다. 어떤 이유로 인해 태스크가 종료되면 동일한 노드 또는 다른 노드에서 새로운 태스크가 시작됩니다.

  • DAEMON: 필요한 요구 사항을 갖춘 각 활성 컨테이너 인스턴스에 정확히 하나의 태스크를 배포합니다. 원하는 태스크 수, 태스크 배치 전략, 서비스 자동 스케일링 정책을 지정할 필요가 없습니다.

  • 태스크 정의어떤 컨테이너가 실행되고 컨테이너와 관련된 다양한 매개변수(호스트와의 포트 매핑, 환경 변수, Docker 진입점 등)가 구성될 책임이 있습니다.

  • 민감한 정보를 위한 환경 변수를 확인하세요!

태스크 정의에서 민감한 데이터

태스크 정의는 ECS에서 실행될 실제 컨테이너를 구성하는 역할을 담당합니다. 태스크 정의는 컨테이너가 실행되는 방식을 정의하기 때문에 다양한 정보를 찾을 수 있습니다.

Pacu는 ECS를 열거할 수 있습니다(list-clusters, list-container-instances, list-services, list-task-definitions) 또한 태스크 정의를 덤프할 수도 있습니다.

열거

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

인증되지 않은 액세스

pageAWS - ECS Unauthenticated Enum

권한 상승

다음 페이지에서는 ECS 권한을 악용하여 권한을 상승하는 방법을 확인할 수 있습니다:

pageAWS - ECS Privesc

후반 작업

pageAWS - ECS Post Exploitation

지속성

pageAWS - ECS Persistence
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新