Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
iam-vulnerable — Terraform을 사용하여 설계상 취약한 AWS IAM 권한 상승 실습 환경을 직접 만들어 보세요. | Kitploit
도구/GitHubGitHub/bishopfox/iam-vulnerable
Privilege EscalationVulnerability AnalysisPenetration TestingCloud SecurityIdentity & Access Management (IAM)Learning & EducationLabs & Practice
GitHubbishopfox/iam-vulnerable

iam-vulnerable

Terraform을 사용하여 설계상 취약한 AWS IAM 권한 상승 실습 환경을 직접 만들어 보세요.

저장소 보기
585107671년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

IAM Vulnerable

Terraform을 사용하여 자신만의 의도적으로 취약하게 설계된 AWS IAM 권한 상승 놀이터를 만드세요.

IAM Vulnerable은 Terraform 바이너리와 AWS 자격 증명을 사용하여 선택한 AWS 계정에 250개 이상의 IAM 리소스를 배포합니다. 몇 분 안에 권한 상승을 허용하는 취약한 IAM 구성 식별 및 악용 방법을 학습하기 시작할 수 있습니다.

IAM Vulnerable의 큰 형제 - CloudFoxable

안녕하세요. IAM Vulnerable은 여전히 AWS IAM 권한 상승의 기본 구성 요소를 이해하는 데 매우 유용합니다. 하지만 IAM Vulnerable을 만든 지 몇 년 후, 저는 CloudFoxable을 만들었습니다. 이는 CTF 스타일 버전으로, 클라우드 침투 테스트의 기초를 보다 전체적으로 가르쳐줍니다. - @sethsec

의도적으로 취약한 놀이터

  • CloudFoxable - 게임화된 클라우드 해킹 샌드박스

IAM-Vulnerable, CloudFox 및 CloudFoxable에 대해 이야기하고 싶으신가요?

저희 RedSec 디스코드 서버에 참여하세요.

🦊 현재 지원되는 권한 상승 경로: 31

목차

  • IAM Vulnerable
  • 권장 접근 방식
  • 상세 사용법
  • 빠른 시작
    • 방금 생성된 리소스는 무엇인가요?
    • 비용은 얼마나 들까요?
  • 모듈 방식
    • 무료 리소스 모듈
    • 유료 리소스 모듈
  • 지원되는 권한 상승 경로
  • 기타 사용 사례
  • FAQ

권장 접근 방식

  1. AWS 계정 선택 또는 생성 - 프로덕션 리소스나 민감한 데이터가 있는 계정은 사용하지 마십시오.
  2. 취약한 놀이터 생성 - 이 저장소를 사용하여 31개의 고유한 AWS IAM 권한 상승 경로를 지원하는 IAM 주체와 정책을 생성합니다.
  3. 숙제를 하세요 - Spencer Gietzen이 개척한 21개의 원래 권한 상승 경로에 대해 알아보세요.
  4. 해킹, 해킹 - Gerben Kleijn의 가이드를 사용하여 새 놀이터에서 악용 연습을 하세요.
  5. 레벨 업 - 새 IAM 권한 상승 놀이터 계정에 대해 도구를 실행하세요 (예: Cloudsplaining, AWSPX, Principal Mapper, Pacu).

상세 사용법

블로그 포스트: IAM Vulnerable - AWS IAM 권한 상승 놀이터

빠른 시작

이 빠른 시작은 IAM Vulnerable을 AWS 계정에서 가능한 한 빨리 실행하기 위한 의견이 반영된 접근 방식을 설명합니다. 이미 많은 단계를 완료했을 수도 있고, 현재 구성에 맞게 조정하고 싶을 수도 있습니다. 추가 구성 옵션은 이 저장소의 기타 사용 사례 섹션을 확인하세요.

  1. AWS 계정을 선택하거나 생성하세요. (프로덕션 리소스나 민감한 데이터가 있는 계정은 사용하지 마십시오!)
  2. Terraform 실행 시 사용할 관리자 액세스 권한이 있는 루트가 아닌 사용자를 생성하세요.
  3. 해당 사용자의 액세스 키를 생성하세요.
  4. AWS CLI를 설치하세요.
  5. 새로 생성한 관리자 사용자를 기본 프로필로 AWS CLI를 구성하세요.
  6. aws sts get-caller-identity 명령을 실행하여 CLI가 예상대로 작동하는지 확인하세요.
  7. Terraform 바이너리를 설치하고 바이너리 위치를 PATH에 추가하세요.
  8. git clone https://github.com/BishopFox/iam-vulnerable
  9. cd iam-vulnerable/
  10. terraform init
  11. (선택 사항) export TF_VAR_aws_local_profile=PROFILE_IN_AWS_CREDENTIALS_FILE_IF_OTHER_THAN_DEFAULT
  12. (선택 사항) export TF_VAR_aws_local_creds_file=FILE_LOCATION_IF_NON_DEFAULT
  13. (선택 사항) terraform plan
  14. terraform apply
  15. (선택 사항) IAM 취약 프로필을 AWS 자격 증명 파일에 추가하고 계정 번호를 변경하세요.
    • 다음 명령은 현재 AWS 자격 증명 파일의 백업을 만들고, 저장소의 예제 자격 증명 파일을 가져와서 자리 표시자 계정을 대상 계정 번호로 바꾼 후, 마지막으로 모든 IAM Vulnerable 권한 상승 프로필을 자격 증명 파일에 추가하여 사용할 수 있도록 합니다:
    • cp ~/.aws/credentials ~/.aws/credentials.backup
    • tail -n +7 aws_credentials_file_example | sed s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g >> ~/.aws/credentials

정리

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

  1. cd iam-vulnerable/
  2. terraform destroy

