导语:本章更合适的标题或许应该是“沟通”。在红队评估的过程中,除了出色的黑客技能和情报技巧之外,如果评估结果不能以有助于改善组织安全态势的方式传达给客户,那么红队所做的所有事情就都不重要。
本章更合适的标题或许应该是“沟通”。在红队评估的过程中,除了出色的黑客技能和情报技巧之外,如果评估结果不能以有助于改善组织安全态势的方式传达给客户,那么红队所做的所有事情就都不重要。即使在红队向技术人员做评估报告的情况下,这些人也几乎可以肯定没有攻击性的安全意识,他们会以不同于红队成员的视角看待评估结果。此外,在大多数情况下,评估报告都会在一个足够高的级别上提交给领导层,以便就缓解或纠正所发现的问题作出财务决策。参与技术性较低的决策受众可能会出席简报会,或者在内部安全人员审查报告文件后,收到评估人员提供的报告文件。在任何情况下,如果评估报告的受众不相信解决这一发现所带来的成本效益,或者认为整个评估可能是徒劳的努力,这种观点既无助于客户组织,也不能为进攻性安全提供商业案例。本章概述了红队评估的收尾工作中如何编写评估报告这一重要内容,并提出了如何将评估报告有效地传达给客户受众的建议。
几个必要的事情
报告通常可以编写成简报或书面报告的形式。关于如何准备一份好的评估简报这一具体内容我们将在本章后面详细介绍;本章的内容与报告文件本身有关。首先,我们很容易理解为什么在红队评估结束时,评估结果应包括在报告中,还有其他重要的项目需要提及和重申。评估报告的受众和参与确定演练范围的人员可能不是同一批人,也可能和执行评估期间沟通链条中的一部分人也不相同。评估报告的受众可能会有所不同,从技术娴熟的安全人员到面向业务的高级领导,评估报告需要使所有受众了解评估结果的重要性。在深入研究评估结果之前,最好先让查阅报告的人(如果是简报则是听取汇报的人)了解评估的对象、内容、时间和方式,然后再公布评估结果。我的客户在测试开始时并不了解这些信息,而且,随着评估时间的延长,会提醒我评估结果将受到约束。
评估报告中需要写明谁在做评估,他们应该评估什么,以及他们必须用多长时间完成评估,写明这三个内容非常重要。也许评估时间很短,范围也很有限,但是客户组织的业务领导层直到他们的安全人员每季度发布一次简报后才会收到评估结果。如果不披露这些信息,那么如果评估结果受到短期评估窗口和特定评估范围的限制,那么此类评估服务的结果可能会被客户视为不值得花钱买单。除了向客户展示组织中的安全问题外,报告中还应该有助于为后续评估活动提供依据,这对有机红队(译者注:企业自建红队)和进攻性安全服务供应商都很重要。如果组织的运营管理层不认可评估服务,红队可能会停止接受资金,并可能最终解散,或供应商可能不会再次签约。更糟糕的是,本组织可能会完全放弃进攻性安全的努力,将其视为代价高昂且有风险的资源浪费。
在提醒听取评估结果的听众确定评估范围的因素之后,我发现对评估活动进行高层次的总结很有用。在报告文档的这一部分中,我通常不提供按时间顺序排列的细节,尽管我认为它们可能有用。我的高级概述涵盖了初始的枚举和漏洞利用活动,以及评估中的重要转折点。这种叙述可以在下面的项目符号示例中概述,也可以放在以段落形式的更为流畅的评估故事中概述。
· 外部目标列表的开源情报
· 外部主机的端口扫描和手动网站检查
· 通过网站中的远程代码漏洞获得初始访问权限
· 从内部目标的初始访问标识中枚举非军事区(DMZ)
· 入侵 DMZ 和面向内部的文件服务器作为跳板
· 进一步枚举内部网络的已识别用户机器
· 入侵多个普通用户的机器然后拿到管理员的主机
· 入侵并利用管理员的主机访问域控制器
· 拿到域控制器并在 Windows 和 Linux 主机之间执行凭据重用,以完成组织的入侵
上述攻击活动的简要说明显示了评估人员的技能,并让任何读者立即了解评估的严重性。这种类型的摘要在没有太多成功的漏洞利用的情况下也很有用;它可以更详细地重点阐述枚举活动,至少可以显示评估工作有多彻底。这一信息有助于确定报告后面所述结果的不足之处,因为这会让听取评估报告的人对评估人员的勤奋工作感到满意,并提醒人们最小的结果是组织安全态势良好这一结果,而不是红队执行了糟糕的测试。
在了解实际评估结果之前,评估报告应该包括的最后一件事情是披露在评估期间发现的任何违规行为。在报告中,这是一个可以确定评估人员认为值得一提但不符合组织安全性的良好时机,例如组织内的异常设备、服务或流量。例如,评估人员在网络上发现移动电话或可能在域外发现了 Windows 计算机,以及其他发现,这些发现不一定对组织构成威胁,但由于被评估人员认为异常或不正常,因此绝对值得进一步评估。
这也是报告的一部分,评估人员应重申在评估进行期间是否在组织内发现任何恶意或非法活动。虽然在评估过程中一旦发现这些信息,就应该立即将其披露给客户组织,但再次提及这些项目是好事情,因为它们可能已被遗忘或搁置,而且识别到这类违规行为也说明了评估人员在勤奋工作。最后,在评估的这一部分中,红队可能会指出各种安全人员的不正常活动,这些活动可能表明安全人员的不适当行动妨碍了红队的评估工作,并可能浪费了资源。比如不当的安全软件配置或日志记录,这些配置或日志记录说明了红队工具或活动的特定目标,或者脚本或其他工具的存在,这些工具具有搜寻红队的特定意图。正如本书前面所讨论的,这种活动只会对组织造成损害,在报告中披露这些发现也可能是适当的。这可能在缺乏结果的情况下,或当安全人员说“我们抓住你了”这种回应破坏了改善组织安全态势和评估人员整体声誉的建议时有一定的帮助作用。
不过,在这样做之前,尤其是在攻击性安全服务供应商和客户的无机业务模式中,如果决定在报告中提及此类活动,则要极其谨慎和政治化,因为这会使敌对问题变得更糟。例如,安全人员可能已经为红队使用的特定二进制文件或红队披露的源 IP 地址写了签名。在报告中,这句话可能是本着“尽管安全团队能够通过这个实现来阻碍我们的活动,但我们希望帮助他们做一些改进,以挫败任何攻击者,而不只是红队活动,因为这将更好地改善组织的安全态势”这种精神,使用这样的措辞,你既承认他们阻碍了你的努力,也提出了帮助他们阻止所有可能使用同样方法的人。最好是用评估报告赢得听取汇报的人的心,而不是以此为契机进行责难。
发现的问题类型
现在我们来谈谈报告的内容,包括调查结果本身以及如何最好地与客户沟通。重要的是要了解有不同类型的调查结果,在向客户描述这些调查结果的方式上可能会有细微差别。最明显的发现是,评估人员利用已安装软件中的漏洞操纵或影响目标。然而,很多时候,这些发现在本质上并不是技术性的;它们可能是配置错误或缺乏能够成功进行攻击活动的配置。很多时候,通过成功利用漏洞来证明漏洞的概念也是不合适的,因此披露已识别但未进行漏洞利用的发现对客户仍然非常有用。具有较少技术性质的发现,如缺乏策略或过程实施,也能够让评估人员损害组织的某些部分。
利用漏洞
正如我刚才提到的,围绕着发现的漏洞进行漏洞利用,然后对组织产生一定的影响。这并不总是必要的,有些评估演练可能要求不得使用概念验证(PoC)或有限的概念验证。实际上,破坏系统是传达漏洞威胁的一种好方法。系统漏洞最具破坏性的部分通常不是漏洞存在,而是在漏洞被泄露并被利用后导致的其他数据的泄露或被访问。重要的是,这些发现为如何成功利用漏洞提供了良好的证明。这使安全人员能够更全面地了解漏洞造成的威胁,而这些知识可能会改变他们选择的缓解方式。
被利用的漏洞还可能涉及评估人员和客户必须采取的与其他类型的发现结果不同的重要行动。当一个红队发现了一个以前未公开的漏洞,或者将一个以前未杠杆化但已经确定的漏洞武器化时,就会出现这些特殊情况。如果这个漏洞是在一个不属于客户组织的软件中发现的,那么客户可能就没有那么大的影响力来考虑接下来会发生什么。然而,评估人员应该就如何最好地处理向公众和应用程序开发人员披露此漏洞作出明智的决定。此时,红队可能会披露漏洞的细节,但需要与客户组织签署保密协议,同时红队确定传播漏洞知识的最佳方式。此时,红队可以披露漏洞的细节,但要求与客户组织签署保密协议,同时确定传播漏洞知识的最佳方式。此外,有时被利用的软件实际上可能属于客户组织及其业务模型的一部分。在这些情况下,客户很可能不仅想要推动披露,或者更有可能遏制该漏洞相关知识的传播,而且评估人员可能不得不签署保密协议,以防止漏洞泄漏。无论是哪种情况,对于道德黑客来说,第一次发现漏洞并将其武器化,并由国家标准与技术研究所(National Institute for Standards and Technology)管理的国家漏洞数据库(National Vulnerability Database)等实体对其进行注释,对自己的履历和声誉都有好处。
不利用漏洞
在系统中发现漏洞的原因有很多,但评估人员甚至是客户自己往往决定不使用概念验证漏洞。例如,如果某个漏洞在组织的很大一部分网络中均存在,则不太可能每次都在每台计算机上成功地利用它来传递其存在于组织中的风险。如果评估人员试图在许多系统上利用相同的漏洞,而没有智能的选择目标完成对组织的入侵,这实际上会被视为鲁莽。为此,可以通过一个漏洞访问系统,如果该系统一旦遭到破坏,可以通过对目标的交互式调查发现在已安装和正在运行的多个软件中存在多个其他远程代码执行漏洞。在已经获得访问权限的情况下,可能没有必要对这些漏洞进行“概念验证”。
客户还可能会发现某些漏洞或系统太危险,而无法参与此类安全评估活动,他们可以告诉评估人员忽略这些设备或应用程序,也可以以更安全的方式授予模拟访问权限,以便继续评估。我认为,不利用漏洞的一个公平的笼统说法是,如果它不能促进达成组织被入侵的阴谋或帮助传达特定漏洞的严重性,那么利用这类漏洞的风险就不值得回报。如果我告诉一位客户 MS17-010 在他们的大多数 Windows 机器上都有,并且我可以用它访问系统,我相信这句话很可能传达了一种严肃性,允许我在一些模拟攻击的机器上进行系统级访问,相比于网络中潜在的动辄让机器“蓝屏”的攻击者来说,这是一种更专业的道德黑客行为。
本文由作者“丝绸之路”整理发布,如若转载,请注明原文地址