简介 🪶
Uncover 是一个使用 Go 编写的工具,它通过知名网络空间搜索引擎的 API 消息快速发现互联网上暴露的主机。这个工具的设计理念是自动化,用户可以查询并将结果与现有的工作流程工具结合使用。
主要功能
-
多搜索引擎查询:Uncover 支持同时查询多个搜索引擎,包括 Shodan、Censys、FOFA、Hunter、Quake、Zoomeye、Netlas、CriminalIP 和 PublicWWW。 -
API 密钥支持:支持多个 API 密钥输入,并具备自动 API 密钥随机化功能。 -
输入/输出支持:可以通过标准输入和输出流进行操作,方便用户将结果集成到其他工具链中。
对于希望进行网络安全研究、漏洞挖掘或信息收集的用户来说,Uncover 是一个极具价值的工具。
支持的网络空间搜索引擎 API 🕵️
-
Shodan -
Censys -
FOFA -
Hunter -
Quake -
Zoomeye -
Netlas -
CriminalIP -
PublicWWW -
HunterHow
安装 🍂
在各个操作系统上安装 Uncover 的教程
Uncover 是一个使用知名搜索引擎 API 的 Go 包,用于快速发现互联网上暴露的主机。本文将介绍如何在不同操作系统上安装 Uncover。
1. 系统要求 😧
在安装 Uncover 之前,请确保您的系统上安装了最新版本的 Go。您可以通过以下命令检查 Go 的版本:
go version
2. 安装 Uncover 🏇
a. 在 Linux 和 macOS 上
b. 在 Windows 上
-
打开命令提示符或 PowerShell。 -
输入以下命令以安装 Uncover: go install -v github.com/projectdiscovery/uncover/cmd/uncover
3. 验证安装
安装完成后,可以使用以下命令验证 Uncover 是否成功安装:
uncover -version
如果看到版本信息,则表示安装成功。
4. 使用 Uncover
可以使用以下命令获取所有帮助选项:
uncover -h
5. 安装注意事项
-
Uncover 需要最新版本的 Go。 -
在使用 Uncover 之前,您需要配置密钥和凭证。 -
查询标志支持所有搜索引擎支持的过滤器。
使用 🌿、
参数选项 ✌️
快速发现互联网上暴露的资产,使用多个搜索引擎。
用法:
uncover [标志]
标志:
输入:
-q, -query 字符串[] 搜索查询,支持:标准输入、文件、配置输入(示例:-q '示例查询',-q '查询.txt')
-e, -engine 字符串[] 要查询的搜索引擎(shodan, shodan-idb, fofa, censys, quake, hunter, zoomeye, netlas, criminalip)(默认使用 shodan)
搜索引擎:
-s, -shodan 字符串[] shodan 的搜索查询(示例:-shodan '查询.txt')
-sd, -shodan-idb 字符串[] shodan-idb 的搜索查询(示例:-shodan-idb '查询.txt')
-ff, -fofa 字符串[] fofa 的搜索查询(示例:-fofa '查询.txt')
-cs, -censys 字符串[] censys 的搜索查询(示例:-censys '查询.txt')
-qk, -quake 字符串[] quake 的搜索查询(示例:-quake '查询.txt')
-ht, -hunter 字符串[] hunter 的搜索查询(示例:-hunter '查询.txt')
-ze, -zoomeye 字符串[] zoomeye 的搜索查询(示例:-zoomeye '查询.txt')
-ne, -netlas 字符串[] netlas 的搜索查询(示例:-netlas '查询.txt')
-cl, -criminalip 字符串[] criminalip 的搜索查询(示例:-criminalip '查询.txt')
配置:
-pc, -provider 字符串 提供商配置文件(默认 "/home/user/.config/uncover/provider-config.yaml")
-config 字符串 标志配置文件(默认 "/home/user/.config/uncover/config.yaml")
-timeout 整数 超时时间(单位:秒,默认 30)
-delay 整数 请求之间的延迟(单位:秒,0 表示禁用)(默认 1)
-retry 整数 失败请求的重试次数(默认 2)
输出:
-o, -output 字符串 写入找到的结果的输出文件
-f, -field 字符串 输出中显示的字段(ip, port, host)(默认 "ip:port")
-j, -json 以 JSONL(行)格式写入输出
-r, -raw 按照远程 API 接收到的原始输出写入
-l, -limit 整数 限制返回的结果数量(默认 100)
-nc, -no-color 禁用输出中的颜色
调试:
-silent 仅显示输出中的结果
-version 显示项目版本
-v 显示详细输出
使用教程 👾
基本用法
Uncover 支持通过标准输入或-q
标志发送查询。如果未指定搜索引擎,默认使用 Shodan 引擎。
示例 1: 短查询
echo'ssl:"Uber Technologies, Inc."' | uncover
此示例将搜索 SSL 证书中包含 “Uber Technologies, Inc.” 的主机。
示例 2: 多行查询文件输入
可以通过文件输入来执行多个查询。在dorks.txt
文件中,每一行包含一个查询。
cat dorks.txt
内容示例:
ssl:"Uber Technologies, Inc."
title:"Grafana"
然后使用 Uncover:
uncover -q dorks.txt
示例 3: 针对多个搜索引擎的单一查询
Uncover 支持使用-e
标志对多个搜索引擎进行单一查询。
echo jira | uncover -e shodan,censys,fofa,quake,hunter,zoomeye,netlas,criminalip
示例 4: 针对多个搜索引擎的多个查询
uncover -shodan 'http.component:"Atlassian Jira"' -censys 'services.software.product=`Jira`' -fofa 'app="ATLASSIAN-JIRA"' -quake 'Jira' -hunter 'Jira' -zoomeye 'app:"Atlassian JIRA"' -netlas 'jira' -criminalip 'Jira'
高级用法 😶🌫️
Shodan-InternetDB API
Uncover 支持 Shodan-InternetDB API 来提取给定 IP/CIDR 输入的可用端口。当提供 IP/CIDR 作为输入时,默认使用shodan-idb
引擎。
echo 192.168.1.1/24 | uncover
字段格式化
使用-f
标志可以指定返回的字段,目前支持 ip、port 和 host。
uncover -q jira -f host -silent
输出格式化
Uncover 的-f
标志可用于自定义输出格式。示例如下:
echo kubernetes | uncover -f <https://ip>:port/version -silent
输出将显示格式为 "https://ip:port/version" 的结果。
将输出管道传递给其他工具
可以将 Uncover 的输出进一步传递给其他支持 stdin 作为输入的项目,例如:
uncover -q example -f ip | naabu # 运行 naabu 进行端口扫描
uncover -q title:GitLab | httpx # 用 httpx 进行 Web 服务器探测
参考链接 🌲
-
https://docs.projectdiscovery.io/tools/uncover/ -
https://github.com/projectdiscovery/uncover
原文始发于微信公众号(人遁安全):Uncover 网络空间搜索引擎一条龙服务,自动化多平台批量目标发现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论