这个算是上一篇xray分析的后续,原本想写的内容有很多,在整理期间用的bug笔记接连两次出问题,好多笔记内容全乱了,心态爆炸,后取了其中相对直观的内容,写成了对现有结果简单的分析统计文章。
在自动化扫描平台做出来后,最初是手动录入src189家src,自动收集了5808主域名,后续便根据这些资产开始了周期的全自动化的收集及扫描测试。目前每天单个子域名扫描节点约200-400左右的主域名,单个漏洞扫描节点在1500-4500左右的网站。
在后续的收集及整理过程中,其中有一些src网站都几年没维护了,还有一些src收取的漏洞限制太多,后来取消了对部分src的关注。
在设置好目标src后,从主域名到各类资产大多为自动化收集和识别的,所以存在收集到非src资产的情况,整体识别逻辑及规则仍在根据结果不断优化中。
资产收集无外乎就是子域名收集,web信息收集,端口扫描,服务识别。
简单说下当前的识别方式:
目前仍有162家,4000+主域名,累计收集280w子域名,48w+ web,23w+ 服务资产。
web资产来源
在这里可以看到子域名资产280w,但web资产却只有43w。因为子域名对应的不一定是web资产,同时还有大量的无效资产,比如泛解析等,仅依靠dns查询出来的信息无法进行精度更高的过滤,所以导致真实web数量远小于子域名数量。
而在43w的web资产中,虽然做了更进一步的处理,但其中仍然还有部分无效资产。主要是以下三个原因:
有些网站其主域名虽属于对应公司,但内容实际是其他网站。
基于以上的情况,对目前收集到的资产统计后,资产数量top20为:
在这些资产中识别到不同指纹1127种,指纹类别top20为:
由于用的指纹库比较杂,其内置了nginx,jQuery之类的识别,导致统计top指纹皆被这类指纹占据......
在指纹这块可以做成权重识别的,开源的库基本没有做这方面的,但是自己整理起来太麻烦了。
额外统计了一下指纹库的数据,指纹库收录了各类指纹命中10416条,命中指纹有2373条,即在src场景下指纹库有效指纹大约在25%左右。
服务识别的前提是端口识别,端口识别的ip来源主要为子域名及web解析出来的ip地址,由于目标可能存在大量非真实ip,这里在经过一定的去重及真实ip校验后的资产结果。
xnmap工具的规则主体虽是基于nmap,但设计的识别思路和nmap并不相同,并不会以命中一条规则来结束。
在24w+服务资产中,总计识别到881种不同服务,2467种默认服务(nmap规则),top20服务如下:
识别到不同的端口共14987个,top20端口如下
可惜目前只做了src相关的公司,不具有普遍性,如果范围够广的话,可以利用这些高频端口做快速的端口识别。
统计nmap规则时发现服务识别规则虽高达11786条,但实际有命中的规则535条,这么来看的话,其实nmap中的垃圾指纹挺多的。
原计划发这篇文章时开放部分查询接口的,后来看了看我那土豆服务器,又预估了下改造成多用户的的工作量,emmmm......
所以还是先水一篇文章看看吧,如果感兴趣的人多,那后续再接着折腾。
在目前的体验来看,单个场景下有很多优秀的工具,但在有限资源下进行大范围自动化信息收集及扫描,单靠工具缝合是很难做到的,为了保证稳定及高效还需要对这些工具进行了大量改造和适配,后续也可能会再整理和分享一下其中的具体细节,如果师傅们对相关内容感兴趣,欢迎师傅们和我一起交流呀!
师傅师傅,点个关注吧🙏