Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cloudfoxable — 나만의 의도적으로 취약하게 설계된 AWS 침투 테스트 플레이그라운드를 생성하세요. | Kitploit
도구/GitHubGitHub/bishopfox/cloudfoxable
Cloud Infrastructure SecurityCTFPenetration TestingCloud SecurityLearning & EducationLabs & Practice
GitHubbishopfox/cloudfoxable

cloudfoxable

나만의 의도적으로 취약하게 설계된 AWS 침투 테스트 플레이그라운드를 생성하세요.

저장소 보기
468523개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

cloudfoxable-single-flag

해킹 시작하기: CloudFoxable

자세한 내용은 블로그를 읽어보세요: Introducing CloudFoxable: A Gamified Cloud Hacking Sandbox

배경

CloudFox는 침투 테스터와 보안 전문가가 클라우드 인프라에서 악용 가능한 공격 경로를 찾을 수 있도록 돕습니다. 하지만 현재 환경에 없는 서비스를 찾아 악용하려면 어떻게 해야 할까요? 엔터프라이즈 AWS 환경에 대한 접근 권한이 없다면 어떻게 해야 할까요?

CloudFoxable은 바로 이러한 상황을 위해 만들어진, 의도적으로 취약하게 구성된 AWS 환경입니다. CloudFox의 기능을 선보이고 잠재된 공격 경로를 더 효과적으로 찾을 수 있도록 돕는 것이 목적입니다. CloudGoat, flaws.cloud, flaws2.cloud, Metasploitable 1-3에서 영감을 얻은 CloudFoxable은 CTF 형식으로 다양한 플래그와 공격 경로를 제공합니다.

CloudGoat 및 IAM-Vulnerable과 유사하게 CloudFoxable은 사용자가 관리하는 실습용 계정에 의도적으로 취약한 AWS 리소스를 배포하여 클라우드 취약점 식별 및 악용 방법을 학습할 수 있게 합니다. 다만 flaws.cloud에 더 가깝게, 경험은 웹 기반이며 안내 방식으로 진행됩니다.

  • 총 챌린지 수: 18

Terraform 설정 및 기본 사용법

CloudFoxable은 Terraform을 사용하여 의도적으로 취약한 AWS 인프라를 배포하고 관리합니다. 이 섹션에서는 Terraform을 설치하고 CloudFoxable 리소스를 배포, 수정, 제거하는 데 필요한 최소한의 지침을 제공합니다.

클릭하여 펼치기

Terraform 설치

CloudFoxable을 배포하기 전에 Terraform을 로컬에 설치해야 합니다.

운영 체제에 맞는 공식 HashiCorp 설치 가이드를 따르세요.

https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli

설치를 확인합니다:

root@kitploit:~
terraform version

설치가 성공하면 Terraform 버전이 출력됩니다.

사전 요구 사항

Terraform을 실행하기 전에:

  • 자신이 제어할 수 있는 AWS 계정에 접근할 수 있어야 합니다.
  • AWS 자격 증명이 로컬에 구성되어 있어야 합니다(예: aws configure, 환경 변수 또는 수임된 역할(assumed role)을 통해).
  • Terraform이 해당 계정에서 AWS 리소스를 생성하고 삭제할 수 있다는 점을 인지해야 합니다.

중요: CloudFoxable은 의도적으로 취약한 인프라를 배포합니다. 프로덕션, 공유 또는 기업 AWS 계정에는 배포하지 마세요.

Terraform 워크플로

모든 Terraform 명령은 다음 디렉터리에서 실행해야 합니다:

root@kitploit:~
cd cloudfoxable/aws

Terraform 초기화

작업 디렉터리를 초기화하고 필요한 공급자를 다운로드합니다:

root@kitploit:~
terraform init

이 명령은 워크스페이스마다 한 번(또는 공급자 구성이 변경될 때) 필요합니다.

변경 사항 미리 보기(선택 사항)

Terraform이 생성, 수정 또는 삭제할 내용을 검토하려면:

root@kitploit:~
terraform plan

CloudFoxable 배포

현재 활성화된 챌린지를 배포하려면:

root@kitploit:~
terraform apply

메시지가 표시되면 yes를 입력하여 확인합니다.

모든 리소스 삭제(정리)

CloudFoxable이 생성한 모든 리소스를 제거하려면:

root@kitploit:~
terraform destroy

메시지가 표시되면 yes로 확인합니다.

일반적인 Terraform 명령

명령설명
terraform initTerraform 프로젝트 초기화
terraform plan제안된 인프라 변경 사항 표시
terraform apply

모듈식 접근 방식

IAM-Vulnerable과 유사하게, 일부 챌린지는 기본적으로 활성화되어 있고(비용이 거의 또는 전혀 들지 않는 챌린지), 다른 챌린지는 기본적으로 비활성화되어 있습니다(배포 시 비용이 발생하는 챌린지). 이렇게 하면 필요에 따라 특정 모듈만 활성화할 수 있습니다. 다만 챌린지 활성화/비활성화 메커니즘은 IAM-Vulnerable과는 조금 다릅니다.

