任何非授权的渗透测试都是违法的、点到为止!
前言
最近在学习如何批量验证POC,期间也参考了不少文章,于是萌生了整合出一个自动化批量挖洞的想法。
最终实现效果为:仅通过一条Fofa搜索语法,就可以挖出可供提交公益SRC的漏洞.
流程包括:
1、前期的信息收集(FOFA)
2、中期的漏洞验证(Python批量脚本)
3、后期的IP反查(Python批量脚本)
本次采用"用友 U8 OA SQL注入漏洞"来演示整个自动化流程。
这个漏洞的POC很简单,这里直接附上,详情需要的话网上有很多。
POC:http://IP:PORT/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20MD5(1))
信息收集
众所周知,信息收集是渗透测试中最关键的环节。
信息收集阶段我们的主要目标是:
1、找到网上公开的漏洞POC
2、找出可能存在该漏洞的IP列表
这里我先推荐我经常逛的漏洞文库。
白阁文库(http://33h.co/23tta)
文章后续的POC也参考了文库中的信息。
正文开始
本次采用Fofa搜索引擎来收集可能存在漏洞的IP。
Fofa语句:title="用友U8-OA"
考虑到后续需要把Fofa收集到的IP列表导出给脚本批量验证,这里使用Github开源工具Fofa-collect(https://github.com/tangxiaofeng7/Fofa-collect/releases)
这个工具使用方式很简单,只需要配置好你的Fofa邮箱和API,就可以直接输入Fofa语法,得到查询结果。
我的使用流程如下:
1、在Fofa-collect中输入Fofa语法 -> 得到IP:PORT列表
2、导出保存为IP.txt
至此,信息收集流程结束。
POC批量验证
POC批量验证阶段我们的主要目标是:
1、编写或使用POC,找出IP列表中真正存在漏洞的IP
原POC链接:(http://wiki.peiqi.tech/PeiQi_Wiki/OA%E4%BA%A7%E5%93%81%E6%BC%8F%E6%B4%9E/%E7%94%A8%E5%8F%8BOA/%E7%94%A8%E5%8F%8B%20U8%20OA%20test.jsp%20SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E.html)
可以看到运行结果中有存在漏洞的URL,并且已经存入了urls.txt
我们随便挑选一个URL,用sqlmap跑一下
可以看到是存在注入点的(再次强调渗透测试点到为止,提交漏洞只需要跑出数据库名证明漏洞存在,信息安全三要素CIA时刻铭记于心hhh)
其实文章到这里为止,就可以证明漏洞存在了,但是根据我在漏洞盒子刷公益SRC的经验来看
SRC漏洞需明确归属单位,只有ip或是非明确单位的域名暂不收录
所以光有IP还不够,需要我们去把这些存在漏洞的IP,通过IP反查域名,找出域名,再找出域名所属的单位,这样才能算得上是一个可以提交的漏洞。
(例如你挖出 IP地址 39.156.69.79存在漏洞,但是这样的漏洞一般不收,你需要去查出这个IP 39.156.69.79对应的域名是baidu.com,而baidu.com背后的单位是百度公司,将IP、域名、公司名称这些信息一并提交才行)
于是就有了下一个模块,批量IP反查。
批量IP反查域名
这个阶段我们的主要目标是:
1、已知urls.txt中的IP存在漏洞,找出这些IP对应的域名,并找到域名所属单位
要想批量IP反查域名,找到一个合适的接口是首先要考虑的问题,
下面我列出几个可以IP反查域名的网站:
https://dns.aizhan.com/=
https://www.yougetsignal.com/tools/web-sites-on-web-server/
https://tools.ipip.net/ipdomain.php?ip=
这里我选择了使用第一个接口https://dns.aizhan.com/=
运行完成后,可以看到result.txt中出现了一些IP对应的域名
这时候我们只需要去访问域名,就可以知道这个IP对应的公司。
于是我们就可以拿着这些信息去提交漏洞了!
至此,整个流程结束。
可以看到我们通过 一条Fofa语句 和 一个POC ,就可以在短时间内快速找到可以提交公益SRC的漏洞
在拿到新的POC时,仅需替换POC_1()函数,代码稍加改动,就可以实现另一个漏洞的批量挖掘。
总结
比较遗憾的地方
这个文章里用的POC是我在PeiQi文库提供的POC基础上改的,所以说并不是原创,
但是这也是一个学习的过程,多看看别人的,慢慢的自己就也能上手写了,这也标志这我正在从一个脚本小子变成代码大师(开玩笑)。
为什么不用现有的POC批量工具?
我有了解到POC-T是一个很棒的POC批量验证工具,同时goby里也支持json格式导入POC验证模块,这些都是非常高效且便利的。
不过我认为我的学习时间还长,要尽量从基础学起,这就需要动手写写代码,理解那些工具底层用的什么逻辑。
可能在一些大佬眼里,我这个小项目就是一个缝合怪,不过我认为这是我学习的一个记录,还希望口下留情。
参考文章
http://wiki.peiqi.tech/PeiQi_Wiki/OA产品漏洞/用友OA/用友%20U8%20OA%20test.jsp%20SQL注入漏洞.html
https://bbs.zkaq.cn/t/5320.html
本项目源码
https://github.com/h2so0o4/Fuck_SRC