
ネットワーク発見、サブドメイン列挙、IPエンリッチメント、およびシークレット検出のためのOSINT偵察ツール。証明書ログ、Shodan、GitHubコード検索を介して動作し、すべてAPIキーを必要としません。
Metabigor - APIキーの手間なしで手に入るOSINTパワー
Metabigor は、1つもAPIキーを登録する必要なく、ターゲットのインフラストラクチャをマッピングします。 ネットワークレンジ、証明書、関連ドメイン、露出したポート、CDNベンダー、コードリークなど、すべてを 無料のソースから取得でき、すべてパイプで相互に接続できます。
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
どちらもお使いのプラットフォーム向けの同じプリビルドバイナリを提供します。Goツールチェーンは不要です。
またはソースからビルド:
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
または リリースページ からバイナリをダウンロード。
metabigor net AS13335 # network ranges behind an ASN
metabigor cert hackerone.com # subdomains from certificate logs
metabigor ip 1.1.1.1 # open ports and CVEs for an IP
metabigor related tesla.com # other domains the target owns
metabigor cdn --exclude -I ips.txt # candidate origin servers
同じ規約がすべてのコマンドに適用されるため、1つのコマンドを覚えればすべてを理解できます。
metabigor cert example.com # as an argument
metabigor cert example.com tesla.com # several arguments
metabigor cert -i example.com # with -i
metabigor cert -I domains.txt # from a file, one per line (# comments are ignored)
cat domains.txt | metabigor cert # on stdin
これらは組み合わせ可能で、マージされたリストは重複排除されます:
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
引数は最短の方法で、すべてのコマンドで機能します。ターゲットがフラグに見えてしまう場合や、スクリプトがコマンドを構築する場合は -i を使用します:
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
標準入力は、他の方法でターゲットが指定されていない場合にのみ読み取られます。そのため metabigor net AS13335 はスクリプトやCIジョブ内で入力待ちによってブロックされることはありません。
-f/--format はすべてのコマンドで機能します:
| フォーマット | 得られるもの | 用途 |
|---|---|---|
text (デフォルト) | 読みやすいカラム | ターミナルでの表示 |
flat | 主要な値のみ | 他のツールへのパイプ |
json | 1行に1つのJSONオブジェクト | jq、自動化 |
csv | ヘッダー付きの行 | スプレッドシート、レポート |
metabigor ip 1.1.1.0/28 # 1.1.1.1 | 80,443 | one.one.one.one
metabigor ip 1.1.1.0/28 -f flat # 1.1.1.1:80
metabigor ip 1.1.1.0/28 -f json # {"ip":"1.1.1.1","ports":[80,443],...}
metabigor ip 1.1.1.0/28 -f csv -o ports.csv
結果は常に標準出力に、ログは常に標準エラー出力に出力されるため、どのログレベルでもパイプはクリーンなままです。-o は結果をファイルにも書き込みますが、--append を渡さない限り上書きします。ファイルは書き込む結果がある場合にのみ書き換えられるため、失敗したり何も見つからなかった実行では、以前の結果がそのまま残ります。
metabigor net AS13335 -f flat | metabigor ip -f flat
metabigor related tesla.com -f flat | metabigor cert
cat domains.txt | dnsx -silent -resp-only | metabigor cdn --exclude
net - ネットワークディスカバリASN、IP、ドメイン、または組織の背後にあるCIDRを検索します。同梱のオフラインデータベースを使用します。
metabigor net AS13335 # every CIDR announced by an ASN
metabigor net 1.1.1.1 --detail # which ASN owns this IP
metabigor net --org Cloudflare # search by company name
metabigor net --live tesla.com # query live sources instead of the local DB
metabigor net -I asn-list.txt -f csv -o ranges.csv
ターゲットタイプは自動検出されます。--asn、--ip、--domain、--org で上書きできます(相互排他)。--detail はASN、組織、国のカラムを追加します。
cert - 証明書透過性metabigor cert hackerone.com # one domain per line
metabigor cert "HackerOne Inc" # search by organization
metabigor cert example.com --clean # strip the *. from wildcards
metabigor cert example.com --wildcard # only wildcard entries
metabigor cert example.com --detail # cert IDs, issuers, validity dates
metabigor cert tesla.com | dnsx -silent
ip - IPエンリッチメント(Shodan InternetDB)metabigor ip 1.1.1.1 # ports, hostnames, CVEs
metabigor ip 1.1.1.0/28 # CIDRs expand to hosts
metabigor ip 1.1.1.0/28 -f flat # IP:PORT pairs
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
InternetDBが情報を持たないIPはスキップされます。保持するには --all を渡します。
github - コード検索(grep.app)metabigor github hackerone.com # repo and path per match
metabigor github tesla.com --subs # only subdomains found in matches
metabigor github "api_key=" --detail # show the matching code
metabigor github AKIA --pages 3 --detail
ChromeまたはChromiumが必要です。grep.appはプレーンなHTTPクライアントにボットチャレンジで応答します。grep.appのレート制限を尊重するため、検索は -c に関係なく1つずつ実行されます。
cluster - IPクラスタリング所有するASNごとにIPをグループ化し、最大のクラスタから順に表示します。IPまたはCIDRを受け入れます。オフラインで動作します。
cat ips.txt | metabigor cluster
metabigor cluster -I ips.txt -f csv -o clusters.csv
cat domains.txt | dnsx -silent -resp-only | metabigor cluster
related - 関連ドメインの発見metabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
ソース: crt(crt.sh)、whois(viewdns.info リバースWHOIS)、analytics(共有されたGoogleアナリティクス / タグマネージャーID)、または all。結果はソース間で重複排除され、最初に発見したソースがタグ付けされます。
url - WebアーカイブからのURL収集metabigor url hackerone.com # every keyless source, subdomains included
metabigor url blog.hackerone.com --no-subs # one hostname only
metabigor url hackerone.com/reports # scope to a path prefix
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript only
metabigor url tesla.com --blacklist default --no-params
metabigor url tesla.com -f flat | httpx
ソース: wayback、commoncrawl、otx、urlscan、ghostarchive に加え、キーが設定されている場合は virustotal と intelx。キー不要の5つのソースがデフォルトで実行されます。認証付きの2つは、環境に VT_API_KEY / INTELX_API_KEY が存在すると自動的に参加し、URLSCAN_API_KEY は urlscan のページサイズを引き上げます。キーなしで認証付きソースを指定すると、黙ってスキップするのではなくエラーになります。
サブドメインはデフォルトで含まれます - クエリは target ではなく *.target です。これは実行結果の量を左右する最大の要因です。--no-subs で絞り込めます。
GhostArchiveは一覧表示だけでなく、掘り下げて抽出します。 アーカイブされたすべてのページには生のWARCもあり、WARCにはページをキャプチャ中にブラウザが行ったすべてのサブリクエスト(XHR呼び出し、JSONエンドポイント、動的に構築されたスクリプトURL)が記録されています。CDXインデックスはページURL自体のキャプチャのみをインデックスするため、そのような情報は一切表示されません。テストでは、tesla.com に対する8リクエストで、実際のJSON APIエンドポイントを含む147のURLが返されました。コストは --limit-requests で制限できます。
フィルタはデフォルトでオフになっており、頼まれもしないのに何かが削除されることはありません。--match-status / --filter-status、--match-mime / --filter-mime、--from / --to、--keywords はWaybackとCommon CrawlのAPIにサーバーサイドで渡され、ローカルでも再チェックされます。--blacklist と --no-params はローカルで処理されます。--limit-requests はソースごとのリクエスト数を上限で制限し、--limit-collections はCommon Crawlの約126のインデックスコレクションをどこまで深く検索するかを設定します(0 ですべて、2008年まで遡ります)。
cdn - CDN/WAF検出