APP下载

执行红队演练,别受制于手上资讯与已知手法、漏洞

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息执行红队演练,别受制于手上资讯与已知手法、漏洞
图片来源: 

周峻佑摄

企业试图找出整体资讯系统弱点的方法里,红队演练(Red Team)可说是打破渗透测试只锁定单一系统等范围限制,然而,在红队演练的过程里,负责找出系统弱点的红队队员,很可能因为判断的思维上,过于依赖自身经验或是熟悉的工具,而可能错过找到弱点的情况。戴夫寇尔资安研究员丁谕祺(Ding)针对这样的现象,于今年的DEVCORE Conference上,指出演练时需要留意的5项技巧,希望执行人员能够在专案有限的时间里,透过骇客的思维找出系统漏洞。

基本上,执行红队演练的从业人员,不只需要拥有专精的技术,还必须在指定的时间和范围内,进行通盘的检查,因此,迫于这些限制,虽然他们已经精通有关技术,还是很可能因为自身的经验,而影响找寻系统弱点的方向。

盲点源自于范围的局限

究竟那些事情会影响红队队员的调查方向呢?丁谕祺说,以企业委由资安公司执行红队演练的专案文件内容为例,通常会载明双方的联络窗口资讯、执行红队演练的时间、目标范围,有些公司还会提供测试账号等等。然而,光是文件写明的演练范围来说,就可能出现文件写明是单一网站,企业却觉得范围应该是整个网域,而这种认知上的差异,也同样会出现在红队的队员之间。

例如,演练网域和IP地址对应上,并非一对一的情况,红队队员甚至可能要探究内容传递网络(CDN)背后的真实IP地址,或是开发者与主机资讯等,导致从不同管道进行调查,结果可能会大不相同。再者,若是遇到有些公司主动提供测试账号,红队队员也可能因为有现在账号可用,而遗漏检查系统的账号申请流程。

针对这些可能会左右调查方向的细节,丁谕祺总共归纳出5大类型的迷思,包含过于信任情资而产生的误判、自我局限调查的范围,或是太过依赖熟悉的工具与方法,而导致找出漏洞的过程里,全程几乎只使用一种招式。

再者,资安人员也可能在已经进行侦察过后,忽略时空变化所产生的环境差异,认为调查范围没有会被攻击之处。有时候因为企业部署了各式的资安防护措施,资安人员可能过于着重在寻找绕过的方法,使得思考方向大幅受到限制。

在这些类型的盲点中,总体来说,其实几乎都围绕着一件事,那就是资安人员可能会过度相信自己能够掌握的资讯,模糊焦点而影响判断。以局限演练范围来说,我们可能过于相信专案上所描述的内容,再加上自己理解的情搜范围,而导致可能错失有用的侦察之处;时空差异则是另一种演练范围的限制,使得红队队员检查过后,忽略企业系统运作中,存在负载平衡与高可用性的机制,使得他们难以找到仅发生在部分环境的弱点。

至于过于在意系统的防御机制,也是源自于红队队员调查的情报,因为过于想要以技术来突破防御措施,并未思考其他可能有机会拿来利用的管道。

而对于红队人员只使用一招打天下的惯性,也会错失攻击的可能性。由于资安研究员专精特定领域,对于其他不甚了解的部分,可能选择使用熟悉的单一方法调查系统漏洞,导致必须经过长途跋涉,耗费大量的时间和资源才能达到目的。

红队队员在发现漏洞后,马上使用自己专精的方法着手,虽然能够达到目的,但需要耗费大量的时间和资源(紫色箭头程序),因此丁谕祺认为,要先全盘调查并记录,找到最佳路径,才能事半功倍(绿色箭头程序)。(摄影/周峻佑)

症结点在于过度相信已掌握资讯

一般而言,在红队演练的过程里,红队队员寻找系统漏洞时,相当倚赖情资所提供的讯息。然而,红队队员很可能掌握到过时情资,或是依据自己的经验,再加上过度联想,认为不会有漏洞而略过调查。因此他认为,红队队员对于手上握有的情资,必须随时保持怀疑的态度,非但不能一味相信,甚至还要想办法亲自验证才行。

丁谕祺说,即使是测试工具,也可能会出现执行结果不正确的情形。像是资安人员经常会将恶意软件的特征加入字典档里,却可能因为工具的臭虫,而导致没有发挥作用,侦测不到前述已纳入的恶意软件。

实务上可能会遇到的情形会是如何?像是红队队员得知受测单位里,握有资讯系统管理权限的工程师,打算针对他进行网络钓鱼或是撞库攻击,但实际上,这名工程师却已经在2个多月前离职。这样的情资,便可能影响该名队员执行演练工作的进度,还有可能绕了一大圈之后,才知道取得的情资有误。

