开展专业的红蓝演练 Part.18:几种不常见的紫队的类型
2021-06-24 10:30:11 Author: www.4hou.com(查看原文) 阅读量:130 收藏

上一章节中,我们讨论了开展紫队演练工作所面临的一些挑战以及紫队的类型。在这一章节,我会接着上一章的讨论,继续阐述几种不常见的紫队类型。

《开展专业的红蓝演练 Part.17:紫队的类型以及面临的挑战》

当场抓住测试

当场抓住测试是一个“红队”术语的游戏,红队要接受被当场抓住。在当场抓住测试期间,评估人员打算故意被蓝队抓住。这类紫队测试侧重于评估的各个阶段,原因不同,反应也不同。测试从红队被发现之前的评估部分作为开始,红队行动中被发现的点,以及被确定后的评估部分。我参加过这种紫队演练活动,发现它对客户组织非常有用。如前所述,这种类型的测试可能会导致团队之间的冲突。

当场抓住测试当然可以手动完成,也可以通过自动化完成。在这样的活动中,评估人员会慢慢地暴露他们的谍报技术,直到他们笨手笨脚的让蓝队抓住他们所做的事情。在这个关头,紫队的工作可以沿着两条路中的一条进行。蓝队找到红队后,停止了紫队的活动,并与红队一起重建在红队被发现之前发生的事情以及为什么没有被早点抓到。或者,蓝队通知红队成员他们监控到的情况,红队慢慢开始加强他们的谍报技术并隐藏自己,直到他们变得无法被蓝队区分是否合法活动。作为一个持久的紫队演练,这两个步骤在蓝队学习和改进监控并识别红队活动的过程中,会不断重复。这种方法的一个问题是,它不是一种标准化的、可重复的或可防御的方法来改进蓝队,并且可能不适用于所有组织。

另一种进行当场抓住测试的方法是借助道德黑客谍报技术实现自动化。在这种当场抓住测试的过程中,大部分人为因素被去除,演练结果中更多的是对组织已经具备的预防和监测能力的评估。

我第一次看到这个技术是由一个非常大的企业的红队成员实现的。在我们提升了对目标数据中心里面几乎所有设备的访问权限之后,我们开始执行自动化的当场抓住测试。谍报技术的作用是为工具选择执行点。一些目标是在同一个数据中心内选择的,一些则是在数据中心之间进行通信的,还有一些是在DMZ和目标范围内的其他管理子网中选择的。我们安装的工具中有一组攻击性的安全攻击活动,有多种不同的复杂程度。比如包括向SSH用户添加密钥、持久化二进制文件或脚本、创建用户以及其他此类操作。这些活动是按从最不可能被发现到最可能被发现的顺序执行的,并且同时在每个设备上执行。在完成这些工具的执行之后,我们与蓝队合作,以确定是哪些行为命中了他们的监控规则,哪些行为被阻止了,以及触发了哪些警报。这使得蓝队成员能够清楚地了解自己的防守能力。在某些情况下,他们认为他们会100%的对已发现攻击操作发出警报,但由于配置不当的网络监听和其他问题,他们但监控并没有发现某些攻击操作。

这种当场抓住的测试可以和蓝队一起进行,蓝队提前提供他们的监控和防御规则,红队输入被防御装置捕获的测试动作。这种策略提供了补救需求的即时图像,因为如果警报被遗漏,它们将直接与蓝队认为正在失败的活动相关。另一种选择是让红队提出攻击行动,在交战结束时将其纳入汇报中,并与蓝队一起审查,以便他们能够调整自己的能力来应对此类攻击行动。这也允许采取从最高危到最低危的补救顺序,因为错过的极其危险或明显的攻击活动应作为优先事项处理。

