2020年9月2号,宜信安全应急响应中心发布了一篇名为 “superscan之被动扫描” 的文章,主要对 superscan 被动扫描的实现过程进行了分享。superscan 是宜信安全部基于 xray 研发的综合性威胁监控平台,不仅关注传统威胁,更加关注来自网络空间,各个角度全方位的威胁。与 xray 一样,该产品目前未开源。
“superscan之被动扫描” 文章中提到为什么使用 xray 做被动扫描?
是因为 xray 天然支持代理模式,可以快速集成到被动扫描中,且扫描效果不错。在 “superscan之被动扫描” 这套方案下,实现一个类似于 xray 的扫描替换掉 xray 也是很容易的。宜信安全部一开始也尝试过 w3af 等开源扫描器,也尝试过自己开发,最后综合从精力耗费、维护成本的角度考虑,选择了 xray 的方案,考虑 xray 有商业版本,有后续升级的空间。
说 xray 社区版是个公益性项目一点不过分。我们一直推崇社区版旨在分享我们的研究成果,无限制、不收费,不走商业化路线。企业用户甚至可以直接包装一下打造一款自己的安全检测工具。
从去年6月13日第一版发布开始,被动扫描一直是社区版主打推广的功能。这里的被动扫描指的是 HTTP 的被动代理模式的扫描。这种模式的原理可以用下面的图片来理解下:
HTTP 代理作为一个中间人的角色可以获得所有的经过代理的请求与响应。如果将代理设置在了浏览器端,那么当用户访问网页时,便会对当前访问的页面中的请求进行自动化的漏洞探测,可以说是另一种层面的“指哪打哪”。
当然,HTTP 代理并非是浏览器独享的功能,通过给手机配置代理,xray 可以协助测试 APP 服务接口中存在的安全问题;代理本身支持串联,与 awvs、burpsuite 等工具的联动已在社区广泛使用;通过在代码中使用 xray 创建的代理,第三方开发者也可以很方便将漏洞扫描功能集成到自己的安全平台中。
当然 “superscan之被动扫描” 文中也有提到 xray 的缺点,xray 虽然开放使用,但不开源,扩展性有限。目前 xray 只支持单个host的请求频率,不支持配置指定任意 host 的请求频率,也不支持动态配置;每次修改配置需要重启xray。
之后宜信的后续升级,我们会一起探讨,共同进步,促进产品往更好更优的方向发展。产品的缺点,我们也会在之后的版本中尽自己最大的能力去实现。这只是我们与甲方思维的一次碰撞,欢迎更多优秀的甲方安全部门能够封装、集成 xray ,让 xray 能吸收更多的思路与想法,打造更加优秀的 xray 社区版。