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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cloudmapper — CloudMapperは、Amazon Web Services(AWS)環境の分析を支援します。 | Kitploit
ツール/GitHubGitHub/duo-labs/cloudmapper
クラウドインフラストラクチャセキュリティ脆弱性スキャナーネットワークマッピング構成監査情報収集クラウドセキュリティ設定ミス
GitHubduo-labs/cloudmapper

cloudmapper

CloudMapperは、Amazon Web Services(AWS)環境の分析を支援します。

リポジトリを見る
6.3k8322年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CloudMapper

注意 ネットワーク可視化機能(prepareコマンド)はメンテナンスされなくなりました。

CloudMapperは、Amazon Web Services(AWS)環境の分析を支援します。 元々の目的は、ネットワーク図を生成してブラウザに表示することでした(この機能はメンテナンスされなくなりました)。 現在は、セキュリティ問題の監査を含む、より多くの機能を備えています。

  • ネットワークマッピングデモ
  • レポートデモ
  • 紹介記事
  • ネットワークの設定ミスを発見する方法についての記事
  • 継続的監査の実行についての記事

コマンド

  • audit: 潜在的な設定ミスをチェックします。
  • collect: アカウントに関するメタデータを収集します。詳細はこちら。
  • find_admins: IAMポリシーを調べて、管理者ユーザーやロール、特定の権限を持つプリンシパルを特定します。詳細はこちら。
  • find_unused: アカウント内の未使用リソースを探します。未使用のセキュリティグループ、Elastic IP、ネットワークインターフェース、ボリューム、Elastic Load Balancerを見つけます。
  • prepare/webserver: ネットワーク可視化を参照
  • public: 公開ホストとポート範囲を検出します。詳細はこちら。
  • sg_ips: セキュリティグループで信頼されているCIDRのgeoip情報を取得します。詳細はこちら。
  • stats: アカウントのリソース数を表示します。詳細はこちら。
  • weboftrust: Web of Trustを表示します。詳細はこちら。
  • report: HTMLレポートを生成します。アカウントのサマリーと監査結果を含みます。詳細はこちら。
  • iam_report: アカウントのIAM情報のHTMLレポートを生成します。詳細はこちら。

独自のプライベートコマンドを追加したい場合は、private_commandsディレクトリを作成して追加できます。

スクリーンショット

理想的なレイアウト
レポートのスクリーンショット

インストール

必要なもの:

  • python 3 (3.7.0rc1で動作確認済み), pip, virtualenv
  • さらにjq (https://stedolan.github.io/jq/) とライブラリpyjq (https://github.com/doloopwhile/pyjq) が必要です。これらには後述する追加のツールのインストールが必要です。

macOSの場合:

root@kitploit:~
# リポジトリをクローン
git clone https://github.com/duo-labs/cloudmapper.git
# pyjqの前提条件をインストール
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt

Linuxの場合:

root@kitploit:~
# リポジトリをクローン
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat など):
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu など):
# 追加で "build-essential" が必要な場合があります
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt

デモデータで実行

小さなデモデータが提供されています。これにより、デモサイト https://duo-labs.github.io/cloudmapper/ と同じ環境が表示されます。

root@kitploit:~
# ネットワークマップ用データを生成
python cloudmapper.py prepare --config config.json.demo --account demo
# レポートを生成
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver

これにより、http://127.0.0.1:8000/ でローカルWebサーバーが起動します。 そのリンクからネットワークマップを表示するか、http://127.0.0.1:8000/account-data/report.html でレポートを表示します。

セットアップ

  1. アカウント情報を設定します。
  2. AWSアカウントに関する情報を収集します。

1. アカウントを設定する

config.json.demo を config.json にコピーし、アカウントIDと名前(例:"prod")を編集し、外部CIDR名も追加します。CIDRはIP範囲であり、1.2.3.4/32 は「IP 1.2.3.4のみ」を意味します。

2. アカウントに関するデータを収集する

このステップではCLIを使用して describe および list 呼び出しを行い、アカウント名で指定された account-data フォルダにJSONを記録します。

必要なAWS権限

CLIで使用できるAWS認証情報が必要であり、収集する各種メタデータに対する読み取り権限が必要です。 aws-vault の使用をお勧めします。 CloudMapperはIAM情報を収集するため、MFAを使用する必要があります。 AWSへのアクセスが必要なのは collect ステップのみです。

次の権限が必要です(メタデータへのさまざまな読み取りアクセスを許可します):

  • arn:aws:iam::aws:policy/SecurityAudit
  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

データを収集する

データの収集は次のように行います:

root@kitploit:~
python cloudmapper.py collect --account my_account

データを分析する

ここから、例えば次のようなさまざまなコマンドを試してください:

root@kitploit:~
python cloudmapper.py report --account my_account
python cloudmapper.py webserver

