关注【Hack分享吧】公众号,回复关键字【230528】获取下载链接
工具介绍
一个应用于web安全领域的漏洞批量扫描框架,可被应用于但不限于如下场景:
0Day/1Day全网概念验证(在没有测试环境(各种商业、闭源软件)或懒得搭建测试环境的情况下,直接写POC全网扫描,亲测很爽)
企业内网或对外开放资产的安全评估
简单的拒绝服务攻击(用Url存活检测POC)
工具特点:
python、跨平台、并发能力强、扫描速度贼快
作者持续更新,POC库数量可观
功能与时俱进,不断优化打磨
POC模板结构简洁,提供了专门面对开发者的小工具箱,适合用户自定义拓展POC,能够快速应对不同的安全场景
所有POC均以不对目标产生任何负面影响的前提下编写的,旨在发现缺陷的同时不给目标业务造成任何负面影响,能灵活应用于企业与个人不同的安全需求
使用方法
部署
git clone --depth 1 https://github.com/bigblackhat/oFx.git oFx
单个url扫描模式
单个url扫描模式的使用场景:
POC功能性测试
单个目标的漏洞验证详情(返回取决于漏洞本身,目前所有POC都是为了批量验证而设计的,single检测模式尚没有对返回结果做优化,后续会有调整)
oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py -u xxx.xxx.xxx.xxx:xx
批量扫描模式
使用场景:
新漏洞爆出来做全网验证
刷CNVD之类的漏洞平台的积分或排名
有RCE漏洞的POC的话,就可以刷肉鸡(见下方的POC支持清单)
使用方法
oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py -f scan/jboss001.txt --thread 30
蓝字代表无漏洞
绿字代表存在漏洞
青字目标不可达
也可以通过,分隔同时指定多个poc
oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py,poc/Jenkins/Unauth_Access_DashBoard/poc.py,poc/Alibaba_Druid/Unauth_Access_DashBoard/poc.py -f scan/jboss001.txt --thread 30
最后还可以通过-s all指定全量POC进行测试
oFx git:(main) ✗ python3 ofx.py -s all -f scan/jboss001.txt --thread 50
全量POC下测试时常较久,建议食用方式:
根据自己电脑性能和带宽给到50个或更多的线程数
睡前开始扫描或出门玩儿之前打开oFx进行全量POC测试
偷偷说一句,因为全量POC测试是依次运行所有POC对目标进行扫描,也就是只有一个POC扫完全部目标以后才会调用下一个POC,所以对每一个目标来说可能几十秒甚至几分钟内只有一次恶意请求(时长取决于资产数量和线程数),oFx本身不使用爬虫、fuzzing等技术,不会对被测资产产生任何负载压力,所以即使客户明令禁止使用漏扫,也可以放心大胆的用oFx哦
单个目标的全量POC测试
全量POC,顾名思义,遍历所有POC插件依次有序的对目标进行测试,接近于漏扫的概念,而且是一个专注于NDay的漏洞扫描器,因oFx的拓展性,非常适合手中掌握数量庞大的0Day的组织或个人(比如笔者自己),使得他可以将0Day库武器化。
没有被武器化的0Day库,就是一堆无用的文档和漏洞逻辑,没有哪个同行会一边读着上千份文档一边做渗透吧。
开始扫描:
# Single检测模式不支持全量POC,所以需要先将单个目标保存到文件中,再用批量扫描来扫描,算是曲线救国吧
# 单个或少于十个的目标就没有必要指定线程数了,因为默认线程数是10
echo http://xxx.xxx.com > scan/1.txt
python3 oFx.py -s all -f scan/1.txt
Fofa api 资产获取
通过fofa提供的api接口获取资产清单并去重
➜ oFx git:(main) ✗ python3 ofx.py --fofa-search
20xx-xx-xx xx:xx:xx,xxx - INFO: User : xxx@163.com | Key : xxx | 登陆成功
请输入结果保存文件名(不必加文件后缀):jboss001
请输入搜索语句:app="Jboss"
20xx-xx-xx xx:xx:xx,xxx - INFO: Fofa搜索语句为:app="Jboss",开始与Fofa Api对接
第1页获取成功
第2页获取成功
第3页获取成功
...
第99页获取成功
第100页获取成功
20xx-xx-xx xx:xx:xx,xxx - INFO: 搜索完毕,结果保存至/root/oFx/scan/jboss001.txt,经去重共计9748条
可以动态的修改user和key,无需打开配置文件调整,下次使用时直接生效不必重新输入user和key
Ceye配置
近期的版本更新中,oFx添加了对Ceye的支持,目前已有一部分POC采用了该平台来辅助漏洞检测,默认下载oFx之后不配置该项并不影响oFx正常的功能使用,只是相关的POC无法按照预期运行而已,有需要可以配置下:
; 在位于项目根目录下的lib/ceye.ini文件中修改dns和token两项的值
[ceye]
; 从ceye中拿到以下的数据,缺一不可
dns = xxxxxx.ceye.io
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx