OAST Out-of-band Application Security Testing의 약자로, Out-Of-Band를 이용해 취약점 테스팅을 진행하는 것을 의미한다. Out-of-Band(이하 OOB)란 Victim 서버에서 Outbound 방향으로 향하는 TCP/UDP/ICMP request를 생성하는 공격 기법 중 하나이다. 이러한 Request를 통해 Victim의 데이터를 유출하는 등의 공격을 진행할 수 있다. 보통 Blind 계열 공격이나 SSRF, RCE와 같은 취약점을 검증하기 위해 사용하는 방법들이 각각 어느정도 존재한다. 이러한 Blind 계열의 테스팅에서는 주로 HTTP 요청이 발생하는 Payload를 작성하는 편이였다. 하지만, HTTP의 Outbound가 차단된 내부 환경인 경우, 이..
시나리오 개요 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 시나..
시나리오 개요 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..
시나리오 개요 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-..
CloudGoat 클라우드 환경의 서비스에서 발생할 수 있는 취약점을 공부하기 위한 시나리오들을 모아둔 훈련장 CloudGoat는 AWS에서 발생할 수 있는 취약점 Exploit 시나리오만 제공하고 있으며, Terraform을 통해 각 시나리오별 리소스를 생성할 수 있도록 코드를 제공한다. = 0.14 installed and in your $PATH The AWS CLI installed and in your $PATH AWS account with sufficient privileges to create and destroy resources. jq 먼저 리소스를 만드는데에 사용할 AWS 사용자를 하나 생성해준다. AdministratorAccess 권한을 갖는 IAM 사용자를 생성하도록 한다. 생성..
바로 앞 글에서 Network Firewall의 개념을 알아보고 간단한 아키텍쳐를 구성했다. 실제 방화벽이 VPC에 연결되어 트래픽 차단을 수행도록 하기 위해 VPC 네트워킹 작업이 더 필요하다. Firewall Endpoint가 활성화된 것을 확인 후, 라우팅 테이블 설정을 진행한다. 라우팅 테이블 설정 트래픽이 정상적으로 흐를 수 있도록 각 서브넷들의 라우팅 테이블 설정을 해주어야 한다. 라우팅 테이블을 적용한 아키텍쳐의 구성은 아래와 같다. 먼저, Firewall Endpoint가 위치한 Pub-NFW-a와 Pub-NFW-c의 라우팅테이블을 작성한다. 0.0.0.0/0의 인터넷 게이트웨이로 타고 나갈 수 있도록 구성한다. 다음으로 서비스가 있는 Pub-a와 Pub-c의 라우팅테이블을 작성한다. 여기..