AWS - ECS Post Exploitation
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)
자세한 정보는 다음을 확인하세요:
ECS에서 IAM 역할은 컨테이너 내에서 실행되는 작업에 할당될 수 있습니다. 만약 작업이 EC2 인스턴스 내에서 실행된다면, EC2 인스턴스에는 다른 IAM 역할이 연결됩니다. 즉, ECS 인스턴스를 타격하는 데 성공하면 ECR 및 EC2 인스턴스와 연결된 IAM 역할을 얻을 수 있습니다. 이러한 자격 증명을 얻는 방법에 대한 자세한 정보는 다음을 확인하세요:
EC2 인스턴스가 IMDSv2를 강제하는 경우, 문서에 따르면, PUT 요청의 응답은 hop limit이 1이 되어 EC2 인스턴스 내의 컨테이너에서 EC2 메타데이터에 접근할 수 없게 됩니다.
게다가, EC2는 ECs 작업을 실행하기 위해 도커를 사용하므로, 노드로 탈출하거나 도커 소켓에 접근할 수 있다면, 어떤 다른 컨테이너가 실행되고 있는지 확인할 수 있으며, 심지어 그 안으로 들어가서 그들의 IAM 역할을 훔칠 수 있습니다.
또한, EC2 인스턴스 역할은 일반적으로 클러스터 내에서 노드로 사용되는 EC2 인스턴스의 컨테이너 인스턴스 상태를 업데이트할 수 있는 충분한 권한을 가집니다. 공격자는 인스턴스의 상태를 DRAINING으로 수정할 수 있으며, 그러면 ECS는 모든 작업을 제거하고 REPLICA로 실행되는 작업은 다른 인스턴스에서 실행되며, 이는 공격자의 인스턴스 내에서 실행될 수 있어 그들의 IAM 역할을 훔치고 컨테이너 내부의 잠재적인 민감한 정보를 얻을 수 있습니다.
같은 기술은 클러스터에서 EC2 인스턴스를 등록 해제하는 방식으로 수행될 수 있습니다. 이는 잠재적으로 덜 은밀하지만 작업이 다른 인스턴스에서 실행되도록 강제할 것입니다:
작업을 강제로 재실행하는 마지막 기술은 ECS에 작업 또는 컨테이너가 중지되었다고 알리는 것입니다. 이를 수행하기 위한 3가지 잠재적인 API가 있습니다:
EC2 인스턴스는 아마도 이미지를 다운로드할 수 있는 ecr:GetAuthorizationToken
권한을 가질 것입니다 (그 안에서 민감한 정보를 검색할 수 있습니다).
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)