
複数の検索エンジンを使用して、インターネット上で露出したホストを迅速に発見します。
機能 • インストール • 使い方 • 設定 • Uncoverの実行 • Discordに参加
uncover は、よく知られた検索エンジンのAPIを使用して、インターネット上の露出したホストを素早く発見するGoラッパーです。自動化を念頭に置いて構築されているため、クエリを実行し、その結果を現在のパイプラインツールで利用できます。
uncover を正常にインストールするには go1.21 が必要です。次のコマンドを実行してリポジトリを取得します -
go install -v github.com/projectdiscovery/uncover/cmd/uncover@latest
uncover -h
これによりツールのヘルプが表示されます。サポートされているすべてのフラグは次のとおりです。
Usage:
./uncover [flags]
Flags:
INPUT:
-q, -query string[] 検索クエリ。stdin、file、config入力をサポート (例: -q 'example query', -q 'query.txt')
-e, -engine string[] クエリする検索エンジン (shodan,shodan-idb,fofa,censys,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow,google,driftnet,daydaymap) (デフォルト: shodan)
-asq, -awesome-search-queries string[] 素晴らしい検索クエリを使用して、インターネット上の露出したアセットを発見 (例: -asq 'jira')
SEARCH-ENGINE:
-s, -shodan string[] shodanの検索クエリ (例: -shodan 'query.txt')
-sd, -shodan-idb string[] shodan-idbの検索クエリ (例: -shodan-idb 'query.txt')
-ff, -fofa string[] fofaの検索クエリ (例: -fofa 'query.txt')
-cs, -censys string[] censysの検索クエリ (例: -censys 'query.txt')
-qk, -quake string[] quakeの検索クエリ (例: -quake 'query.txt')
-ht, -hunter string[] hunterの検索クエリ (例: -hunter 'query.txt')
-ze, -zoomeye string[] zoomeyeの検索クエリ (例: -zoomeye 'query.txt')
-ne, -netlas string[] netlasの検索クエリ (例: -netlas 'query.txt')
-cl, -criminalip string[] criminalipの検索クエリ (例: -criminalip 'query.txt')
-pw, -publicwww string[] publicwwwの検索クエリ (例: -publicwww 'query.txt')
-hh, -hunterhow string[] hunterhowの検索クエリ (例: -hunterhow 'query.txt')
-gg, -google string[] googleの検索クエリ (例: -google 'query.txt')
-on, -onyphe string[] onypheの検索クエリ (例: -onyphe 'query.txt')
-df, -driftnet string[] driftnetの検索クエリ (例: -driftnet 'query.txt')
-ddm, -daydaymap string[] daydaymapの検索クエリ (例: -daydaymap 'query.txt')
CONFIG:
-pc, -provider string プロバイダ設定ファイル (デフォルト "$CONFIG/uncover/provider-config.yaml")
-config string フラグ設定ファイル (デフォルト "$CONFIG/uncover/config.yaml")
-timeout int タイムアウト(秒) (デフォルト 30)
-rl, -rate-limit int 1秒あたりに送信するHTTPリクエストの最大数
-rlm, -rate-limit-minute int 1分あたりに送信するリクエストの最大数
-retry int 失敗したリクエストを再試行する回数 (デフォルト 2)
-proxy string uncoverで使用するHTTPプロキシ
OUTPUT:
-o, -output string 結果を書き込む出力ファイル
-f, -field string 出力に表示するフィールド (ip,port,host) (デフォルト "ip:port")
-j, -json JSONL(ines)形式で出力を書き込む
-r, -raw リモートAPIから受信した生の出力を書き込む
-l, -limit int 返す結果の数を制限 (デフォルト 100)
-nc, -no-color 出力の色を無効にする
DEBUG:
-silent 出力に結果のみを表示
-version プロジェクトのバージョンを表示
-v 詳細な出力を表示
uncoverをライブラリとして使用する例は、examples ディレクトリにあります。
デフォルトのプロバイダ設定ファイルは $CONFIG/uncover/provider-config.yaml に配置する必要があり、例として次の内容が含まれています。
注: APIキーが必要であり、uncoverを実行する前に設定する必要があります。
shodan:
- SHODAN_API_KEY_1
- SHODAN_API_KEY_2
censys:
- CENSYS_API_TOKEN_1:CENSYS_ORGANIZATION_ID_1
- CENSYS_API_TOKEN_2:CENSYS_ORGANIZATION_ID_2
fofa:
- FOFA_EMAIL_1:FOFA_KEY_1
- FOFA_EMAIL_2:FOFA_KEY_2
quake:
- QUAKE_TOKEN_1
- QUAKE_TOKEN_2
hunter:
- HUNTER_API_KEY_1
- HUNTER_API_KEY_2
zoomeye:
- ZOOMEYE_API_KEY_1
- ZOOMEYE_API_KEY_2
netlas:
- NETLAS_API_KEY_1
- NETLAS_API_KEY_2
criminalip:
- CRIMINALIP_API_KEY_1
- CRIMINALIP_API_KEY_2
publicwww:
- PUBLICWWW_API_KEY_1
- PUBLICWWW_API_KEY_2
hunterhow:
- HUNTERHOW_API_KEY_1
- HUNTERHOW_API_KEY_2
google:
- GOOGLE_API_KEY_1:Google_API_CX_1
- GOOGLE_API_KEY_2:Google_API_CX_2
onyphe:
- ONYPHE_API_KEY_1
- ONYPHE_API_KEY_2
driftnet:
- DRIFTNET_API_KEY_1
- DRIFTNET_API_KEY_2
daydaymap:
- DAYDAYMAP_API_KEY_1
- DAYDAYMAP_API_KEY_2
nerdydata:
- NERDYDATA_API_KEY_1
- NERDYDATA_API_KEY_2
設定ファイル内で同じプロバイダに複数のキー/資格情報が指定されている場合、実行ごとにランダムなキーが使用されます。
あるいは、bashプロファイルでAPIキーを環境変数として設定することもできます。
export SHODAN_API_KEY=xxx
export CENSYS_API_TOKEN=xxx
export CENSYS_ORGANIZATION_ID=xxx
export FOFA_EMAIL=xxx
export FOFA_KEY=xxx
export QUAKE_TOKEN=xxx
export HUNTER_API_KEY=xxx
export ZOOMEYE_API_KEY=xxx
export NETLAS_API_KEY=xxx
export CRIMINALIP_API_KEY=xxx
export PUBLICWWW_API_KEY=xxx
export HUNTERHOW_API_KEY=xxx
export GOOGLE_API_KEY=xxx
export GOOGLE_API_CX=xxx
export ONYPHE_API_KEY=xxx
export DRIFTNET_API_KEY=xxx
export DAYDAYMAP_API_KEY=xxx
export NERDYDATA_API_KEY=xxx
必要なAPIキーは、以下のプラットフォームにサインアップして取得できます。Shodan、Censys、Fofa、Quake、Hunter、ZoomEye、Netlas、CriminalIP、Publicwww、Google [1]、[2]、Onyphe、Driftnet、DayDayMap、NerdyData。
uncover は、stdin または q フラグを使用したクエリを含む複数の方法をサポートしています。エンジンが指定されていない場合、デフォルトで shodan エンジンが検索に使用されます。