[하루한줄] VPC Endpoints를 통한 AWS GuardDuty Exfiltration 우회

URL

AWS GuardDuty Exfiltration Bypass with VPC Endpoints

Target

  • AWS GuardDuty

Explain

2022년 1월 20일, Amazon AWS는 새로운 위협 탐지 규칙인 GuardDuty를 발표했습니다. GuardDuty는 AWS 계정에서 의심스러운 활동을 탐지하는 서비스입니다. 예를 들어 EC2 인스턴스가 사용자의 AWS IP에서 포트 스캐닝을 수행하면 사용자에게 경고를 할 수 있습니다. 다른 AWS 계정 IP 주소에서의 API 호출에 EC2 인스턴스 자격 증명이 사용될 때 새 경고를 사용자에게 알려줍니다.

새로 추가된 GuardDuty alert of credential exfiltration의 이름은 UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS입니다. 새로운 위협 탐지 기술은 AWS 내부도 탐지하므로 API 호출을 수행하는 IP가 인증하는 데 사용한 IAM 자격 증명 계정과 동일한지 확인합니다. 하지만 VPC Endpotins를 통해 우회가 가능합니다.

해커가 EC2 인스턴스에서 IAM 자격 증명을 가져올 수 있으면, 공용 IP를 통해 AWS API를 호출하지 않으므로 VPC Enpoints를 통해 트래픽 라우팅이 구성된 EC2 인스턴스의 IAM 자격 증명을 사용할 수 있습니다.

VPC(Virtual Private Cloud) Endpoint에는 두 가지가 있습니다.

  1. Interface: AWS 서비스로 가는 트래픽의 entrypoint 역할을 하는 서브넷 내부에 전용 IP가 있는 네트워크 인터페이스
  2. Gateway: S3나 DynamoDB 서비스로 가는 트래픽 라우팅 타깃

우회를 위해 사용되는 VPC Endpoints는 Interface입니다. Terraform을 이용하여 해커를 위한 환경 구축을 도와주는 SneackyEndpoints로 프로세스를 자동화하고, EC2 웹페이지를 통해 SSM를 사용하여 sneakyendpoints_host 인스턴스에 연결합니다. 그 후 EC2 내부 인스턴스에 인터넷이 연결 여부를 확인한 후 해커의 EC2 인스턴스에서 exfiltated 자격 증명을 가져와 GuardDuty alert를 계속 트리거링하여 우회가 가능합니다.