대체 정리 방법 (Terraform 상태가 손실된 경우)

Terraform을 사용하여 iam-vulnerable을 배포했지만 더 이상 상태 파일에 액세스할 수 없고 (terraform destroy가 작동하지 않는 경우) 다음 정리 스크립트를 사용할 수 있습니다:```bash

Python version (requires boto3)

./cleanup-scripts/cleanup_iam_vulnerable.py --dry-run

Bash version (requires AWS CLI and jq)

./cleanup-scripts/cleanup_iam_vulnerable.sh --dry-run

이 스크립트는 다음을 수행합니다:
- AWS 계정에서 모든 IAM 취약 리소스를 자동으로 식별합니다.
- 진행 전에 삭제될 내용을 정확히 보여줍니다.
- 종속성 충돌을 피하기 위해 적절한 순서로 리소스를 삭제합니다.
- AWS 프로필을 지원하고 상세 로깅을 제공합니다.

**중요**: 먼저 `--dry-run`으로 실행하여 삭제될 내용을 확인하세요. 자세한 사용법은 `cleanup-scripts/CLEANUP_README.md`를 참조하십시오.

## 방금 생성된 리소스는 무엇인가요?

Terraform 바이너리는 기본 AWS 계정 프로필 자격 증명을 사용하여 다음을 생성했습니다:
* **31명의 사용자, 역할 및 정책** 각각은 플레이그라운드 계정의 관리 권한에 이르는 고유한 익스플로잇 경로를 가지고 있습니다.
* 특정 익스플로잇 경로를 완전히 실현하는 데 필요한 추가 사용자, 그룹, 역할 및 정책
* 다른 도구의 탐지 기능을 테스트하는 추가 사용자, 역할 및 정책

기본적으로 이 Terraform 모듈에 의해 생성된 모든 역할은 Terraform을 실행하는 데 사용한 사용자 또는 역할이 맡을 수 있습니다.
* Terraform이 기본 프로필이 아닌 다른 프로필을 사용하도록 하거나 `assume_role_policy` ARN을 하드코딩하려면 [다른 사용 사례](#other-use-cases)를 참조하세요.

## 비용은 얼마나 드나요?

IAM vulnerable을 **기본 구성으로 배포하는 데는 비용이 들지 않습니다**. 다음 섹션에서 비용이 발생하는 비기본 모듈을 활성화하는 방법과 각 모듈을 배포할 경우 월별 비용을 확인하세요.

# 모듈식 접근 방식

IAM Vulnerable은 특정 리소스를 모듈로 그룹화합니다. 일부 모듈은 기본적으로 활성화되어 있고(비용 영향이 없는 모듈), 다른 모듈은 기본적으로 비활성화되어 있습니다(배포 시 비용이 발생하는 모듈). 이렇게 하면 필요에 따라 특정 모듈을 활성화할 수 있습니다.

예를 들어, IAM 외부의 리소스를 포함하는 `ssm:StartSession`과 같은 익스플로잇 경로를 사용할 준비가 되면 `iam-vulnerable/main.tf` 파일에서 모듈을 주석 해제하고 `terraform apply`를 다시 실행하여 필요에 따라 이러한 리소스를 배포 및 삭제할 수 있습니다:```
# Uncomment the next four lines to create an ec2 instance and related resources
#module "ec2" {
#  source = "./modules/non-free-resources/ec2"
#  aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn)
#}

ec2 모듈의 주석을 해제한 후, 실행하세요:``` terraform init terraform apply

이제 SSM 권한 상승 경로를 시도하는 데 필요한 구성 요소를 배포했습니다.


## 무료 리소스 모듈

`free-resources` 내에 배포된 모든 항목은 비용이 없습니다:

| 이름 | 기본 상태 | 예상 비용 | 설명 |
| --- | --- | --- | --- |
| privesc-paths  | 활성화 | 없음 | 모든 IAM 권한 상승 경로를 포함합니다 |
| tool-testing  | 활성화 | 없음 | 다양한 IAM 권한 상승 도구의 기능을 평가하는 테스트 케이스를 포함합니다 |

## 유료 리소스 모듈

이러한 추가 모듈을 배포하면 비용이 발생할 수 있습니다:

| 이름 | 기본 상태 | 예상 비용 | 설명 | 필요한 항목 |
| --- | --- | --- | --- | --- |
| EC2  | 비활성화 | :heavy_dollar_sign: <br> 월 $4.50 | EC2 인스턴스와 어디서나 SSH를 허용하는 보안 그룹을 생성합니다 | `ssm-SendCommand` <br> `ssm-StartSession` <br> `ec2InstanceConnect-SendSSHPublicKey` |
| Lambda | 비활성화 | :slightly_smiling_face: <br> 월별 비용은 사용량에 따라 다름 (비용은 0이어야 함) | Lambda 함수를 생성합니다  | `Lambda-EditExistingLambdaFunctionWithRole` |
| Glue | 비활성화 | :heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign: <br> 시간당 $4 | Glue 개발 엔드포인트를 생성합니다 | `Glue-UpdateExistingGlueDevEndpoint` |
| SageMaker | 비활성화 | 아직 확실하지 않음 | SageMaker 노트북을 생성합니다 | `sageMakerCreatePresignedNotebookURL` |
| CloudFormation | 비활성화 |  :slightly_smiling_face: <br> CloudFormation을 통해 생성된 비밀의 경우 월 $0.40. 스택 자체에 대한 비용은 없거나 거의 없음 | 비밀 관리자에 비밀을 생성하는 CloudFormation 스택을 생성합니다 | `privesc-cloudFormationUpdateStack` |



# 지원되는 권한 상승 경로
도구 다운로드