而针对漏洞的部分,也不能把某些事情视为理所当然。丁谕祺指出,红队队员很可能因为某个程式库已有很多研究员做过分析,执行红队演练的单位也通过多次渗透测试,就认为应该不会有漏洞。

对此,丁谕祺举出两个戴夫寇尔团队执行演练时,亲身经历的案例,在第一个案例里,他们已经透过GitLab服务器,取得攻击目标服务器的源代码,并且找到许多漏洞,但在此同时,却不能找到实际能够用来攻击服务器的弱点,而无法取得服务器的Shell。

后来发现能存取的关键在于,他们在Git的忽略档案清单(.gitignore)的规则里,找到一个名为phpinfo的档案,疑似是开发过程的测试档案,已经被开发者找到会泄漏资讯的情形,并写到报告的草稿之中。解析其中的内容后,他们发现含有危险函式EVAL,因此便能搭配前述的漏洞,发动攻击。

第二个案例,则是针对采用TCPDF函式库的网站,戴夫寇尔资安团队锁定这个函式库已知的CVE漏洞,进行检测后发现没有问题,他们便觉得,上述可将订单汇出为PDF档案的函式库,广受许多电子商城采用,应该不会存在重大问题。

没有CVE漏洞就真的毫无弱点吗?针对案例中所提到的TCPDF函式库,丁谕祺说,在资安人员常用的CVE Detals网站上,只找得到一个在2017年发现的列管漏洞。红队队员很可能测试过这个CVE后,就误以为系统的这个函式库没有问题。(摄影/周峻佑)

然而在进一步检测之后,他们却发现,使用者能在订单里输入恶意程式码,并且在汇出订单的PDF文件时,借由输出副档名为.PHP的档案,执行任意指令,进而取得服务器的Shell。

从这两个案例中,丁谕祺指出了几个执行过程的盲点,首先,他们以为,从GitLab取得的源代码,就是服务器上所有的档案,而忽略部分测试档案并不会上传到程式码代管平台。其次,他们则是认为,开发者已经编写了分析报告,就代表漏洞已经修补完成。

而在TCPDF函式库的部分,则是偏重已经通报CVE的漏洞,而没有留意可能在坊间流传漏洞,丁谕祺说,尤其是需要结合多个环节才能滥用的攻击手法,红队演练的队员更容易轻忽。

攻防不光是针对系统,也考验人性

比较特别的部分是,红队队员也可以反过来运用系统里的防御机制,进一步得到所需的资讯,而成功在专案结束前达成目标。其中的一个例子,便是他们发现网站服务器的任意读档漏洞,但取得所需的绝对路径,竟然是透过防毒软件的事件记录资料──他们刻意上传了恶意软件,触发服务器里的防毒软件警示通知,然后透过事件记录内容,得到存放网站档案的Web资料夹本机路径。

红队队员想要突围找出系统漏洞,就只能“绕过”或“打穿”防毒软件吗?丁谕祺举出一个案例,就是利用网站服务器里安装的防毒软件,尽忠职守将恶意软件拦截,他们得到服务器本机里,存放所有网站档案的Web资料夹完整路径。(摄影/周峻佑)

除了前述提到能变相利用防毒软件之余,丁谕祺也指出其他相关的情资收集应用,像是能从防毒软件的组态设定档案中,得知企业环境中的代理服务器参数,或是得到反安装密码,进而停用防毒软件等。值得注意的是,虽然这里的案例中,企业部署的是趋势科技OfficeScan,但丁谕祺表示,由于各厂牌的企业版防毒软件都会留下执行记录,因此这里提到的手法,可以运用到不同厂牌的防毒软件上。(摄影/周峻佑)

另一个例子,则是在他们攻下企业的重要服务主机后,却无法取得AD网域管理员的权限,这时他们利用触发防毒软件警示的方法,使得AD网域管理员登入系统察看,再从中侧录到他的账号和密码,进而得到客户的机密资料,丁谕祺说,整个过程仅花费不到20分钟,在专案结束的最后一刻达标,宛如科幻电影里演的情节,因此他认为,由于防御机制是人想出来的,红队演练不完全只有针对系统本身,也有存在人性探察的成分。

触发防毒软件还能钓出AD网域管理员的账号密码!丁谕祺举出他们在距离演练的时限20分钟之内,利用这种方式,让管理者上线而达成目标。(摄影/周峻佑)

2019-10-07 19:50:00

相关文章