0x00 前言
我们总是在挖洞,很多情况下,挖洞并不是那么的快乐,这里分为2点,一种就是感觉漏洞太好挖了,但是会花费很多时间去挖洞。一种就是太难挖和某种因素,导致自己错过了某些漏洞。
所以有时候,扫描器和自动挖洞程序是一个不错的选择。
0x01 挖掘思路
漏洞扫描器无非就是爬虫+payload检测,目前payload检测器已经有了,我们可以选择用长亭科技的xray。
参考:https://github.com/chaitin/xray
被动式漏洞扫描器,然后就是爬虫的问题了,这种事情,一般是不会考虑自己去写的,但是目前网上的爬虫并不是特别好,无法渲染js是一个大的问题,也有的是基于web1.0的。
偶然间才看到headless-chrom这个好玩的工具,完全可以做到自动化部署。
参考: https://thief.one//2018/06/07/1/
这个是可以对js很好的渲染,模拟最真实的环境下进行爬虫测试,具体好处是什么,可以自行查询相关资料。
然后结合360 0Kee-Team的自动填充参数脚本来进行爬虫,这样就解决了我们爬虫的问题。
可以说,自动化挖洞质量很大程度上取决于爬取的url。
看到这里,可能很多人要喷了,说是什么都是别人的,你这一点都不干货,那就关注我,加我打一场王者荣耀,我玩关羽有一套纳。不多谈了,继续技术探讨。
0x02 爬虫实践
这里我们直接去看360team的crawlergo
参考:https://github.com/0Kee-Team/crawlergo
具体是我们可以先下载一个download-chromium
参考:https://download-chromium.appspot.com
样子长这样:
然后直接把下载好的crawlergo和chormium放到一个目录下,这是我的习惯。
执行命令:
./crawlergo -c chromium.app/Contents/MacOS/Chromium -t 20 url
我看了下,这些可以在渗透测试的时候做情报收集,爬取的url通过正则匹配出来更多url和参数,从而更好的进行渗透测试,关于情报收集的情况下,我会另外总结一篇文章。
至于效果怎么样,只有试过才知道,如果你挖洞到无聊,不如玩下这个工具。
0x03 Xray Scanner
具体使用最好看官方文档 xray 官方文档
https://xray.cool/xray/#/tutorial/introduce
这里只总结一个脚本一键开启的:
#!/bin/bash
./xray webscan --listen 127.0.0.1:1664 --html-output $(date "%Y%m%d_%H%M%S").html
0x04 URL自动化更新
这个的话,其实每个人都有自己的方法,估计我们手机都在监控最新的src域名,至于如何发现厂商的新域名或者测试域名呢,每个人有每个人的方法和思路。
我提供一个我的思路,子域名结合dns爆破,每天晚上跑一遍全部src厂商的子域名,应该是问题不大的,然后每天进行和历史库里进行对比就可以做到发现新域名。
好吧,这里也简单推荐一个大神的子域名神器:FeeiCN/ESD
下载地址:https://github.com/FeeiCN/ESD
使用步骤就不提了,如何做到src域名和子域名爆破结合,自己写一个python脚本就可以了。
需要注意的几点有:
数据库设计,用sqllite确实会方便很多,但是坑比较多,容易锁死。后来选的是mongo。
确定好跑全部厂商域名的时间,我这linux服务器能够保证一天跑src厂商全部子域名,可以做到每天更新域名,自动喂新域名给扫描器,这是一个可持续过程。
记录子域名对应的服务器ip,最后做服务器资产管理(如果发现对应ip不是相关厂商的title,这个可能是厂商忘记解绑ip,如果ip是黑产控制,这就可以劫持厂商,这个也是漏洞)
定期扫描全部存活子域名备份和敏感信息文件
看一下之前我总结的一些子域名信息:
0x05 后续漏洞提醒
对于挖洞的后续,当然就是漏洞提醒了,我的思路是对接到企业微信应该效果比较好,邮件什么的还是交互比较差,安全性有时候也是一个问题。
有时间服务器被黑,或者代码泄漏,会直接导致邮箱被黑的,所以我也养成了定期清理邮件的习惯。
0x06 总结
他山之石可以攻玉,但是手艺可千万不要丢了,个人认为手工还是很靠谱的,但是如果站很多,才考虑进行自动化挖洞。
思路决定出路,加油!!!
本文作者:mzFuzz