その後、ブラウザで127.0.0.1:8000/account-data/report.html にアクセスしてレポートを表示します。

追加設定

設定ファイルの生成

config.json を直接変更する代わりに、必要に応じてデータを設定するコマンドがあります:

root@kitploit:~
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME

これにより、環境で使用しているAWSアカウントと既知のCIDR IPを定義できます。

AWS Organizations を使用している場合は、次のコマンドで組織メンバーアカウントを自動的に config.json に追加することもできます:

root@kitploit:~
python cloudmapper.py configure discover-organization-accounts

このコマンドを実行する前に、AWS CLIに認証され、organization:ListAccounts 権限を持っている必要があります。

監査設定のオーバーライドを使用する

一部の監査項目に関心がない場合があります。チェック自体を完全に無視するか、特定のリソースだけを無視したい場合があります。 config/audit_config_override.yaml.example を config/audit_config_override.yaml にコピーし、ファイル内のコメントに従って編集してください。

Dockerコンテナの使用

作成されるDockerコンテナは対話的に使用することを目的としています。

root@kitploit:~
docker build -t cloudmapper .

CloudMapperはIAM呼び出しを行う必要があり、収集時にセッション認証情報を使用できないため、データを収集する場合はaws-vaultサーバーを使用できません。ロール認証情報を直接渡すか、コンテナ内で手動でAWS認証情報を設定する必要があります。以下のコードは、コンテナ内で生の認証情報を公開します。

root@kitploit:~
(                                                              
    export $(aws-vault exec YOUR_PROFILE --no-session -- env | grep ^AWS | xargs) && \ 
    docker run -ti \
        -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
        -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
        -p 8000:8000 \
        cloudmapper /bin/bash
)

これによりコンテナ内にドロップされます。 aws sts get-caller-identity を実行して設定が正しいことを確認してください。 CloudMapperのデモデータはDockerコンテナにコピーされないため、システムからライブデータを収集する必要があります。 Dockerのデフォルト設定では、コンテナに利用可能なメモリが制限されている場合があることに注意してください。例えば、Mac OSではデフォルトが2GBであり、中規模のアカウントでレポートを生成するには十分でない場合があります。

root@kitploit:~
python cloudmapper.py configure add-account --config-file config.json --name YOUR_ACCOUNT --id YOUR_ACCOUNT_NUMBER
python cloudmapper.py collect --account YOUR_ACCOUNT
python cloudmapper.py report --account YOUR_ACCOUNT
python cloudmapper.py prepare --account YOUR_ACCOUNT
python cloudmapper.py webserver --public

その後、http://127.0.0.1:8000/account-data/report.html にアクセスしてレポートを表示できるはずです。

CloudMapperを定期的に実行して環境を監査する

Fargate経由でCloudMapperをデプロイし、夜間に実行して監査結果をSlackチャンネルにアラートとして送信し、レポートをS3に保存するCDKアプリケーションについては、こちらで説明しています。

代替ツール

ネットワーク図については、https://github.com/lyft/cartography または https://github.com/anaynayak/aws-security-viz を試すことをお勧めします。

監査やその他のAWSセキュリティツールについては、https://github.com/toniblyx/my-arsenal-of-aws-security-tools を参照してください。

ライセンス

  • cytoscape.js: MIT https://github.com/cytoscape/cytoscape.js/blob/master/LICENSE
  • cytoscape.js-qtip: MIT https://github.com/cytoscape/cytoscape.js-qtip/blob/master/LICENSE
  • cytoscape.js-grid-guide: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-grid-guide
  • cytoscape.js-panzoom: MIT https://github.com/cytoscape/cytoscape.js-panzoom/blob/master/LICENSE
  • jquery: JS Foundation https://github.com/jquery/jquery/blob/master/LICENSE.txt
  • jquery.qtip: MIT https://github.com/qTip2/qTip2/blob/master/LICENSE
  • cytoscape-navigator: MIT https://github.com/cytoscape/cytoscape.js-navigator/blob/c249bd1551c8948613573b470b30a471def401c5/bower.json#L24
  • cytoscape.js-autopan-on-drag: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-autopan-on-drag
  • font-awesome: MIT http://fontawesome.io/
  • FileSave.js: MIT https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
  • circular-json: MIT https://github.com/WebReflection/circular-json/blob/master/LICENSE.txt
  • rstacruz/nprogress: MIT https://github.com/rstacruz/nprogress/blob/master/License.md
  • mousetrap: Apache https://github.com/ccampbell/mousetrap/blob/master/LICENSE
  • akkordion MIT https://github.com/TrySound/akkordion/blob/master/LICENSE
ツールをダウンロード
検出結果のサマリー
検出結果 IAMレポート
コマンドライン監査 コマンドラインのpublicコマンド