开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

  • A+
所属分类:安全闲碎

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

本文节选自《Professional Red Teaming》一书。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
技术型漏洞

技术性漏洞是指操作系统或应用程序中由于糟糕的开发实践或改进的漏洞利用实践而存在的任何漏洞。区分这类漏洞和其他类型的漏洞是很重要的事情,因为组织内部存在这类漏洞可能不是组织的错。如果你发现在客户组织内允许使用的某个软件存在远程代码执行漏洞,而该漏洞在一周前才被公开披露,那么关于这一点一定要在报告或摘要中与客户进行讨论,这非常重要。相反的情况是,当组织使用的软件存在已公开多年的漏洞时,应以不同的方式进行处理,并且可能需要更多的缓解和补救措施来确保整体安全,而不是简单地安装该软件的最新和最安全版本。在这种情况下,可能会发现有关于补丁管理、系统配置完整性或其他问题的单一发现。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
非技术型漏洞

我们现在检查另一种类型的漏洞:那些与代码中的缺陷无关的漏洞。它们可能是设备配置错误、配置失败(默认密码),甚至是缺少策略或流程。这些漏洞可能对组织造成严重影响,甚至更大的影响,因为它们可能影响的不仅仅是具有特定代码漏洞的一个或多个设备。缺少补丁管理之类的东西可能会影响整个组织,并且应该被视为比允许在网络中存在的代码缺陷更为严重。良好的红队演练可以发现与策略缺失或糟糕的策略执行相关的安全问题。如果在评估期间,安全人员在组织中发现了红队的活动,并且安全人员没有实践或实施事件响应程序,这就突出了组织安全态势中一个非常重要的非技术性漏洞。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
记录评估结果

既然我们已经讨论了评估中发现的不同类型的安全问题,那么让我们集中讨论一些在报告中记录它们的好方法。除了告知客户在组织中发现了什么以外,评估报告提供的下一个最重要的内容是,这种发现对组织的严重性。如果报告受众无法从报告中获得每个发现的数量级,那么他们将难以确定适当的补救策略。该报告在为本组织提供成本效益方面也极为重要。如果客户不能很容易地确定哪些漏洞要先修复,哪些要修复,哪些要以其他方式减轻或接受,那么即使正确记录了漏洞的细节也没有什么用处。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
评估结果总结

在讨论每一个具体的评估结果之前,许多报告都包含了评估活动所发现的安全问题的摘要信息。有一个简单的条形图来传递发现的漏洞数量及其严重性(如下图所示),这是一种非常有用的典型方法。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

图表是一种简单易懂的方法,可以表达已识别的漏洞数量及其严重性。我在这个图表中遇到的问题是,通常情况下,漏洞严重性是基于特定的某个评估结果对发现它的系统的危险程度,而不一定是基于评估结果对组织的危险程度。总结评估结果的一个更好的方法是,既要说明发现系统脆弱性的危险性,又要说明系统被入侵对整个组织的危险性。远程代码执行漏洞可能会对系统造成危险,但如果在客户组织办公点大厅的访客终端计算机上发现了该漏洞,并且该漏洞未连接到其他设备,则在组织安全态势的总体方案中,该漏洞实际上并不重要。将资源用于解决不重要系统的“高危”漏洞,对于降低总体风险来说,成本效益很低。

那么,我们该如何帮助客户了解哪些安全问题应该首先解决呢?我发现可以做的最好的事情之一是提供一个根本没有任何安全问题的主机列表,然后要求客户将它们分类为低风险、中等风险或高风险。然后,作为评估人员,你需要将这些数据和发现呈现在上图所示的图表上,该图表(如下图所示)显示了组织内高、中、低风险系统中存在的高、中、低安全漏洞。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

上面的图表可以从左上角的安全问题(低风险机器上的低风险漏洞)到右下角的安全问题(高风险机器上的高风险漏洞)中辨别出这些安全漏洞所带来的真正风险。该图表中所包含的信息以及单一的安全问题(漏洞危害等级)允许评估人员为客户提供尽可能多的方向,以制定良好的威胁缓解和补救策略。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
单一漏洞描述

那么,在提供摘要信息之后,在报告中展示单一发现的最佳方式是什么?我喜欢把它们从影响最大的到影响最小的进行排序,并为发现的每一个安全问题包含如下所示的内容。

问题1:Foxit Reader 9.0.0.29935 版本中的漏洞

漏洞等级:高 

漏洞信息1:CVE-2018-9979 敏感信息泄露

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

漏洞信息2:CVE-2018-9981 任意代码执行

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

上述漏洞有助于识别的攻击活动:内部网络攻击和枚举

发现存在上述漏洞的系统:

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

评估结果的详细描述:在评估期间,安装的Foxit Reader软件版本能够在客户组织的多个系统上远程执行恶意代码。在网络上进行扫描后,确认该漏洞在其他机器上也存在,发现有几个额外的主机存在这个漏洞。并非所有主机都需要 PoC。缓解或补救措施:安装最新版本的 Foxit 阅读器软件可以缓解这些威胁。

在这里,我们以一种简单易懂的方式记录了许多事情,以帮助大家理解单一发现及其细节。首先,我们讨论发现的这个安全问题的本身,在本例中,它是一个过时的Foxit Reader版本。接下来,我们确定发现的总体严重性以及发现哪些系统中包含特定的漏洞。并不是所有的发现都会有多个漏洞,在本例中,Foxit在这个版本中有几十个漏洞,但为了便于说明,我将其保留为两个。第一个漏洞是CVE-2018-9979。CVE代表常见漏洞和披露,是Mitre Corporation维护的漏洞列表,用于提供公共文档。CVE-2018-9979 是此版本Foxit中的一个信息泄露漏洞,攻击者可能会从系统中收集未经授权的信息,这个漏洞比较严重,但不如另一个已知漏洞 CVE-2018-9981 严重,后者允许远程代码执行。

