0x00 前言
每次漏洞爆发之后,很多人都在急着找批量,想着能多刷几个洞提交乌云上。其实有些漏洞的探测步骤很多时间是可以统一抽取做成框架的。今天我就分享一下自己写的一个漏洞批量利用的框架,运用这个框架,可以方便的进行一些漏洞的批量扫描。
0x01 框架的原理
漏洞的扫描一般都是URL链接挂载一个POC或者有人更狠直接上exp来尝试访问,如果服务器返回的页面中存在一些特征的字符串,那么就判定该网站存在漏洞。举个栗子,比如ecshop的某个注入漏洞,提交payload之后,网站返回下面的页面:
我们在自动化扫描的时候,就会根据这个页面中出现的比如”Duplicate entry”字样来判定,这个字符串是由于提交的payload中的MYSQL报错注入引起的。这时就需要一个判定扫描结果的正则scan_rule。
同时,有人不满足只是扫描是否有漏洞,他们希望可以从页面上获取一些信息,比如上面截图中出现了admin和密码的hash,扫描出来漏洞站点后,我们希望提取这个字符串,那么也是需要有一个抓取正则res_rule。
此外,本框架不会提供待扫描的IP列表或者域名列表,这些东西需要做批量的哥们儿自己用一些URL采集器去采集。框架本身只提供载入、扫描、结果抓取等功能。并且支持多线程探测。
0x02 框架的使用
本框架只需要准备好待扫描的IP或者域名列表,以及一个可靠的exp或者poc即可。最后你只需要配置这个框架的配置文件,然后执行脚本就可以跑了。
配置文件的各个选项如下:
关于详细的使用信息,可以访问阅读README.md。
https://github.com/OneSourceCat/scan-framework
需要注意的是,ip或者域名列表要带上http://协议头,如下:
0x03 使用案例
进行s2-016的扫描,配置文件和上面一致,由于是URL模式,所以配置项中的raw_file不用填写,直接运行Python cli.py -m url即可运行脚本:
结果集文件会进行记录:
此外,框架还支持POST方式提交漏洞探测数据包以及使用原生的http请求报文进行探测。
由于框架昨天写完,所以会有比较粗糙的地方没有进行处理,如果有bug,请私信我。
项目地址:https://github.com/OneSourceCat/scan-framework