Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 라운드로빈
- 교체 정책
- 세그먼테이션
- AWS
- ADsP합격
- id pool
- dreamhack
- ADsP교재
- adsp독학
- wargame
- randzzz
- rev-basic-4
- Juice Shop
- Pacu
- rev-basic-3
- ADsP시험
- 26년 1회
- ADsP책추천
- Simple Crack Me
- 시나공ADsP
- 운영체제
- ADsP
- OpenClaw
- writeup
- cloudgoat
- 병행성
- OWASP TOP 10
- HRRN
- user pool
- OS
Archives
- Today
- Total
chon
CloudGoat 실습 환경 구축 본문
CloudGoat란?

CloudGoat는 설계 단계부터 취약하게 만들어진 클라우드 배포 도구로, Terraform 기반의 코드형 인프라(IaC)를 활용하여 AWS 환경에 의도적으로 취약한 인프라를 생성합니다. 이를 통해 다양한 클라우드 보안 취약점과 실제 공격 시나리오를 직접 실습할 수 있는 환경을 제공합니다.
Github 링크
GitHub - RhinoSecurityLabs/cloudgoat: CloudGoat is Rhino Security Labs' "Vulnerable by Design" AWS deployment tool
CloudGoat is Rhino Security Labs' "Vulnerable by Design" AWS deployment tool - RhinoSecurityLabs/cloudgoat
github.com
Terraform 설치

테라폼은 코드를 통해 인프라를 생성하고 관리하는 코드형 인프라(IaC) 도구로, CloudGoat에서는 복잡한 AWS 취약점 환경을 자동으로 구축하고 실습 후 생성된 모든 리소스를 일괄 삭제하여 효율적으로 관리하기 위해 사용합니다.
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
Terraform을 설치하는 방법에는 바이너리 파일을 직접 다운로드하여 압축을 푸는 방식도 있지만, 저는 관리의 편의성과 보안을 위해 HashiCorp 공식 APT 레포지토리를 등록하여 설치하는 방식을 선택했습니다.
terraform -version

위의 명령어를 한번에 붙여넣고 버전을 확인하는 명령어로 terraform이 잘 설치되었는지 확인했습니다.
AWS CLI 설치 및 자격 증명 설정
CloudGoat은 AWS API를 통해 리소스를 생성하기 때문에 AWS CLI 설치와 자격 증명 설정이 필요합니다.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
해당 명령어로 cli를 설치하고 자격증명을 설정해주면 됩니다.

버전을 확인하여 설치가 잘 되었는지 확인했습니다. 이어서 자격 증명을 설정하도록 하겠습니다.
aws configure --profile cloudgoat

- AWS Access Key ID: (내 액세스 키 입력)
- AWS Secret Access Key: (내 비밀 키 입력)
- Default region name: us-east-1
- Default output format: json
cloudGoat에서 사용할 AWS 계정을 구분하기 위해 cloudgoat라는 이름의 프로필을 생성했습니다.
CloudGoat 설치 및 설정
pipx install cloudgoat

cloudgoat config aws
CloudGoat에 사용할 AWS 프로필을 지정합니다.
git clone https://github.com/RhinoSecurityLabs/cloudgoat.git
cd cloudgoat
pip3 install -e . --break-system-packages
# 어디서든 실행 가능하도록 경로 등록
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc
소스코드를 다운로드하고 파이썬 환경에 설치한 뒤, AWS 계정과 연결해 보겠습니다.
화이트리스트 구성
echo "aws: {profile: cloudgoat}" > ~/.cloudgoat/config.yml
cloudgoat config whitelist --auto
앞에서 생성한 cloudgoat AWS 프로필을 CloudGoat에서 사용하도록 지정하고, 실습 환경에 접근할 수 있도록 현재 IP를 화이트리스트에 등록합니다. IP가 달라질 때마다 이 명령을 사용해야 합니다.
cloudgoat config aws list

연결된 AWS 설정을 확인합니다.
설치 완료 테스팅
cloudgoat list aws
모든 설정이 끝났다면, 이제 CloudGoat가 AWS 시나리오 목록을 제대로 불러오는지 확인해 볼 차례입니다.

시나리오 목록이 정상적으로 출력된다면 CloudGoat 실습 환경 구축이 완료된 것입니다.
다음 글에서는 실제 CloudGoat 시나리오를 실행하고 취약점을 분석하는 과정을 정리해 보겠습니다!
'AWS > CloudGoat' 카테고리의 다른 글
| [ CloudGoat | Easy ] lambda_privesc 시나리오 실습 (0) | 2026.03.09 |
|---|---|
| [ CloudGoat ] Pacu (0) | 2026.03.09 |
| [ CloudGoat | Easy ] sns_secrets 시나리오 실습 (0) | 2026.03.09 |
| [ CloudGoat | Easy ] iam_privesc_by_key_rotation 시나리오 실습 (0) | 2026.03.08 |
| [ CloudGoat | Easy ] iam_privesc_by_rollback 시나리오 실습 (0) | 2026.03.07 |