前两种惯用的当场抓住测试方法主要针对基于签名的安全操作,在这些操作中,有机蓝队识别出已知操作中应该记录或应该阻断的弱点。我和一位同行讨论过的一个新思路是使用机器学习自动测试组织的监控装置。这显然偏离了这本书的主题,但我觉得这与其他当场抓住测试的紫队的概念一样值得提及。从本质上讲,一个工具安装在组织和互联网的不同位置,该工具监听并了解组织的基线网络流量。在此基础上,它所做的与启发式监控软件所做的事情恰恰相反。它开始发送自己的流量,并慢慢变得更笨。随着工具发送的流量开始越来越不像网络基线,不同复杂度的监控软件应该识别不同点的异常流量。如果他们的启发式或甚至基于签名的流量监控被配置为能够捕获他们希望捕获的内容,那么在网络流的关键点放置和执行这样的工具可以允许组织获得事实性的理解。

七擒七纵

当场抓住测试更侧重于改进或识别蓝队方法中的差距。抓住并释放是一种紫队演练,旨在测试红队行动的弹性,以及蓝队识别和跟踪红队活动的能力。在这种紫队演练中,红队会被抓住。当这种情况发生时,红队被告知他们所采取的行动中已经被蓝队发现的信息,然后在蓝队开始积极尝试隔离他们的工具并将他们踢出网络之前,给红队队员们一小段时间。通知并捕获或防御活动之间的时间量应与系统记录的红队操作所触发的监控装置中的警报所需的时间和分析人员注意到它从而启动事件响应所花费的时间相关。抓住并释放中的“捕获”可以是模拟警报,也可以是蓝队对红队活动的真实识别。这种评估中的“释放”是给红队留出时间,以减轻被抓获的行动,并继续坚持渗透网络。

这样做的好处是,红队可以进行任何裁员和提高应变能力的活动,以试图在组织中保持立足点。此外,蓝队可以进行真实的事件响应,其中他们积极尝试清除网络中的攻击者,因为攻击者知道应急响应已经启动了。在所有讨论过的紫队活动中,这种类型的紫队活动允许红队和蓝队培养创造力并改进他们的流程。同样,在一个有红队和蓝队的组织中,这种情况更可能发生。不过,我认为这是一种非常有益的紫队演练方式,它充分实践了攻击模拟的概念以及对组织应急响应的评估。

七擒七纵测试也强调了红队、蓝队、紫队和进攻安全的一个非常有价值的观点。被抓住并不意味着威胁已经被击败。通常情况下,当演练还在进行时,在蓝队告诉我们他们抓住了我们,那么在演练已经结束时,我就会参与汇报或对话。从个人经验来看,在活动发生后的数小时甚至数天内都会发出行动警报,而且几乎在任何情况下,仅捕获该活动并不能阻止攻击者的存在。如果蓝队发现我在主机上执行了一个有风险的特权提升漏洞,然后发现我在主机上挖掘信息,但他们在我执行这个漏洞两小时后,在我已经停止与该机器交互一个多小时后才发现了我,那并不完全意味着我被打败了。我可能已经跳转到了几个其他主机。我敦促防御性和进攻性安全从业人员理解,在评估和实际活动中,如果后续的事件响应无法击溃组织中的攻击者,那么捕捉到一个攻击动作是无用的。当一个蓝队暗示,因为他们抓到了某个攻击行为,所以评估并不复杂,或者后来红队的行动是无声的,结果是不相关的,那么这是非常令人沮丧的。我一次又一次地遇到过这种情况,但都没有抓住重点。对于组织来说,这是一个很好的用来学习自身局限性的机会,并实践组织对攻击者的事件响应,与真正的黑客不同,它不会向公众泄露数据和漏洞。

乐于助人的黑客

最不具有对抗性和最容易实施的紫队活动是在攻击性安全评估之后、补救和缓解调查结果期间发生的事情。无论是作为一种有目的的紫队,还是简单地将演练结果报告提升到一个更高的级别,攻击者对补救和缓解策略的输入都是非常宝贵的。此输入可确保防御者以击败攻击而不是模拟攻击者的方式修正演练所发现的安全问题。这也有助于有效地确定演练发现的安全问题清单的优先次序和处理顺序。在参与紫队演练活动时,我目睹了许多这样的例子:客户的安全人员想出了解决安全问题的想法,阻止了红队进行的模拟攻击,但没有解决问题的根源。这类似于治疗症状而不是治疗感染的原因。以下是我遇到的真实例子,在这些例子中,安全人员提出的最初的解决方案针对的是一种症状,而不是我们最终与他们合作实施的旨在治疗病因的方案。

