马坤:大家好!我叫马坤,来自西安,下面跟大家分享我们的一些模式。四叶草安全是个以安全服务为主的公司,目前公司分为三块,安全服务、产品研发、攻防实验室。当然,产品现在会比较多,基于众筹模式的扫描平台我们是在2015年2月份刚刚公开,9月份、10月份我们会陆陆续续公开其他的产品,这些产品基本是免费的,因为我们在给服务做铺垫。
现在安全市场越来越细分,有乌云、威客众测、SOBUG、FreeBuf各种各样细分化的产品都在出来,当然越细才能越专,我们现在这条路上其实也是很弱的,也是得益于各方面有一些优势的插件作者们给我们提供了大量的思路,所以才能把它串成一个非常强悍的产品。
今天的议题是基于插件众筹的分布式漏洞扫描平台。可能扫描大家很熟,它就是发现问题,安全扫描里第一步就是要发现问题,现在问题太多了,尤其是应用一多,安全隐患就会越来越多,当然像各大安全公司都有他们的绝招,也有他们的防范方法,但每次都是一个漏洞暴露出来三四天以后可能才会有解决方案,而且基于APT长时间的蹲点攻击,他们发现的速度是很慢的。我个人是从2001年开始接触安全,从最早的HOC到后来的火狐,再到后来我们自己去办公司,带团队,也是一直在想一种办法,怎么样能结合一些比较强的黑客办法去解决隐患,于是就有了今天我们第一次把这个产品搬到台面上的冲动和想法。
今天我带着我们产品的创始人,也是我们公司的CTO在台上去说,这个产品功能和特点主要他来说,也希望在说的过程中大家能够借鉴这种模式,也去衍生更多细分化市场领域的产品。
2014年,爆发了一个非常严重的漏洞”心脏出血”,在64K内存里读取一些敏感信息,不停地去刷,这个隐患非常大,基本上当时都中招了。再像后面的Bash破壳漏洞一些专门做安全的厂家他们的边界设备,比较老的一些交换设备都有过冲击,当然这些漏洞出来了以后并没有一种快速有效地发现和防范他们的办法。
根据CVE漏洞的统计,从1999年一直到2014年,漏洞的增长基本到达顶点7145个,这说明了现在我们漏洞越来越多,攻和防的较量也越演越烈。对于以前混迹于各大安全圈的人来说可能很熟悉,攻和防不对等,防永远没有办法比攻快。
怎么样越来越快呢?我们就黏了一些人,在几年前大家一起把思路和想法结合到一起,做一个能发现问题的产品,基本全站工程师我们是很多的,还有在渗透领域时间比较长的同事,其中我们产品的作者一会会给大家仔细介绍我们的产品特点。
产品发布之后我们紧接着做了一个圈子,就是针对一些社区,大家可以对一些漏洞进行发表和讨论,国外有MSF、NetSaaS(音),国内有乌云,乌云做得也不错,更偏重于漏洞发现的报料和漏洞的报道,我们更多倾向于大家的学习和研讨,像基于协议的,基于算法的,包括底层二进制、前端Web,还有对漏洞有快速反应和响应能力的小伙伴们。剩下的时间交给产品的框架负责人赵培源,网名叫”半块西瓜皮”,他来给大家详细地说一下我们这种模式的特点,也希望在座比较优秀的,对安全有兴趣的同行们可以基于这种思路衍生出更多对我们国内或整个行业能够有促进力量的产品。欢迎我们的CTO赵培源!
赵培源:大家如果做过渗透或者安全服务对这块可能会非常感兴趣,这页PPT是我们能对现在这些系统服务,第一能做弱口令扫描,还有它相关的漏洞,比如Host数据库,对MongoDB的未授权服务,各种技术服务FTP Telent、SMP、RSNC等等都可以做弱口令扫描,如果你以前是用网上流传的各种exe和各种脚本去扫,现在可以用我们的扫描平台就可以对它统一进行扫描。
除了网络服务和Web组件,比如Nginx,提到Nginx大家可能都知道Nginx解析漏洞,Nginx CGI导致任意代码执行,IS写和IS7以上默认配置它有个报路径的漏洞,再有php的彩蛋可以泄露php的版本信息,然后是一些Web框架,比如Jboss、thinkPHP、Struts2都有代码执行的漏洞,这些我们现在都可以做到检测。再有一些知名的SM程序WebPrass,WebPrass有将近100多插件可以检测WebPrass本身和插件主题的漏洞,还有phpMyAdmin,主要是以弱口令,phpMyAdmin是有三种验证方式,第一种是直接配置,你直接访问可以登录进去;第二可以设置成基础认证;第三种是普通的表达。这三种都可以对它进行验证,包括Ecshop(音)、DZ、DODOCMS(音),这三个至少每个都有十几个插件去检测漏洞。
我们扫描平台还有传统的一些扫描特征,比如子域名、目录遍历、服务识别、内容文件下载、端口扫描、保存信息抓取、后台猜解等等,我们统统是以插件的形式实现,除了上面说的,还有一些网络设备,比如D-Link Boxone的后门我们也可以检测,还有网康科技、天融信他们的弱口令检测、应用文件下载、未授权访问,还有海康威视,大家可能也听说过”黑天鹅事件”我们也能检测。还有最近有人提交磊科的,我们都可以检测。
扫描器的特点。
核心引擎因为使用Python编写,不受操作系统限制,可以在任何平台下,无需第三方的安装包都可以直接执行,这也是我们比较有亮点的地方,第一它非常轻量化,不需要任何权限和管理员权限;第二它不用写文件;第三它只需要一条命令就可以部署一个扫描节点。我们的扫描节点你可以对每一个节点设置一个它能同时扫描的数量,我们的扫描平台会根据你的数量自动进行负载均衡,保证扫描速度到达最快。
云插件,插件是众筹的模式,所有人都可以贡献自己的插件,插件上传完之后,通过我们审核人员审核通过之后就可以自动更新到各个扫描节点上,最近还实现整个扫描框架本身的自更新,当你执行完一条命令之后,它之后完全就不需要你再管了。
漏洞库,它使用了爬虫去爬各大漏洞库的信息,现在已经有2万多条漏洞库。它的主要目的,我们插件作者写插件时可以参考漏洞库进行编写。
我们服务器框架前端使用了angularjs和raster(音)技术,后端使用了go语言。为什么使用这两个呢?因为angularjs是在前台建成模板,后端构远它只负责数据的处理和发送接收,所以只需要第一次打开有点慢,后面速度非常快,这样保证了我们可以承受更多的用户,更多的节点进行并发,执行任务。
我们扫描器的界面,右边通过任何方式都可以进行登录。这是我们的添加任务,也相当简单,左上角填写一个IP地址或网址,设置你要扫描的项目,通过下面红色区域,执行这条命令就可以部署一个扫描节点。这儿有10个扫描节点,等于当你添加任务非常多时,它的任务会通过负载均衡分发到这10个扫描节点,扫描节点把扫描出来的漏洞信息会传回到服务器。还有具体的配置,比如你要扫描子域名,深度端口的扫描,设置UA,设置暴力破解的字点,登录以后的Cookie等等。
插件库,这边有代码的,可以直接查看原代码验证中的有些问题,代码下线它可能就重复了,我们可以对它进行下线的处理。已经有514个插件,是6月17日的数量,现在应该有530个左右。这个插件非常简单,它整个功能实现了DZ暴露镜的功能,只有两个函数,一是Service接受DZ的属性,ARG它就是DZ的一个根目录;二是用来验证你当前扫描的DZ是不是能暴露出物理路径,它访问URL,再通过终端匹配可以把路径暴露出来,下面是你可以下载我们的SDK进行本地测试,这里本地测试之后把物理路径打印出来。所以,要写一个插件,特别是Web这类插件是非常非常简单的。漏洞库现在已经有2万多条可以进行搜索,也可以根据上面的CMS分类进行搜索。
这是我们的扫描报告,扫描之后报告呈现是这样的,橙色是高危,红色是中危,剩下的是低威,可以看到每个扫描所用的时间,开始时间和结束时间。它企事业可以扫描内网,比如19.168.0.150或者127.0.0.1,它的意思只要节点能访问的目标它都是可以扫描的。当然,这儿提供的是,内网部署节点之后可以扫描整个C段,这是我们的扫描记录,这是SMB08067漏洞,这是系统服务的漏洞,还有BASH破壳漏洞、心脏出血漏洞我们统统都可以扫描,这儿只展示了一部分。
还有一些圈子,有这么多板块,包括插件编写教程、插件本身还有公告,最后还有高级板块,这儿主要是为插件作者和扫描平台的人提供交流反馈的地方。前期有这么多小伙伴写了这么多插件编写教程,包括一些技巧。
我们扫描平台的时间线,2015年2月5日BugScan正式上线,开放注册1周,注册人数就突破2000元,因为人数太激增了,之后我们就改成邀请码注册的阶段,现在如果你想使用我们的扫描平台必须先写一个插件就可以获得邀请码。2015年4月1日圈子上线,是业界第一个基于扫描框架和插件研究的圈子。2015年6月1日我们的扫描插件由90个增长到500多个,注册人数现在增加到8000个。现在扫描超过100万的目标累积有600万的漏洞信息,这是一个非常大的量。
欢迎大家使用我们的扫描平台,这是我们的网址www.BugScan.net。谢谢!