介绍
成功行动的关键在于所有参与方之间协调良好的规划和沟通。本课程将重点关注红队行动的各个组成部分以及为红队行动规划和记录一场行动。
红队行动有多种类型,包括:
- 桌面推演
- 对手模拟
- 物理评估
学习目标:
- 了解红队行动的组成部分和功能。
- 学习如何根据需求、可用资源以及战术、技术、程序(TTPs)来合理规划行动。
- 理解如何根据客户目标撰写行动文档。
本课程无需任何先决条件或知识。
2. 定义范围和目标
行动可能会非常复杂且官僚化。成功行动的关键是清晰定义的客户目标。客户目标应该在客户和红队之间进行讨论,以在双方之间建立对期望内容和提供内容的共同理解。设定的目标是行动其余文档和规划的基础。
如果没有清晰且具体的目标和期望,你将为一场缺乏结构和规划的行动做准备。目标为整个行动定下了基调。
在评估客户目标和规划行动细节时,你通常需要决定评估的专注程度。
行动可以分为一般性的内部/网络渗透测试和专注的对手模拟。专注的对手模拟会在行动中定义一个特定的APT(高级持续性威胁)或要模拟的攻击团伙。这通常是基于针对公司所在特定行业的攻击团伙来确定的,例如金融机构和APT38。内部或网络渗透测试将遵循类似的结构,但通常会更不专注,并使用更标准的战术、技术、程序(TTPs)。
行动的具体方法将取决于由客户目标定义的个案情况。
客户目标还会影响行动的一般交战规则和范围。
这些主题将在第6项任务中进一步展开。
客户目标仅设定了客户对行动目标的基本定义。具体的行动计划将扩展客户目标,并确定行动的具体细节。行动计划将在本课程的后续部分中介绍。
精确且透明的行动的下一个关键点是明确定义的范围。行动的范围会因组织及其基础设施和安全态势而异。客户的范围通常会定义你不能做什么或不能针对什么;它也可以包括你可以做什么或可以针对什么。虽然客户目标可以与提供团队一起讨论并确定,但范围应仅由客户设定。在某些情况下,如果范围影响了行动,红队可能会对范围提出异议。他们应该对自己的网络有清晰的了解,并理解评估的后果。范围的具体内容和措辞总是会有所不同,以下是客户范围中可能出现的措辞示例。
- 不允许数据外泄。
- 生产服务器是禁止触碰的。
- 10.0.3.8/18 超出范围。
- 10.0.0.8/20 在范围内。
- 在任何情况下都不允许系统停机。
- 禁止外泄个人身份信息(PII)。
从红队的角度分析客户目标或范围时,理解其更深层的含义和影响至关重要。在分析时,你应该始终动态地理解你的团队将如何应对问题/目标。如有需要,你应该根据客户目标和范围的初步阅读来撰写你的行动方案或开始撰写。
问答时间
以下是一个具有强大安全态势的成熟组织的客户目标示例。
示例 1 - 全球企业公司:
目标:
- 识别系统配置错误和网络弱点。
- 重点关注外部系统。
- 确定端点检测与响应系统(EDR)的有效性。
- 评估整体安全态势和响应能力。
- 安全信息与事件管理(SIEM)和检测措施。
- 修复措施。
- DMZ 和内部服务器的隔离。
- 根据停机时间和持续时间,允许使用白卡(white cards)。
- 评估数据暴露和外泄的影响。
范围:
- 在任何情况下都不允许系统停机。
- 禁止任何形式的分布式拒绝服务攻击(DDoS)或拒绝服务攻击(DoS)。
- 禁止使用任何有害恶意软件,包括勒索软件和其他变种。
- 禁止外泄个人身份信息(PII)。可以使用任意数据进行外泄测试。
- 允许对 10.0.4.0/22 网段内的系统进行攻击。
- 禁止对 10.0.12.0/22 网段内的系统进行攻击。
- Bean 企业公司将密切监控与 DMZ 和关键/生产系统的交互。
- 禁止与 “*.bethechange.xyz” 进行任何交互。
- 允许与 “*.globalenterprises.thm” 进行所有交互。
- 允许攻击的CIDR范围是什么?
10.0.4.0/22
- 是否允许使用白卡?(是/否)
Y
- 是否允许访问“*.bethechange.xyz”?(是/否)
N
3. 交战规则
交战规则(RoE)是关于客户目标和范围的具有法律约束力的概述,进一步明确了双方对行动的期望。这是行动规划过程中的第一份“正式”文件,需要客户和红队之间的适当授权。这份文件通常充当双方之间的通用合同;也可以使用外部合同或其他保密协议(NDA)。
交战规则的格式和措辞至关重要,因为它是一份具有法律约束力的合同,并且明确了期望。
每份交战规则的结构将由客户和红队确定,其内容长度和整体部分可能会有所不同。以下是您可能会在交战规则中看到的标准部分的简要表格。
部分名称 | 部分详情 |
---|---|
执行摘要(Executive Summary) | 对交战规则(RoE)文档中所有内容和授权的总体概述 |
目的(Purpose) | 定义交战规则文档的使用原因 |
参考(References) | 在交战规则文档中引用的任何参考内容(如HIPAA、ISO等) |
范围(Scope) | 关于同意限制和指导方针的声明 |
定义(Definitions) | 在交战规则文档中使用的专业术语的定义 |
交战规则和支持协议(Rules of Engagement and Support Agreement) | 定义双方的义务以及行动行为的一般技术期望 |
条款(Provisions) | 定义交战规则的例外情况和附加信息 |
要求、限制和权限(Requirements, Restrictions, and Authority) | 定义红队小组的具体期望 |
基本规则(Ground Rules) | 定义红队小组互动的限制 |
问题解决/联系人(Resolution of Issues/Points of Contact) | 包含参与行动的所有关键人员 |
授权(Authorization) | 对行动的授权声明 |
批准(Approval) | 双方对前文各小节内容的批准签名 |
附录(Appendix) | 来自前文各小节的进一步信息 |
在分析该文档时,重要的是要记住它只是一个总结,其目的是作为一份法律文件。未来还需要进行更深入的规划,以扩展交战规则(RoE)和客户目标。 |
在本任务中,我们将使用一份经过简化并改编自 redteam.guide 的文档。
问答时间
从任务文件中下载示例交战规则。
下载完成后,阅读示例文档并回答以下问题。
- 明确指出了多少条限制?``
- 文档中提到的第一种访问类型是什么?
Phishing
- 红队是否被允许攻击 192.168.1.0/24?(是/否)
N
4. 行动规划
在本任务之前,我们主要关注的是从商业角度出发的行动规划和文档制定。行动规划利用从客户目标和交战规则(RoE)中获取和制定的信息,将其应用于各种计划和文件中,以明确红队将如何行动以及具体要做什么。
每个内部红队都会有自己的行动规划方法和文档。我们将展示一套深入的计划,以便实现精确的沟通和详细的文档记录。我们将使用的行动总结包括四种不同深度和覆盖范围的计划,这些计划改编自军事行动文件。每种计划都可以在下表中找到,并附有简要说明。
计划类型 | 计划说明 | 计划内容 |
---|---|---|
行动计划(Engagement Plan) | 对红队技术要求的总体描述。 | 概念性操作(CONOPS)、资源和人员需求、时间表 |
作战计划(Operations Plan) | 行动计划的扩展。进一步细化每个细节的具体内容。 | 操作人员、已知信息、职责等 |
任务计划(Mission Plan) | 行动的具体执行命令和执行时间。 | 要运行的命令、时间目标、负责的操作员等 |
修复计划(Remediation Plan) | 定义行动结束后如何进行后续工作。 | 报告、修复咨询等 |
另一个行动规划的例子是 redteam.guide 的行动检查清单。该清单(点击这里查看)作为一种更通用的行动规划方法,列出了所需的信息。
在接下来的任务中,我们将深入探讨这些计划、文档以及每种计划的具体内容,深入研究行动规划的细节。
5. 行动文档
行动文档是行动规划的延伸,用于正式记录行动规划中的想法和思路。在这个语境中,“文档”这个词可能会产生误导,因为有些计划并不需要正式的文档,甚至可以简单到只是一封电子邮件;我们将在本任务的后续部分进一步讨论这一点。
在本任务中,我们将在深入研究具体的计划和文档之前,先对每个行动计划的内容进行技术性概述。
行动计划:
组成部分 | 目的 |
---|---|
概念性操作(CONOPS) | 以非技术性语言概述红队如何实现客户目标以及如何针对客户。 |
资源计划 | 包括时间表以及红队成功所需的各项资源信息——任何资源需求:人员、硬件、云服务需求等。 |
作战计划:
组成部分 | 目的 |
---|---|
人员(Personnel) | 员工需求信息。 |
停止条件(Stopping conditions) | 红队在行动中应何时以及为何停止。 |
交战规则(RoE,可选) | - |
技术要求(Technical requirements) | 红队成功所需的技能知识。 |
任务计划:
组成部分 | 目的 |
---|---|
命令手册(Command playbooks,可选) | 需要运行的确切命令和工具,包括何时、为何以及如何运行。通常在拥有众多不同技能水平操作员的大型团队中较为常见。 |
执行时间(Execution times) | 开始行动各阶段的时间。可选地包括运行工具和命令的确切时间。 |
职责/角色(Responsibilities/roles) | 谁在何时做什么。 |
修复计划(可选):
组成部分 | 目的 |
---|---|
报告(Report) | 行动细节总结以及发现结果的报告。 |
修复/咨询(Remediation/consultation) | 客户将如何修复发现的问题?可以在报告中包含,也可以在客户与红队之间的会议中讨论。 |
6. 概念性操作
概念性操作(CONOPS)是行动计划的一部分,详细概述了行动的流程,我们可以将其比作渗透测试报告的执行摘要。该文档将作为商业/客户的参考文件,同时也是红队小组进一步扩展到后续行动规划的基础。
CONOPS文档应从半技术性总结的角度撰写,假设目标受众/读者几乎没有技术知识。尽管CONOPS应从高层次撰写,但不应省略诸如常用工具、目标群体等细节。与大多数红队文档一样,CONOPS文档没有固定的标准;以下是CONOPS中应包含的关键组成部分:
- 客户名称
- 服务提供商
- 时间范围
- 一般目标/阶段
- 其他训练目标(例如数据外泄)
- 计划使用的高级工具/技术
- 要模拟的威胁团伙(如果有)
撰写和理解CONOPS的关键是提供足够的信息,以便读者对所有正在进行的活动有一个大致的了解。CONOPS应该易于阅读,并展示清晰的定义和要点,使读者能够轻松理解。
问答时间
阅读示例概念性操作(CONOPS),并回答以下问题。
以下是一个具有强大安全态势的成熟组织的概念性操作(CONOPS)示例。
示例 1 - Holo 企业公司:
概念性操作(CONOPS):
Holo 企业公司聘请 TryHackMe 作为外部承包商,对其网络基础设施和安全态势进行为期一个月的评估。此次行动将采用“假设入侵”模型,从第三层级(Tier 3)基础设施开始。操作人员将逐步进行侦察,并尝试达成预定目标。如果未能达成既定目标,红队将横向移动并在网络中提升权限。操作人员还被期望执行并维持持久化,以持续存在三周时间。如果在整个行动过程中红队被蓝队识别或暴露,可信代理将进行干预。最后一天将用于清理、修复以及与蓝队和白队的协商。
客户要求的训练目标如下:评估蓝队识别和防御实时入侵和攻击的能力,识别内部网络中对手的风险。红队将通过使用Cobalt Strike作为主要工具来达成目标。红队仅被允许使用针对特定威胁的其他标准工具。
根据客户的安全态势和成熟度,此次行动将采用威胁团伙 FIN6 的战术、技术、程序(TTP)。
- 行动将持续多长时间?
1 Month
- 红队被期望维持持久化的时长是多少?
3 weeks
- 行动中使用的主要工具是什么?
Cobalt Strike
7. 资源计划
资源计划是行动计划的第二个文件,详细概述了日期、所需知识(可选)以及资源需求等内容。该计划扩展了概念性操作(CONOPS),并包含了具体的细节,例如日期、所需知识等。
与概念性操作不同,资源计划不应以总结的形式撰写,而是以子部分的项目符号列表形式呈现。与大多数红队文档一样,资源计划没有固定的模板或文档标准;以下是资源计划示例子部分的大纲:
标题
- 编写人员
- 日期
- 客户
- 行动日期
- 侦察日期
- 初始入侵日期
- 后渗透及持久化日期
- 其他日期
- 所需知识(可选)
- 侦察
- 初始入侵
- 后渗透
- 资源需求
- 人员
- 硬件
- 云服务
- 其他
撰写和理解资源计划的关键在于提供足够的信息以明确所需内容,但又不至于过于繁琐。该文档应直截了当,明确定义所需资源。
问答时间
点击“查看网站”按钮,阅读提供的资源计划。完成后,回答以下问题。
- 行动将在何时结束?(格式:MM/DD/YYYY)
11/14/2021
- 红队的AWS云服务成本预算是多少?
$1000
- 行动是否有其他杂项需求?(是/否)
N
8. 作战计划
作战计划是一份灵活的文件(或文件集),提供了行动的具体细节以及正在发生的活动。该计划扩展了当前的概念性操作(CONOPS),并应包含大部分具体的行动信息;根据交战规则(RoE)的深度和结构,RoE也可以放置于此。
作战计划应采用与资源计划类似的写作方式,使用项目符号列表和小的子部分。与其他红队文档一样,作战计划没有固定的模板或文档标准;以下是作战计划中示例子部分的大纲。
标题
- 编写人员
- 日期
- 客户
- 停止/中断条件(根据深度,也可以放在RoE中)
- 所需/分配的人员
- 计划使用的具体战术、技术、程序(TTPs)和攻击手段
- 通信计划
- 交战规则(可选)
该文档最显著的新增部分是通信计划。通信计划应总结红队小组将如何与其他小组和客户进行沟通。每个团队都有其与客户沟通的首选方式。以下是团队可能会选择的沟通方式列表:
- vectr.io
- 电子邮件
- Slack
问答时间
点击“查看网站”按钮,阅读提供的作战计划。完成后,回答以下问题。
- 在初始访问阶段将使用哪种网络钓鱼方法?
spearphishing
- 客户和红队小组之间将使用哪个网站进行沟通?
vectr.io
- 如果出现系统故障,红队小组将继续进行行动。(对/错)
F
9. 任务计划
任务计划是一份针对具体小组的文件,详细说明操作人员需要完成的确切行动。该文件利用先前计划中的信息,并将行动分配给他们。
文档的撰写方式和详细程度将取决于团队;由于这是内部使用的文件,其结构和细节的影响较小。与本课程中概述的所有文件一样,其呈现形式可以多种多样;该计划可以简单到通过电子邮件发送给所有操作人员。以下是小组应在计划中包含的最少细节内容的列表:
- 目标(Objectives)
- 操作人员(Operators)
- 漏洞利用/攻击(Exploits/Attacks)
- 目标(用户/机器/目标,Targets)
- 执行计划的变体(Execution plan variations)
可以将这两个计划视为类似的;作战计划应从商业和客户的角度出发,而任务计划则应从操作人员和红队小组的角度出发。
问答时间
点击“查看网站”按钮,阅读提供的任务计划。完成后,回答以下问题。
- 网络钓鱼活动将在何时结束?(格式:mm/dd/yyyy)
10/23/2021
- 你是否被允许攻击 10.10.6.78?(是/否)
N
- 遇到停止条件时,你应该继续工作并自行确定解决方案,而无需团队负责人。(对/错)
F
10. 总结
在本课程中,我们介绍了如何将行动规划转化为文档,并为成功的红队行动做好准备。贯穿本课程的核心主题是:每个红队都有其内部的文档和工作方式。理解这一概念对于进入实际工作至关重要。本课程仅作为引导,帮助你熟悉相关概念和思路,并提供一个框架供你使用,而不是一份确定性的、逐步的操作手册。在规划行动时,请记住,你的首要目标是满足客户的期望。
规划和文档记录常常被忽视,但它们对于成功的行动至关重要。