Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
iam-vulnerable — Terraformを使用して、設計上脆弱なAWS IAM権限昇格のプレイグラウンドを自分で作成しましょう。 | Kitploit
ツール/GitHubGitHub/bishopfox/iam-vulnerable
特権昇格脆弱性分析ペネトレーションテストクラウドセキュリティアイデンティティ&アクセス管理 (IAM)学習と教育ラボと実践
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 - A Gamified Cloud Hacking Sandbox

IAM-Vulnerable、CloudFox、CloudFoxable について話したいですか?

私たちの RedSec Discord サーバー に参加してください

🦊 現在サポートされている権限昇格パス: 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 Vulnerable プロファイルを 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 privesc パスを試せるようになりました。


## Free Resource Modules

`free-resources` 内にデプロイされたものはすべて無料です。

| 名前 | デフォルト状態 | 推定コスト | 説明 |
| --- | --- | --- | --- |
| privesc-paths  | 有効 | なし | IAM privesc パスをすべて含む |
| tool-testing  | 有効 | なし | さまざまな IAM privesc ツールの機能を評価するテストケースを含む |

## Non-free Resource Modules

これらの追加モジュールをデプロイすると、コストが発生する可能性があります。

| 名前 | デフォルト状態 | 推定コスト | 説明 | 必要な場合 |
| --- | --- | --- | --- | --- |
| EC2  | 無効 | :heavy_dollar_sign: <br> 月額 $4.50 | EC2 インスタンスと、どこからでも SSH を許可するセキュリティグループを作成する | `ssm-SendCommand` <br> `ssm-StartSession` <br> `ec2InstanceConnect-SendSSHPublicKey` |
| Lambda | 無効 | :slightly_smiling_face: <br> 月額コストは使用状況に依存(コストはゼロのはず) | 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` |



# サポートされている権限昇格パス
ツールをダウンロード