有两个类似的例子都涉及到目标组织中使用的安全产品,这些安全产品在演练过程中被红队用于在整个企业组织中横向移动。其中一个是基于 Linux 的企业配置管理软件,它集中管理组织的大部分工作。另一个是由服务器集中管理的Windows端点防病毒软件。在Linux软件中,凭证重用允许远程访问,内核权限提升允许红队在配置管理服务器上站稳脚跟。从那时起,红队就可以对企业进行更改,例如安装后门、更改密码和其他操作,所有这些操作都为每个托管节点提供了特权访问。在Windows主机上,在一台计算机上复制一个半特权用户帐户可以让评估人员将注意力转向防病毒管理服务器。从那里,红队能够“解密”本地存储的防病毒网络控制台的密码,一旦验证了密码,红队就能够以系统权限在域中的所有计算机上执行二进制文件,包括域控制器。在这两个例子中,在汇报的时候,客户安全人员提出了一些缓解措施,这些措施只集中在问题的症状上。对于Linux问题,安全人员建议升级内核版本并更改相关的用户凭据。对于Windows问题,安全人员建议将防病毒软件升级到最新版本,这样可以更好地隐藏 web 控制台密码。对于这两个例子,红队评估人员建议改变组织安全态势的真正弱点。在这两种情况下,一个非常强大的管理工具应该与其他机器“隔离开来”,并且还应该使用它自己的身份验证(特定于管理软件机器本身)。像这种特权机器的分离才是真正的问题;其他漏洞只允许评估人员访问它们。这并不是说安全人员的建议不应该被执行;那些方案也很重要。但是,红队的攻击思维提出了额外的建议来阻止一般的攻击,而不是特定的攻击路径。

一个更简单的例子是组织内有一个严格的Linux数据中心。红队通过在一台机器上获得root权限访问并重用同一个root帐户访问所有其他Linux服务器来拿下整个数据中心的权限。安全团队只是简单地禁用了root 到SSH的能力,阻断了红队使用的攻击路径。在与蓝队成员进一步的情况介绍中,红队告诉他们,他们可以使用另一个用户远程登录,并在本地的每个命令行窗口中“切换到root”,以安装他们需要的任何工具,因为root帐户密码在每台机器上都保持不变。红队建议禁止使用SSH的用户切换到root,或者在不同的服务器上更改root凭据,以防止凭据重用。

最后一个例子说明了蓝队和红队给出的缓解建议之间的区别,以及两者作为紫队工作的好处。这个例子涉及到二进制文件的执行。在一个简短的发言中,红队强调了在攻击过程中,他们能够使用Windows机器上的计划任务执行一个 .exe 工具。防守者提出,他们将为使用scheduled tasks 工具启动新的.exe 二进制文件时编写一个签名。同样,这个解决方案是值得的,但它只解决了某个特定的攻击方法,而不是根本原因。红队与安全人员合作,帮助他们理解这一问题,他们可以简单地编写一个.dll并通过调度rundll.exe来执行,甚至可以使用另一个文件扩展名,如.tlb。所以潜在的问题是,计划任务被允许使用系统上下文来启动二进制文件。这个例子也顺便说明了红队与蓝队一起合作可以减轻威胁本身。

不管是哪一个例子,都应该清楚的是,当组织的安全人员以及具有攻击性的评估人员共同制定补救和缓解行动的策略时,这是极其有益的。紫队的执行方式只受想象力的限制,每个组织的实施都应该探索利用这一概念的最佳方式,以改善组织的整体安全状况,提高蓝队和红队成员的技能,更好地了解彼此的思维。

总结

本章讨论了紫队的概念、面临的挑战以及紫队演练活动的一些不同类型。各种紫队类型的独特优点和缺点也都涵盖在其中,以突出使用它们的最佳情况。现实生活场景巩固了本章所传达的信息。

全系列文章请查看:https://www.4hou.com/member/dwVJ

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


文章来源: https://www.4hou.com/posts/RkGq
如有侵权请联系:admin#unsafe.sh