Exposor:一款基于互联网搜索引擎实现的统一语法网络侦查工具

科技   2025-01-05 10:02   上海  

关于Exposor


Exposor是一款功能强大的网络侦查工具,该工具基于互联网搜索引擎实现其功能,支持广大研究人员使用统一语法来检测网络中的安全威胁。



该工具支持跨Censys、Fofa、Shodan和Zoomeye实现技术检测,并且具备跨平台的统一查询语法,可以为安全研究人员和专业人员提供了暴露系统的清晰视图,从而能够快速识别风险。


功能特性


1、为支持的 feed 配置 API 密钥,并保持情报文件更新;

2、使用 Exposor 的查询语法来查找技术;

3、在单一工作流程中检索并分析多个搜索引擎的结果;

4、贡献自定义 YAML 文件以扩展检测功能;

5、通过网络块、国家代码或主机名执行有针对性的搜索;

6、使用统一的语法跨多个 feed 执行查询;

7、使用 CPE 或 CVE 识别暴露的系统和潜在漏洞;


工具要求


pyyaml

python-dotenv

pytest

pytest-mock

requests


工具安装


由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。


源码获取


广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/abuyv/exposor.git


然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd exposor
pip install -r requirements.txt


pip安装


#latest stable release
pip install exposor

工具配置


要使用Exposor,必须为要搜索的 feed 配置 API 密钥。至少需要一个 API 密钥才能启用对 feed 的搜索。


我们可以通过两种方式添加 API 密钥:


1、使用--init选项


运行exposor --init选项来创建配置文件:

exposor --init shodan:api_key zoomeye:api_key censys:api_id:api_secret fofa:email:api_key

2、使用环境变量


使用以下命令将 API 密钥设置为环境变量:

# Unix
export CENSYS_API_ID="your_censys_api_id"
export CENSYS_API_KEY="your_censys_api_secret"
export FOFA_EMAIL="your_fofa_email"
export FOFA_API_KEY="your_fofa_api_key"
export SHODAN_API_KEY="your_shodan_api_key"
export ZOOMEYE_API_KEY="your_zoomeye_api_key"
# Windows
$env:CENSYS_API_ID="your_censys_api_id"
$env:CENSYS_API_KEY="your_censys_api_secret"
$env:FOFA_EMAIL="your_fofa_email"
$env:FOFA_API_KEY="your_fofa_api_key"
$env:SHODAN_API_KEY="your_shodan_api_key"
$env:ZOOMEYE_API_KEY="your_zoomeye_api_key"

工具使用


运行 Exposor 以使用预定义的 YAML 文件检测特定技术:

__
/__\__ __ _ __ ___ ___ ___ _ __
/_\ \ \/ /| '_ \ / _ \ / __| / _ \ | '__|
//__ > < | |_) || (_) |\__ \| (_) || |
\__/ /_/\_\| .__/ \___/ |___/ \___/ |_|
|_|
version: 1.0.0


Usage: exposor.py -q cpe:2.3:a:vendor:product --feed all -o result.csv

Explore multiple feeds for a given CPE or CVE. Supported feeds include Censys, Fofa, Shodan, and Zoomeye.

General Options:
-h, --help 显示此帮助消息并退出
--init 初始化支持的feed的API密钥,格式为“feed:credentials”`
--update 更新情报文件(intels文件夹)以包含最新查询

Query Options:
-q, --query 指定搜索查询,例如`cpe:2.3:a:vendor:product`或 `CVE-2024-XXXX`
-qL, --query-limit 限制发送到给定CPE的指定feed查询数。默认值如果为“yes”,则表示查询已经限制为每个提要只发送一个查询。如果你要在每个提要中发送所有可能的查询,请使用`-qL-no禁用此选项`
-f, --feed 选择一个或多个数据源进行查询。使用“all”查询所有支持的feed
-c, --country 使用国家代码按特定国家搜索技术
-n, --netblock 提供要搜索的网络块或特定IP地址(例如“192.168.0.1/24”或“192.168.0.1”)
-d --domain-name 指定要搜索的目标域(例如`example.com`)

--limit 设置每个feed中每个查询要获取的最大结果数。例如,如果限制为10,并且对提要有3个查询,则总共有30个结果获取(10个结果×3个查询)。(默认值为“50”)

Result Options:
-v, --verbose 用详细输出以获取详细日志,增加输出详细度(-v,-vv)
-o, --output             指定输出文件名(例如`results.csv`)

工具运行演示



许可证协议


本项目的开发与发布遵循MIT开源许可协议。


项目地址


Exposor

https://github.com/abuyv/exposor


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】






FreeBuf
中国网络安全行业门户
 最新文章