fofaEX
简介
FOFA EX 是一款基于fofa api实现的红队综合利用工具,可基于模板进行插件加载,目前集成了httpX可进行fofa搜索结果一键探活,支持nuclei一键扫描。
集成了 fofa 官方的四十个 api 接口,增加搜索数量调整、翻页、iconHash生成、搜索耗时统计、当前用户个人账户信息查询等功能,查询结果可实施编辑与表内搜索,可进行导出; 增加快捷语法编辑记录功能,可将收录的语法进行保存与快捷输入;右键支持当前搜索结果一键打开链接等功能。点击加入 内测群 学习交流与问题反馈。
本项目长期免费维护,您的star是对我最大的支持。
启动方式
[+] 支持 java 版本:java8、java11
该程序使用 Java11 编写,请尽可能使用java11(界面及功能优化得最好),使用插件模式可进行一键探活:
java11:最新发布版本点击下载 [V3.1]
java 8:最新发布版本点击下载 [V2.2]
最新测试版本点击下载 [V2.1]
手动运行请使用编码启动:
java "-Dfile.encoding=UTF-8" -jar .\fofaEX.jar
优势
- 更多的默认数据查询:默认查询全部数据(fofa_viewer 仅默认查询近一年数据)
- 快捷保存查询语法,便于HW或SRC挖掘
- 全部 API 接口的支持,界面可选择接口显示范围
- 查询结果在线编辑导出,后续会为右键添加更多新功能
- 可自动化调用第三方插件,目前持续开发中:当前展示为 httpX 一键探活 fofa 搜索结果,可通过设置plugins/httpxSetting.json来设置导出选项:
运行 httpX 会自动弹出单独的运行结果面板:
登录模式:账户设置
客户端需输入邮箱与key,第一次登录后保存账户会将配置文件生成在本地 accounts.txt 文件中(当前fofa输入key就可以调用API,无需设置邮箱):
检查账户功能可查看当前账户信息(会员显示点数为"-1"是正常现象):
API 搜索功能
当前已提供以下 api 搜索功能(部分功能取决与当前账户权限):
ip,port,protocol,country,country_name,region,city,longitude,latitude,as_number,as_organization,host,domain,os,server,icp,
title,jarm,header,banner,base_protocol,link,certs_issuer_org,certs_issuer_cn,certs_subject_org,certs_subject_cn,tls_ja3s,
tls_version,product,product_category,version,lastupdatetime,cname,icon_hash,certs_valid,cname_domain,body,icon,fid,structinfo
默认使用常用的7个选项,可进行勾选或取消:
fofa api 官方链接:https://fofa.info/api
快捷输入功能
按钮单击为快速输入,输入后显示为红色高亮;再次点击则撤回输入,颜色恢复。 用户可实时新增、编辑、删除按钮,按钮配置文件保存在当前目录 rules.txt 文件中。
iconHash 计算
可通过直接输入: https://baidu.com/ 或者 https://baidu.com/favicon.ico 来计算图标哈希值:
表格操作
当前表格中,右键集成了部分功能,其他功能将后续更新。
翻页功能及搜索计时
右下角统计当前表格数据与全部数据占比,显示当前页面数及本次搜索耗时。
导出功能
导出excel表会以“全部数据sheet+各列去空sheet”的形式放在一个表中,方便第三方工具直接使用数据:
插件模式
当前集成了 httpX 插件(windows平台),目录结构为:
.
├── fofaEX.jar
├── plugins
│ ├── AllPlugins.json
│ └── httpx
│ ├── httpx.exe
│ └── httpxSetting.json
├── rules.txt
└── run.bat
AllPlugins.json 设置插件开关,false 关闭插件,true 打开插件:
{
"dirsearch":false,
"httpx":true
}
httpxSetting.json 设置 httpX 的运行配置:(配置文件名需要为:插件名 + Setting.json,插件名需要与 AllPlugins.json 中的一致)
{
"Run":{
"Path":"./plugins/httpx/httpx.exe",
"Params":{
"-duc":"",
"-l":"./plugins/httpx/input.txt",
"-status-code":"",
"-o":"./plugins/httpx/HttpX.json",
"-nc":"",
"-j":""
},
"InputFile":"./coredata/FofaEX.json",
"InputTarget":{
"selectParam":"-l",
"selectColumn":"link"
},
"OutputFile":"./plugins/httpx/HttpX.json",
"OutputTarget":["url","port","title","status_code"]
},
"About":{
"Project": "httpX",
"Address": "https://github.com/projectdiscovery/httpx",
"Author": "ProjectDiscovery",
"Version": "v1.3.7",
"Update": "2023.11.13"
}
}
- "Path" 指定程序路径
- "Params" 指定程序运行默认参数
- "InputFile" 指定 fofaEX 使用 API 查到的数据
- "InputTarget":从 FofaEX.json 中提取出link列保存到./plugins/httpx/input.txt中,作为httpX的输入
- "OutputFile" 指定 httpX 运行后产生文件保存的位置
- "OutputTarget" 指定 fofaEX 在插件页面所展示的列内容
PS:coredata 目录为核心交换文件目录,此功能后续会进行使用,目前请忽略。
mac 使用插件:
需要去https://github.com/projectdiscovery/httpx官网下载对应的mac包,替换plugins/httpx 文件夹下的 httpx.exe文件,接着修改httpxSetting.json文件中的Path参数为"./plugins/httpx/httpx"即可。
记得给 mac 的httpx 对应运行权限,
该功能已经过mac测试,可以正常使用。