cloudfoxable.bishopfox.com에서 각 챌린지는 챌린지를 완료하기 위해 terraform 변경(즉, 무언가 배포)이 필요한지 여부를 알려줍니다. 이 작업은 terraform.tfvars를 편집하고 필요에 따라 enabled 플래그를 false에서 true로 변경하는 방식으로 수행합니다.

예시는 다음과 같습니다:

root@kitploit:~
############################
# Enabled/Disabled Challenges
############################

# Always on (Low or No cost)
challenge_foo_enabled = true
challenge_bar_enabled = true
challenge_alice_enabled = true

# Enable as needed (These challenges incur cost)
challenge_bob_enabled = false
challenge_mallory_enabled = false

mallory 챌린지를 활성화하려면 다음 줄을 업데이트하기만 하면 됩니다:

root@kitploit:~
challenge_mallory_enabled = true

챌린지를 활성화한 후에는 terraform apply를 다시 실행해야 합니다:

root@kitploit:~
terraform apply

이제 mallory 챌린지를 배포했습니다.

정리

CloudFoxable이 생성한 모든 리소스를 제거하려면 다음 명령을 실행하면 됩니다:

  1. cd cloudfoxable/aws
  2. terraform destroy

Docker로 빌드

Windows를 사용하는 경우 플랫폼별 제한으로 인해 일부 챌린지 배포 시 문제가 발생할 수 있습니다. 이를 방지하기 위해 다양한 시스템에서 일관된 환경으로 애플리케이션을 빌드하고 실행할 수 있도록 Dockerfile이 제공됩니다.

클릭하여 펼치기

리포지토리 클론

먼저 리포지토리를 로컬 머신에 클론합니다:

root@kitploit:~
git clone https://github.com/BishopFox/cloudfoxable.git
cd cloudfoxable

Docker 이미지 빌드

리포지토리를 클론한 후 다음 명령으로 Docker 이미지를 빌드합니다. 이렇게 하면 캐시된 레이어 없이 새로 빌드됩니다:

root@kitploit:~
docker build --no-cache -t cloudfoxable .

Windows에서 PowerShell로 Docker 실행

Windows를 사용하는 경우 다음 PowerShell 명령으로 Docker 컨테이너를 실행합니다. 이 명령은:

  • AWS 자격 증명 파일을 컨테이너에 마운트하여 지속성을 유지합니다.
  • Terraform(상태) 파일을 컨테이너에 마운트하여 지속성을 유지합니다. 컨테이너에서 nano를 사용해 terraform.tfvars를 직접 편집할 수 있으며, 바인드 마운트를 통해 호스트에도 반영됩니다.
  • Terraform 명령을 실행할 수 있는 대화형 세션을 시작합니다.
root@kitploit:~
cd aws
docker run -it -v $env:USERPROFILE/.aws/credentials:/root/.aws/credentials -v ${PWD}:/cloudfoxable/aws cloudfoxable

더 원하시나요?

https://github.com/iknowjason/Awesome-CloudSec-Labs

기여하기

새 챌린지를 추가하려면 CloudFoxable에서 리포지토리를 포크한 후 다음 단계를 따르세요:

  • cp aws/challenges/1_challenge_template aws/challenges/challenge_name
  • 챌린지 템플릿 폴더와 challenge_name.tf 파일 이름을 챌린지 이름으로 바꿉니다.
  • terraform 코드를 추가합니다.
  • aws/variables.tf에 새 변수를 추가합니다.
    root@kitploit:~
    variable "challenge_name_enabled" {
    description = "Enable or disable challenge_name challenge (true = enabled, false = disabled)"
    type        = bool
    default     = false
    }
    
  • terraform.tfvars.example의 "Enabled/Disabled Challenge" 섹션에 추가합니다. 기본 활성화(저비용/무비용)인지, 기본 비활성화(비용 발생 $$)인지 지정합니다.
    root@kitploit:~
    challenge_name_enabled = false
    
  • aws/main.tf에 모듈을 추가합니다.
    root@kitploit:~
    module "challenge_challenge_name" {
      source = "./challenges/challenge-name"
      count = var.challenge_name_enabled ? 1 : 0
      aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn) 
      account_id = data.aws_caller_identity.current.account_id
      aws_local_profile = var.aws_local_profile
      user_ip = local.user_ip
      }
    
  • enabled_challenges 로컬 변수에 챌린지 이름을 추가합니다:
    root@kitploit:~
      var.challenge_name_enabled ?                   "name                      | $12/month    |" : ""
    
도구 다운로드
리소스 생성 또는 업데이트
terraform destroy배포된 모든 리소스 제거