
マルチクラウドOSINTツール。AWS、Azure、Google Cloudの公開リソースを列挙します。
私は2019年に、Azureを対象としたペネトレーションテストのためにこのツールを構築しました。当時は他にそれをサポートする列挙ツールがありませんでした。そこから成長し、機能を追加しながら多くのことを学びました。
ツールを構築するのは楽しいですが、メンテナンスは大変です。私はしばらくこのツールを積極的に使用していませんが、バグ修正やプルリクエストのレビューには最善を尽くしてきました。
今後は、この機能を、基本(Web/DNSリクエスト、スレッド処理、I/O、ログ記録など)を処理する、しっかりとメンテナンスされたプロジェクトに統合するのが理にかなっています。Nucleiはこれに非常に適しています。cloud_enumの機能をNucleiに移行する最初のPRはこちらでご覧いただけます。
皆さんにはNucleiへのテンプレートの貢献をお勧めします。そうすることで、基礎的な部分はNucleiに任せつつ、クラウドリソースの検出に集中できるようになります。
時間が許す限り、ここでのPRのレビューやバグ対応は引き続き行いますが、大きな変更を行う時間はおそらくないでしょう。
素晴らしいコントリビューターの皆さんに感謝します。皆さんの偵察活動がうまくいくことを祈っています!
マルチクラウドOSINTツール。AWS、Azure、Google Cloudの公開リソースを列挙します。
現在、以下のものを列挙します。
Amazon Web Services:
Microsoft Azure:
Google Cloud Platform:
このプロジェクトは依存関係管理にuvを使用しています。uvをインストールしてから、以下を実行してください:
uv sync
必須の引数は少なくとも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)はリージョンごとに発見されます。スキャン時間を節約するために、cloudenum/azure_regions.pyとcloudenum/gcp_regions.pyで定義された"REGIONS"変数があり、デフォルトでは1つのリージョンのみを使用するように設定されています。これらのファイルを確認し、自身の作業に合わせて編集することをお勧めします。
完全な使用詳細
usage: cloud_enum.py [-h] -k KEYWORD [-m MUTATIONS] [-b BRUTE]
Multi-cloud enumeration utility. All hail OSINT!
optional arguments:
-h, --help show this help message and exit
-k KEYWORD, --keyword KEYWORD
Keyword. Can use argument multiple times.
-kf KEYFILE, --keyfile KEYFILE
Input file with a single keyword per line.
-m MUTATIONS, --mutations MUTATIONS
Mutations. Default: enum_tools/fuzz.txt
-b BRUTE, --brute BRUTE
List to brute-force Azure container names. Default: enum_tools/fuzz.txt
-t THREADS, --threads THREADS
Threads for HTTP brute-force. Default = 5
-ns NAMESERVER, --nameserver NAMESERVER
DNS server to use in brute-force.
-l LOGFILE, --logfile LOGFILE
Will APPEND found items to specified file.
-f FORMAT, --format FORMAT
Format for log file (text,json,csv - defaults to 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
これまでに、以下のものから借用しています: