背景:
在实际安全测试过程中我们经常遇到使用了CDN加速的网站。针对这类网站的测试,在没有真实IP的情况下,就没有必要进入下一步的端口扫描、服务弱口令扫描。所以在全自动化的智能渗透中,就有必要写个单独子插件来检测目标是否使用了CDN。
方法:
在之前,判断目标是否使用了CDN,我经常使用的方法是在ping.chinaz.com中使用多个IP进行ping测试,如果返回了大量的不同IP,则目标使用了CDN。那么针对这种思路,写程序实现则是分析ping.chinaz.com的js调用,模拟发包获取目标的不同IP。但是这种方法比较麻烦,且实际效果完全依赖chinaz,一旦出现chinaz暂停提供服务等情况,我们变得十分被动,无法再使用。
但是分析原理,不同地点针对同一域名解析到的是不同IP,实际差异是在使用了不同的DNS服务器,所以实际上我们只要向全球不同的DNS服务器发送查询请求,也是可以达到相同的效果的。
除了要分析目标是否使用了CDN,我们还需要判定目标使用了哪家厂商的CDN,实现原理就是客户在购买CDN通常需要设置CNAME值为CDN服务商的地址,我们可以建立类似的CNAME特征库,来判定具体的CDN服务提供商是哪家。
综上,我们根据这种思路可以实现一个简单的demo,检测目标是否使用了CDN。
代码如下:
效果如下:
网络信息系统的复杂性和不确定性,导致网络安全漏洞的隐蔽性极强,通过挖掘漏洞预防网络风险的难度也越来越大。现有网络信息系统漏洞扫描技术,均采用模糊测试方法对目标系统进行全量漏洞探测,无法自行识别目标系统特点并采取针对性的漏洞检测手段,且无法组合利用多个漏洞进一步挖掘更深层的漏洞。
神州明达一直专注智能安全研究,追求安全工具的智能自动化,该demo属于神州明达-天象自动化渗透的组成部分,预计年底我司将发布智能渗透系统,旨在真正实现自动渗透的终极目标,“给我一个目标,我还你一个shell”。