XieCat,一群想为信息安全做点微末贡献的理想主义者。 0x01 简介FoFaX 是一款使用 GO 编写的命令行 FoFa 查询工具,在支持 FoFa 查询规则的基础上增加了独有的 Fx 语法来方便使用者编写自己的查询规则,目前已经内置了部分常用的规则。除此之外还有联动其他安全工具在内的多个实用功能。 主要的功能有:
除此之外,用户可以通过 yaml 格式的配置文件编写自己的特定 Fx 查询规则来自定义 Fx 语法查询。 0x02 下载配置2.1 下载按照自己的系统架构选择相应的发行版本下载:
go install -v github.com/xiecat/fofax/cmd/fofax@latest 2.2 配置 FoFa 账号的配置分为两种第一种可以通过环境变量配置。第二种可以直接在配置文件中填写账号密码:
环境变量配置后
第一次运行 FoFaX 命令 windows 下会在同级目录下生成一个 fofax.yaml 的配置文件,Linux下位于 一般来说只需要配置完 # fofa api email fofa-email: ******@gmail.com
# fofa api key fofakey: *************** 0x03 快速使用FoFaX 支持的输入源有管道、参数、文件。输入类型有 FoFa 语句、 Fx 语句、icon 文件,icon URL、cert URL 和从 FoFa 网站上下载的数据文件(csv/json)格式。 3.1 FoFa 语句查询FoFaX 命令行参数可以分为四种配置项、输入源、过滤参数、输出格式:
fofax [[-email -key]/-config] [-q/-uc/-iu/-if/-fcf/-qf/-ucf/-iuf] [-fs/-i/-ec] [-ffi/-fto/-ff] FoFa 语句支持从管道、参数、文件中输出。
查询 app='APACHE-Solr',指定输出 10 条(不加参数默认输出 100 条)并且排除中国资产:
查询 app='APACHE-Solr',指定输出 10 条(不加参数默认输出 100 条)并且排除中国资产: fofax -q 'app='APACHE-Solr'' -fs 10 -ec
3.2 icon 查询
fofax -iu https://www.baidu.com/favicon.ico -fs 5
fofax -iuf icon_url.txt 3.3 网站证书查询
fofax -ucf cert_url.txt 所有的功能官方文档已经做了详尽的说明,其他更多功能和使用方法请移步:https://fofax./guide/ 0x04 特色功能4.1 工具联动FoFaX 的一大特色功能是能够将通过 FoFaX 查询的结果与常见的漏洞探测工具进行联动,使用一条命令行就能实现从信息收集到漏洞的探测。下图以 Xray 为例,使用 FoFaX 进行批量检测 shiro 反序列化漏洞: 目前,FoFaX 已测试了 httpx、Xray、Nuclei 等在内的 5 款常用工具,可以正常联动,更多测试过的工具持续更新中。详细的联动语法见:https://fofax./link/ 4.2 Fx 语法不少 FoFa 工程师在使用过程中基本都会总结不少的查询语句。我相信很多人在使用过程中都要粘贴复制,十分麻烦。我们在 FoFaX 设计过程中就考虑到这个情况,出于使用者对 FoFa 语法已经熟悉,我们直接解析了 FoFa 的语法,在语法中直接嵌入了 Fx 语句,显而易见,这样我们在使用过程中就可以把 Fx 语句混用到 FoFa 语法中,极大提高了语句的灵活性。相信在使用过程中大家会发现它的便利性。 FoFaX 语法库截图如下,目前已经内置 103 条规则语法,其中包含了多种未授权访问漏洞资产、log4j2 漏洞资产等语法。
Fx 语句可以出现在任何可以使用 FoFa 作为输入源的地方但是必须加上
fofax -l
搜索中共有几个标签可以使用分别为: id query # 简写为 q ruleName # 简写为 r ruleEnglish #简写为 re author #简写为 a tag # 简写为 t 他们之间用分号分开,其中考虑到
使用
fofax -ss 'redis-unauth' 更多 Fx 语法的查询、使用以及编写见:https://fofax./fx/search.html
在查询时可以随时加 -open 参数一键打开 FoFa 网站访问所需内容。 0x05 F&Q5.1 windows下的转义问题在windows下使用一定要注意转义,windows下的输入
解决这个问题需要转义: fofax -q 'app=\'Grafana\'' -debug # 输入的内容 FoFa input Query of: app=Grafana #程序实际接收的内容 5.2 提示语法错误
一般有几种情况。第一种是使用 Fx 语句未加 0x06 写在最后FoFaX 是 XieCat 正式发布的第二款安全工具,我们和大多数用户使用 FoFa 的最终目的一样:为了获取各种各样的数据,然后进行分析,得到有用的结果。但发现这个过程有两个问题:一个是语句积累,一个是数据格式。有时候,因为对于语法的不熟悉,自己找不到相关数据,需要在互联网中查询相关的搜索语法;另外一方面找到了想要的数据之后还要进行格式转换以导入到其他工具中来进行下一步的分析;再者,不同的工具输入的格式也不尽相同...于是 FoFaX 工具为了解决这些问题应运而生:一是容易探索,二是易于对接工具。 现阶段,FoFaX 致力于通用规则整理和联动工具对接上,争取让数据无障碍的输出到主流工具中进行分析和探索。下阶段,我们着重在整理的数据中进行二次探索,最大化、最少次的获取数据的同时能关联到更多有趣的数据,让数据的输出更准确。 我们欢迎每个人参与进来,一起打造一个自己的 FoFa 语法库。除了提交语法之外,更多的第三方工具联动您也可以参与进来,将联动方式提交给我们。最后如果有什么有趣的新功能或者新需求,也都可以通过提 issues / FoFaX / Xiecat 公众号后台提交给 Xiecat 团队,我们经过评估之后下个版本就可能实现你要的功能。 |
|