在提供技术细节信息之后,我想披露导致发现或利用漏洞的评估活动类型,因为这些信息有助于补救或缓解措施。然后,我将详细说明哪些系统被识别为存在此漏洞。在发现的第一个漏洞中,我还揭示了系统本身给客户组织带来的风险。这些数据必须从客户组织获得,并且在创建报告时并不总是可用。因为这些有助于实现最好的风险沟通,所以如果可能的话应该显示出来。在列出易受攻击的系统之后,我详细描述了评估结果,以及如何再次使用和利用发现的安全漏洞,以帮助补救工作。最后,我向客户提供缓解或补救措施的指导。一些客户不希望这样,但我认为,即使客户公司的安全人员最终没有使用我们提供的补救措施,也应该将其视为最佳实践,以获得攻击性安全思维。

下一个示例是在已安装的应用程序的代码中找不到的漏洞。它既有技术方面的,也有非技术方面的原因。 

问题2:没有密码过期策略

严重程度:低 

漏洞信息:密码不会因系统配置而过期;无适用政策

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

该漏洞有助于识别的攻击活动:内部网络攻击和枚举

存在该漏洞的系统列表:

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

漏洞详细描述:在获得对多个主机的访问权限后,发现这些主机没有强制的密码过期策略。经与客户组织的安全工作人员协商,还发现没有任何策略推动执行。缓解或补救:在策略、系统和应用程序级别强制执行策略过期限制。

接下来,我将介绍本报告中迄今为止讨论的所有内容,并在风险缓解策略中对其进行总结。该策略可能类似于下面的表格,它为组织提供了一个缓解顺序,即首先缓解组织面临的最严重威胁。这可能不是组织实施缓解和补救的方式。它们可能有其他的操作限制,一些项目可能被管理层接受而不是固定的,等等;然而,这是评估人员传达有序风险缓解路线图的最佳方式:

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
简报

在我看来最有效的评估结果,是那些在报告中传达良好,并通过一个良好的简报的进行支持。由于演练活动的潜在远程性质,并非总是能够亲自进行简报的介绍,但我认为应努力让评估方在客户组织收到报告后进行陈述。摘要不应重复报告中所记录的内容。它应该提供补充信息,以使客户不仅了解结果的重要性,而且了解进攻性安全评估的重要性。我更喜欢做简报的方式是简单地制作一张幻灯片,上面有客户组织的高级网络图,每张幻灯片都是组织被入侵的重要步骤,类似于提供活动摘要的项目符号列表。

在简报中,评估人员要引导客户公司的听众了解被入侵的故事,并将简单的报告对象和摘要转换为相关的演示,即使是非技术人员也能理解低严重性的评估结果的重要性。向客户展示一个小的安全问题如何导致了另一个小的安全问题,最后直到整个组织的基础设施和管理能力受到损害,这不仅对客户有启发,而且巩固了评估方和整个红队活动的合法性。这样的概要可以让红队的演练评估活动展示恶意威胁参与者的潜在入侵是什么样子的。敌方仿真是红队的职责,有效地向客户描绘敌人的生命周期,使他们能够最大限度地了解自己的安全态势以及需要解决的问题。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
无结果的评估

在讨论报告时,我想谈的最后一件事情是没有结果或至少没有重大结果的评估。这种情况下重要的是,评估人员和客户都要明白,仅仅因为没有设备成功被入侵并不意味着评估的失败。我在前面提到了我对这种围绕着黑客精英主义的耻辱的不安,以及被视为精英黑客的必要性。我需要再次提醒你,以及客户,专业红队的主要目标是改进组织的安全态势,而不是侵入设备、应用程序或组织。入侵是达到目的的手段,不是最终目标,也不是实现目标的唯一途径。如果任何评估都没有重大结果,我提供的报告建议仍然适用。与其关注评估所缺乏的东西,不如关注进行了哪些尽职调查。这至少让安全机构能够检查哪些部分的安全性可能处于良好的位置,哪些部分可能未被评估,这可能是内部关注的一个好地方。

此外,如果对评估的限制被认为是过度的限制,并对演练的成功产生负面影响,这也应该得到沟通。为这样的约定报告应该尽最大努力引导客户如何最好地实施下一次评估。评估人员可以指出,演练的窗口是一个问题,或者范围不包括所有相关的攻击面,或者他们可以提出一个理由,允许更多的概念验证利用或跳板攻击,以找到更多的细节来解决组织的安全问题。客户和评估人员当然应该尽最大努力形成一项约定,以使其取得成功,并在减轻威胁方面提供良好的成本效益。然而,这并不总是最终结果,通过指导更合适的范围、时间表、ROE和执行活动,少结果或无结果的评估可能是完成全面专业红队评估的第一步。

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)
总结

本章讨论了评估报告的重要性,提出了记录报告内容的适当方法,并提供了进行简要介绍的一些最佳实践。

全系列文章请查看:

https://www.4hou.com/member/dwVJ

参考及来源:本文由作者“丝绸之路”整理发布,如若转载,请注明原文地址

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

本文始发于微信公众号(嘶吼专业版):开展专业的红蓝演练Part.16:如何编写并汇报演练结果(二)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: