写在Goby新版发布前,讨论网络安全测试工具的发展
Posted 赵武的自留地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写在Goby新版发布前,讨论网络安全测试工具的发展相关的知识,希望对你有一定的参考价值。
我是一个实用主义者,所以我写的代码从来都是为了实战效果。下面有一些废话,大家不想看可以跳过直接拖到下面看动画演示。
近期的疫情对我而言并不算太坏,客户说“你别来,来了也进不来”,这也给我留了几周宝贵的时间去完善我心中好的网络安全工具的样子。
Goby是一款新的网络安全测试工具,近期也收到了不少朋友的反馈,简单来说细节问题一大堆,但是核心方向上大家有共同的认识的:安全工具需要越来越高效,越来越实战化价值化。这也证实了我最初的预期,这些预期和想法,应该能回答大家心里的一堆疑虑:Goby主要功能是端口扫描吗?Goby是漏洞扫描器吗?Goby是要做后渗透的一些功能吗?
这里我只提到网络安全测试工具,注意是“测试”工具,因为我在这方面研究的时间比较长,稍微有点话语权。我从如下几点来说一下我的看法:
大量的人力物力被浪费在虚假情报
与实战化价值化的区别是,现在的安全产品大多追求大而全,因为客户的决策层大多数并非安全专家,所以看不懂太多的技术术语,但是对于直接的数字,大家是一目了然的。所以就导致了很长时间内,堆叠功能和数字成为了产品生存的制胜法宝。
比如漏洞扫描器,关注的是漏洞库的全面性,CVE爆了多少,你就得检测出来多少,如果你没有就不专业。后来的招标参数就全变成了内置多少漏洞库,动辄几十万。当客户拿到成千上万个漏洞的时候,大家就傻眼了,修还是不修?不修吧会面临被攻击的风险,修吧成本高风险大。最终领导决定,抓大放小,先把高危的修复了,其他先放放。
领导的决策在这种情况下是正确的,就好像疫情当前医疗系统容纳不了这么多病例,导致整体系统奔溃,只能救存活率最高的,封一座城救一个国,丢车保帅。换做任何一个有能力的领导都会这么决策。但是,这里面有一个非常非常大的情报是错误的:90%以上的高危漏洞在现实生活中是没有利用代码的。也就是说,这些所谓的高危是一种理论上的设想,被很多黑客fuzzing后用来刷CVE的“理论存在RCE可能性”的漏洞,在真实的黑客攻防中不会被用到。因为黑客也是非常典型的实用主义者,他们判断这个漏洞的危害程度、利用难度、影响范围,以及研究成本等因素,决定会不会写出EXP来利用。那种大量基于版本比对的漏洞判断方式,本身就说明了没有原理性的验证方法,缺少PoC。
在最理想的模式当然是对于安全漏洞宁滥勿缺,已经能够做到出一个灭一个的主动防御阶段,这是最高要求。目前国内只有极少数(个位数)被安全逼成生死线的企业会这么处理,其他的企事业单位根本来没有进化到这种阶段,大部分还处于漏洞在哪不知道,漏洞层出不穷无休无止,根本修复不过来的抓狂状态。
缺少足够的安全管理意识,缺少专业的安全人才团队,缺少体系化的安全架构建设,这是当前企业的现状。本来就资源奇缺,最后投入的重要突击方向还错了,死了也不冤枉。
真正的抓大放小,不是漫无目的的堆砌各种安全产品,和填充漂亮的数字。而是找到核心矛盾,不如把精力放在:黑客在实际的攻击过程中,会利用哪些漏洞?会用到哪些工具?会从哪些入口突破?事实上,我们跟踪了一些实战的攻防过程,真正被用在实战的漏洞只有大约200个。但是这200个漏洞被大量其他基于版本比对的无实际利用价值的漏洞给淹没的难以分辨。
伤其十指不如断其一指
这些年国内出来的一批新兴安全企业,创始人大多也是实战型出身,大家也意识到了之前存在的一些问题。就拿“攻击暴露面梳理”这个小点来说,这是原有的安全大厂商并没有足够关注的,因为投入高产品化收益低。
大家都知道整理一堆的关键字通过fofa/shodan来采集暴露的IP,也知道整理一堆的关键字从Github去监控资产和账号等信息,也知道如何结合社工库通过邮箱批量打钓鱼,当然利用漏洞突破也就不在话下。了解得越多,越感觉行业内没有好的工具。每个人都一堆的工具集合,恨不得做个硬盘出来卖,这也就是为什么kali能够流行的原因。你说msf好不好?那肯定好。那你就用msf行不行?那肯定不行,它有很多漏洞没有,也没有网站漏洞扫描功能。基于这种考虑,于是一堆的创业企业也开始了功能堆叠,跟客户介绍的时候就变成了:你看只有系统漏洞扫描是不够的,外部监控很重要啊,已经公开的社工库也要关注啊,员工钓鱼也不能缺,怎么也要加上蜜罐做最后一层保障吧。我们的产品就是什么都包含了,这才能全面的解决你们的问题……
这种简单的堆叠不能说毫无用处,但是总感觉任何一点做出来的效果距离实际黑客的攻击效果还是想去甚远,因为每一点都没有深入理解和做出效果,这种堆叠都是浅尝则止,都只是一个个demo的结合。任何一点似乎只要有几个安全技术人员的团队都能比较简单的超越,看起来都还没有形成实际的技术壁垒。这也就是为什么每一家的产品好像都有点用,仔细想想有好像什么都差一点。每一家的“全家桶”加起来跟另一家比,好像也不像双方描述的那么回事,大家相互都有比对方多出来的效果。
我显然认为任何一点,就拿漏洞举例,不能点到为止,要死磕,要狠狠地突破深扎,而且一定要工程化。扫描到了漏洞并不是终点,而是要把利用场景具体下来,要把效果实战演示出来,要把效率提升起来。漏洞利用是一门艺术,如果你并不这么看,那你显然就理解不了黑客是怎么进来的。
拿毛主席的话来总结:“对于人,伤其十指不如断其一指,对于敌,击溃其十个师不如歼灭其一个师。” 安全工具也应如此。什么都做,不如做透一个点。
Goby到底要做什么?
目前关于网络安全测试工具,主要有这么几个方向需要更好的解决:
1,针对一个目标企业梳理最全的攻击面信息;(Pre Explotation)
2,最具实用价值的漏洞扫描(隐蔽/高效),以及实战化的漏洞利用;(Explotation)
3,如何快速的从一个验证入口点,切换到横向;(Post Explotation)
自动化工具只能尽可能的给出决策依据,很多漏洞的发现和利用还是需要依赖人为的判断,也许不久的将来未来机器学习人工智能可能可以比较好的弥补这方面的不足,目前咱们还是聚焦实际应用。
基于上面的一些思考,Goby的定位就比较明确了,我总结为如下五个特性:
- 实战性:Goby并不关注漏洞库的数量,而是关注会被黑客用于实际攻击的漏洞数量,以及漏洞的利用深度;争取做到每个漏洞都能演示利用(能动手的绝不动嘴);
- 体系性:打通渗透前,渗透中,以及渗透后的完整流程;不是以发现漏洞为终点,渗透前的IP属性库整理(包括企业IP库);渗透中的漏洞发现和利用;渗透后的流程打通;这些并不是都由Goby完成所有功能,而是支持无缝导出到比如CS,MSF等工具;
- 高效性:Goby利用积累的规则库,全自动的实现IT资产攻击面的梳理;以前是端口确定漏洞扫描链条,现在是规则确定漏洞利用链条;效率提升数倍,发包更少速度更快更精准;
- 平台性:发动广泛的安全人员的力量,完善上面提到的所有资源库;包括基于社区的数据共享,插件发布,漏洞共享等;
- 艺术性:安全工具原本就比较偏门,我们更多的关注功能而非美观度,所有大部分的安全工具都是其貌不扬;我们希望使用Goby能给大家带来感官上的享受;
我们列出来的一些已经完成,还有很多正在按部就班的开发。当然理想和现实是有很大距离的,我们提到的方向已经是网络安全细分市场中一个小到不能再小的领域,但是即使如此,整理下来我们发现任务仍然是无比艰巨,有太多的困难需要我们去克服。我一直提到的nmap,metasploit,burp,kali,Cobalt Strike,awvs等,无一不是某个细分领域的王者,也是真正具有核心壁垒的工具型产品。
功能是工具发展的具体表象,死磕深耕专注,才是网络安全欠缺的灵魂。我们希望能够输出更具生命力的工具,能够对标黑客的实际能力,帮助企业来有效地理解和应对网络攻击。
演示
我们拿最近weblogic的CVE-2020-2551来举例,这个漏洞大家都是点到为止,认为有一些限制且利用方法繁琐,写出简单的扫描方法就停了,扫描比率低,无法工程化。大家可以看看用Goby可以做到什么效果:
写在最后
Goby发布了半年都还只是beta版本,原因是有太多的想法还没有落地,在追求功能的时候,顾不上一些边边角角,导致遗留了很多bug。我们是想先通过主故事情节打个样,看看大家的反馈。目前看来满足了初步的预期,所以接下来的时间,我们会重点完善如下几个方面:一)稳定性;二)实战型漏洞的补充完善;三)几个大功能的开发。完成这几点,争取今年Goby版本转正,发布正式版让大家批评指正。
更多介绍,请访问goby官网:https://gobies.org
以上是关于写在Goby新版发布前,讨论网络安全测试工具的发展的主要内容,如果未能解决你的问题,请参考以下文章