
マルチクラウドOSINTツール。AWS、Azure、Google Cloudの公開リソースを列挙します。
このツールは2019年、Azure を含むペネトレーションテストのために作りました。当時、それをサポートする他の列挙ツールがなかったからです。そこから成長し、機能を追加する中で多くのことを学びました。
ツールを作るのは楽しいですが、メンテナンスは大変です。しばらくこのツールを自分で積極的に使っていませんが、バグ修正とプルリクエストのレビューはできる限り行ってきました。
今後は、この機能をよくメンテナンスされたプロジェクトに統合し、本質的な部分(web/DNS リクエスト、スレッディング、I/O、ロギングなど)を任せるのが理にかなっています。Nuclei はこれに非常によく適しています。cloud_enum の機能を Nuclei に移行する最初の PR はこちらで確認できます。
他の方々にも Nuclei へのテンプレート提供を勧めます。そうすれば、私たちはクラウドリソースの検出に集中でき、基盤部分は Nuclei に任せられます。
時間が許す限り、ここでの PR をレビューしてバグに対応するよう努めますが、大きな変更を行う時間はおそらく取れないでしょう。
素晴らしいコントリビューターの皆さん、ありがとうございます。偵察(recon)の成功を祈ります!
マルチクラウド OSINT ツール。AWS、Azure、Google Cloud の公開リソースを列挙します。
現在、以下を列挙します:
Amazon Web Services:
Microsoft Azure:
Google Cloud Platform
Codingo のビデオデモこちらで実際の動作を確認できます。
このプロジェクトは依存関係の管理に uv を使用しています。uv をインストールしてから、次を実行します:
uv sync
または、スタンドアロンツールとしてインストールします:
uv tool install git+https://github.com/initstring/cloud_enum
必須の引数は少なくとも1つのキーワードだけです。組み込みのファジング文字列を使用できますが、-m や -b で独自のものを指定した方が良い結果が得られます。
-k 引数を複数回指定することで、複数のキーワードを提供できます。
キーワードは enum_tools/fuzz.txt または -m フラグで指定したファイルの文字列を使用して自動的にミューテーションされます。2段階のブルートフォースを必要とするサービス(Azure Containers と GCP Functions)も、デフォルトで fuzz.txt または -b フラグで指定したファイルを使用します。
例えば、ウェブサイトが "somecompany.io" で "blockchaindoohickey" という製品を作っている "somecompany" を調査しているとします。ツールは次のように実行できます:
uv run cloud_enum -k somecompany -k somecompany.io -k blockchaindoohickey
HTTP スクレイピングと DNS ルックアップはデフォルトでそれぞれ5スレッドを使用します。これを増やしてみることもできますが、最終的にはクラウドプロバイダーによってレート制限されます。以下は10に増やす例です。
uv run cloud_enum -k keyword -t 10
重要: 一部のリソース(Azure Containers、GCP Functions)はリージョンごとに検出されます。スキャン時間を節約するため、enum_tools/azure_regions.py と enum_tools/gcp_regions.py に "REGIONS" 変数が定義されており、デフォルトでは1つのリージョンのみを使用するように設定されています。これらのファイルを確認し、自分の作業に関連するように編集するとよいでしょう。
完全な使用法の詳細
usage: cloud_enum [-h] (-k KEYWORD | -kf KEYFILE) [-m MUTATIONS] [-b BRUTE] [-t THREADS]
[-ns NAMESERVER] [-nsf NAMESERVERFILE] [-l LOGFILE] [-f FORMAT] [--disable-aws]
[--disable-azure] [--disable-gcp] [-qs]
Multi-cloud enumeration utility. All hail OSINT!
options:
-h, --help show this help message and exit
-k, --keyword KEYWORD
Keyword. Can use argument multiple times.
-kf, --keyfile KEYFILE
Input file with a single keyword per line.
-m, --mutations MUTATIONS
Mutations. Default: enum_tools/fuzz.txt
-b, --brute BRUTE List to brute-force Azure container names. Default: enum_tools/fuzz.txt
-t, --threads THREADS
Threads for HTTP brute-force. Default = 5
-ns, --nameserver NAMESERVER
DNS server to use in brute-force. Default: 1.1.1.1
-nsf, --nameserverfile NAMESERVERFILE
Path to the file containing nameserver IPs
-l, --logfile LOGFILE
Appends found items to specified file.
-f, --format FORMAT Format for log file (text,json,csv) - default: text
--disable-aws Disable Amazon checks.
--disable-azure Disable Azure checks.
--disable-gcp Disable Google checks.
-qs, --quickscan Disable all mutations and second-level scans
これまでに以下から借用しています: