功能 • 安装 • 用法 • 配置 • 运行 Uncover • 加入 Discord
uncover 是一个 Go 语言封装的工具,利用知名搜索引擎的 API 快速发现互联网上暴露的主机。它专为自动化而设计,因此你可以查询它并将其结果与现有的管道工具一起使用。
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 每秒发送的最大 HTTP 请求数
-rlm, -rate-limit-minute int 每分钟发送的最大请求数
-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 显示详细输出
在 examples 目录中提供了将 uncover 作为库使用的示例。
默认的提供者配置文件应位于 $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 引擎进行搜索。
echo 'ssl:"Uber Technologies, Inc."' | uncover
__ ______ _________ _ _____ _____
/ / / / __ \/ ___/ __ \ | / / _ \/ ___/
/ /_/ / / / / /__/ /_/ / |/ / __/ /
\__,_/_/ /_/\___/\____/|___/\___/_/ v0.0.9
projectdiscovery.io
[WRN] 谨慎使用。您对自己的行为负责
[WRN] 开发者不承担任何责任,对任何滥用或损害不负责。
[WRN] 使用 uncover,即表示您也同意所用 API 的条款。