시나리오 개요 Starting as an anonymous outsider with no access or privileges, exploit a misconfigured reverse-proxy server to query the EC2 metadata service and acquire instance profile keys. Then, use those keys to discover, access, and exfiltrate sensitive data from an S3 bucket. 시나리오 목표 S3 버킷 내의 confidential 파일 다운로드(탈취) 시나리오 세팅 ./cloudgoat.py create cloud_breach_s3 solutions 디렉토리 내의 cloud_breach_s3..
전체보기
GuardDutyAWS 계정 전반의 위협 탐지 서비스(Threat Detection Service)AWS 계정과 워크로드를 보호하기 위해 악의적인 활동들과 비인가적인 행위들을 지속적으로 모니터링한다.GuardDuty는 위협 인텔리전스 피드를 통해 악성IP / 도메인을 판별하고, 이를 바탕으로 머신러닝을 적용시켜 위협 탐지를 수행한다. GuardDuty가 모니터링하는 항목으로는 다음과 같다.VPC flow logCloudTrail 이벤트 로그CloudTrail 관리 이벤트DNS 로그GuardDuty는 기본으로 활성화되지 않고 별도로 활성화를 시켜줘야 모니터링과 탐지를 시작한다.GuardDuty 서비스를 나타내는 객체로 감지기라는 개념이 존재한다. 이 감지기는 리전 단위의 객체로, 이 탐지기는 GuardD..
시나리오 개요 Exploit insecure IAM permissions to escalate your access. Start with a role that manages other users credentials and find a weakness in the setup to access the "admin" role. Using the admin role retrieve the flag from secretsmanager. 시나리오 목표 Admin role을 통해 SecretsManager에 있는 flag 탈취 시나리오 세팅 ./cloudgoat.py create iam_privesc_by_key_rotation solutions 디렉토리 내의 iam_privesc_by_key_rotation 시나..
이전 글에서 Bastion host를 사용하지 않고 내부 Private 서브넷의 인스턴스에 접근하는 수단인 Session Manager에 대해 알아보았다. Session Manager도 IAM을 이용해 키 페어를 관리할 필요 없이 간편하게 인스턴스 접근할 수 있도록 서비스가 제공되나, 아웃바운드 인터넷 라우팅이 없는 폐쇄망에 접근하는 경우에 엔드포인트 세팅 작업이 필요해 조금은 불편했던 점이 있었다. 추가로, Private 인스턴스로의 연결을 위해 생성하는 3개의 엔드포인트들은 각각 시간당 요금이 부과된다는 점도 마냥 간과할 수는 없는 포인트이다. 비교적 최근 AWS에서는 이러한 폐쇄된 서브넷의 인스턴스에 연결할 수 있는 EC2 Instance Connect Endpoint(이하 EIC 엔드포인트)라는 ..
Internet Gateway가 연결된 Public Subnet에 위치한 인스턴스들은 부여된 Public IP를 통해 SSH Keypair를 가지고 바로 인스턴스에 접속할 수 있다. 하지만 외부와 연결이 없는 폐쇄된 Private Subnet에 위치한 인스턴스들은 이와 같이 접속할 수 없다. 보통 이런 경우에는 Public Subnet에 Bastion host를 두어 이를 거쳐서 내부 Private 인스턴스로 접근하고는 한다. Bastion host를 두고 접속하는 방법에는 다음과 같은 단점들이 존재한다. Bastion host 인스턴스 : Private 인스턴스의 접속을 위한 인스턴스가 별도로 필요하고, 관리도 해줘야 한다. 인바운드 포트 : 접속을 위해 SSH 포트 설정이 필요하다 SSH Key Pa..
시나리오 개요 In this scenario, you are presented with a signup and login page with AWS Cognito in the backend. You need to bypass restrictions and exploit misconfigurations in Amazon Cognito in order to elevate your privileges and get Cognito Identity Pool credentials. AWS Cognito를 활용한 로그인 페이지, 제한을 우회하고 잘못설정된 Cognito를 Exploit해서 권한상승 후 Cognito Identity Pool Credential을 탈취하라 시나리오 목표 Cognito IdentityPoo..
WSL2를 이용해 실습을 위해 리소스를 생성하는 중에 특정 리소스가 계속해서 막히는 것을 확인했다. 확인한 결과, Terraform 커맨드를 실행하는 위치의 시간대역이 꼬여있어서 리소스 생성시에 Signature 검증의 오류가 발생한 것이다. Signature expired: is now earlier than error : InvalidSignatureException I am trying a small example with AWS API Gateway and IAM authorization. The AWS API Gateway generated the below Endpoint : https://xyz1234.execute-api.us-east-2.amazonaws.com/Users/users wi..
시나리오 개요 In this scenario, you start as the 'bilbo' user. You will assume a role with more privileges, discover a lambda function that applies policies to users, and exploit a vulnerability in the function to escalate the privileges of the bilbo user in order to search for secrets. 'bilbo' 유저로 시작해서 lambda 함수를 찾고, 그 함수의 취약점을 Exploit해 bilbo 유저의 권한을 상승시켜 최종적으로 Secrets를 탈취해라 시나리오 목표 Secret 값을 읽기 (cg-..