前言
威胁猎杀是一种假设对手已经在你的环境中,而你必须在其对业务造成重大损害之前主动猎杀它们的行为。威胁猎杀是关于主动测试和强化组织防御能力的行动。本书旨在帮助分析师进行这方面的实践。
本书既适合那些初涉网络威胁情报(Cyber Threat Intelligence,CTI)和威胁猎杀(Threat Hunting,TH)领域的人阅读,也适合那些拥有更高级的网络安全知识但希望从头开始实施TH计划的读者。
本书共分为四部分。第一部分介绍基础知识,帮助你了解威胁情报的概念及如何使用它,如何收集数据及如何通过开发数据模型来理解数据,还会涉及一些基本的网络和操作系统概念,以及一些主要的TH数据源。第二部分介绍如何理解对手。第三部分介绍如何使用开源工具针对TH构建实验室环境,并通过实际示例介绍如何计划猎杀。第一个实践练习是利用Atomic Red Team进行的小型原子猎杀,之后介绍使用情报驱动假设和MITRE ATT&CK框架更深入地研究高级持续性威胁的猎杀。第四部分主要介绍评估数据质量、记录猎杀、定义和选择跟踪指标、与团队沟通猎杀计划以及向高管汇报TH结果等方面的诀窍和技巧。
读者对象
本书面向对TH实战感兴趣的读者,可以指导系统管理员、计算机工程师和安全专业人员等向TH实战迈出第一步。
内容概览
第1章介绍不同类型的威胁之间的区别,如何收集危害指标(Indicators Of Compromise,IOC),以及如何分析收集到的信息。
第2章介绍什么是威胁猎杀,为什么它很重要,以及如何定义猎杀假设。
第3章不仅简要概述威胁猎杀,还介绍计划和设计猎杀计划时可以使用哪些不同的步骤和模型。
第4章介绍上下文,因为要理解收集的信息,我们需要将它放置到适当的上下文中。没有上下文且未经分析的信息不是情报。本章我们将学习如何使用MITRE ATT&CK框架形成情报报告。
第5章介绍创建数据字典的过程,阐述为什么这是威胁猎杀过程的关键部分,以及为什么集中包含终端数据在内的所有数据很关键。
第6章展示如何使用CTI创建威胁行为体仿真计划,并将其与数据驱动的方法相结合来执行猎杀。
第7章介绍如何使用不同的开源工具设置研究环境。我们主要通过创建Windows实验室环境和设置ELK(Elasticsearch, Logstash, Kibana)实例来记录数据。
第8章介绍如何使用Atomic Red Team执行原子猎杀,让你熟悉操作系统和猎杀过程。然后,使用Quasar RAT感染“零号受害者”,演示如何在系统上执行猎杀过程来检测Quasar RAT。
第9章探讨如何将Mordor解决方案集成到ELK/HELK实例中。Mordor项目旨在提供预先记录的事件,模仿威胁行为体的行为。然后,我们使用Mordor APT29数据集加载环境,以APT29 ATT&CK映射为例进行情报驱动的猎杀。最后,使用CALDERA模拟我们自己设计的威胁。
第10章探讨文档。威胁猎杀流程的最后一部分涉及TH流程的记录、自动化和更新。本章还将介绍记录和自动化技巧,这将帮助你把计划提高到一个新的水平。猎杀的自动化是将分析师从反复执行相同猎杀的过程中解放出来的关键,但并不是所有的事情都能够或应当自动化。
第11章讨论评估数据质量的重要性,并利用几个开源工具帮助我们组织和完善数据。
第12章详细介绍在实验室环境之外执行猎杀时可以获得的不同输出,以及如何在需要时改进查询。
第13章分析指标。好的指标应该不仅可以用来评估单个猎杀,还可以用来评估整个猎杀计划是否成功。本章提供了一系列可用来评估猎杀计划成功与否的指标。此外,还将讨论用于TH的MaGMA框架,方便你跟踪结果。
第14章重在强调结果的沟通。成为自己所在领域的专家固然很棒,但如果不善于汇报你的专家行动如何对公司的投资回报产生积极影响,可能就无法走得很远。本章将讨论如何与团队沟通,如何融入事件响应团队,以及如何向上级管理层汇报结果。
如何充分利用本书
虽然在第7章中为那些无法构建自己的服务器的人提供了替代方案,但要充分利用本书,你需要有安装了VMware EXSI的服务器。
服务器最低要求如下:
4~6核。
16~32 GB RAM。
50 GB~1 TB。
尽管如此,你仍然可以使用ELK/HELK实例和Mordor数据集来完成本书中几乎所有的练习。第7章也提到了其他Splunk替代方案。
本书将基于Mordor数据集使用MITRE ATT&CK Evals进行高级猎杀。
本书涵盖的软件/硬件 OS需求
PowerShell Windows
Python 3.7 Windows, Linux
ELK Stack Windows, Linux
Quasar RAT
如果熟悉MITRE ATT&CK企业矩阵,那么在阅读本书时你将拥有极大优势。
下载彩色图像
本书中的屏幕截图及图表可以从http://www.packtpub.com/sites/default/files/downloads/9781838556372_ColorImages.pdf下载。
排版约定
本书中使用了许多文本约定。
文本中的代码体:指示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、用户输入和Twitter句柄。例如:“第一步是复制Sigma资源库,然后从资源库或通过 pip install sigmatools安装sigmatools。”
代码块设置如下:
from attackcti import attack
目录
译者序
前言
作者简介
审校者简介
第一部分 网络威胁情报
第1章 什么是网络威胁情报 2
1.1 网络威胁情报概述 2
1.1.1 战略情报 3
1.1.2 运营情报 3
1.1.3 战术情报 4
1.2 情报周期 5
1.2.1 计划与确定目标 7
1.2.2 准备与收集 7
1.2.3 处理与利用 7
1.2.4 分析与生产 7
1.2.5 传播与融合 7
1.2.6 评价与反馈 7
1.3 定义情报需求 8
1.4 收集过程 9
1.4.1 危害指标 10
1.4.2 了解恶意软件 10
1.4.3 使用公共资源进行收集:OSINT 11
1.4.4 蜜罐 11
1.4.5 恶意软件分析和沙箱 12
1.5 处理与利用 12
1.5.1 网络杀伤链 12
1.5.2 钻石模型 14
1.5.3 MITRE ATT&CK框架 14
1.6 偏见与分析 16
1.7 小结 16
第2章 什么是威胁猎杀 17
2.1 技术要求 17
2.2 威胁猎杀的定义 17
2.2.1 威胁猎杀类型 18
2.2.2 威胁猎人技能 19
2.2.3 痛苦金字塔 20
2.3 威胁猎杀成熟度模型 21
2.4 威胁猎杀过程 22
2.4.1 威胁猎杀循环 22
2.4.2 威胁猎杀模型 23
2.4.3 数据驱动的方法 23
2.4.4 集成威胁情报的定向猎杀 25
2.5 构建假设 28
2.6 小结 29
第3章 数据来源 30
3.1 技术要求 30
3.2 了解已收集的数据 30
3.2.1 操作系统基础 30
3.2.2 网络基础 33
3.3 Windows本机工具 42
3.3.1 Windows Event Viewer 42
3.3.2 WMI 45
3.3.3 ETW 46
3.4 数据源 47
3.4.1 终端数据 48
3.4.2 网络数据 51
3.4.3 安全数据 57
3.5 小结 61
第二部分 理解对手
第4章 映射对手 64
4.1 技术要求 64
4.2 ATT&CK框架 64
4.2.1 战术、技术、子技术和程序 65
4.2.2 ATT&CK矩阵 66
4.2.3 ATT&CK Navigator 68
4.3 利用ATT&CK进行映射 70
4.4 自我测试 73
4.5 小结 77
第5章 使用数据 78
5.1 技术要求 78
5.2 使用数据字典 78
5.3 使用MITRE CAR 82
5.4 使用Sigma规则 85
5.5 小结 88
第6章 对手仿真 89
6.1 创建对手仿真计划 89
6.1.1 对手仿真的含义 89
6.1.2 MITRE ATT&CK仿真计划 90
6.2?仿真威胁 91
6.2.1 Atomic Red Team 91
6.2.2 Mordor 93
6.2.3 CALDERA 94
6.2.4 其他工具 94
6.3 自我测试 95
6.4 小结 97
第三部分 研究环境应用
第7章 创建研究环境 100
7.1 技术要求 100
7.2 设置研究环境 101
7.3 安装VMware ESXI 102
7.3.1 创建虚拟局域网 102
7.3.2 配置防火墙 104
7.4 安装Windows服务器 108
7.5 将Windows服务器配置为域控制器 112
7.5.1 了解活动目录结构 115
7.5.2 使服务器成为域控制器 117
7.5.3 配置DHCP服务器 118
7.5.4 创建组织单元 122
7.5.5 创建用户 123
7.5.6 创建组 125
7.5.7 组策略对象 128
7.5.8 设置审核策略 131
7.5.9 添加新的客户端 136
7.6 设置ELK 139
7.6.1 配置Sysmon 143
7.6.2 获取证书 145
7.7 配置Winlogbeat 146
7.8 额外好处:将Mordor数据集添加到ELK实例 150
7.9 HELK:Roberto Rodriguez的开源工具 150
7.10 小结 153
第8章 查询数据 154
8.1 技术要求 154
8.2 基于Atomic Red Team的原子搜索 154
8.3 Atomic Red Team测试周期 155
8.3.1 初始访问测试 156
8.3.2 执行测试 163
8.3.3 持久化测试 165
8.3.4 权限提升测试 167
8.3.5 防御规避测试 169
8.3.6 发现测试 170
8.3.7 命令与控制测试 171
8.3.8 Invoke-AtomicRedTeam 172
8.4 Quasar RAT 172
8.4.1 Quasar RAT现实案例 173
8.4.2 执行和检测Quasar RAT 174
8.4.3 持久化测试 178
8.4.4 凭据访问测试 180
8.4.5 横向移动测试 181
8.5 小结 182
第9章 猎杀对手 183
9.1 技术要求 183
9.2 MITRE评估 183
9.2.1 将APT29数据集导入HELK 184
9.2.2 猎杀APT29 185
9.3 使用MITRE CALDERA 205
9.3.1 设置CALDERA 205
9.3.2 使用CALDERA执行仿真计划 209
9.4 Sigma规则 218
9.5 小结 221
第10章 记录和自动化流程的重要性 222
10.1 文档的重要性 222
10.1.1 写好文档的关键 222
10.1.2 记录猎杀行动 224
10.2 Threat Hunter Playbook 226
10.3 Jupyter Notebook 228
10.4 更新猎杀过程 228
10.5 自动化的重要性 228
10.6 小结 230
第四部分 交流成功经验
第11章 评估数据质量 232
11.1 技术要求 232
11.2 区分优劣数据 232
11.3 提高数据质量 234
11.3.1 OSSEM Power-up 236
11.3.2 DeTT&CT 237
11.3.3 Sysmon-Modular 238
11.4 小结 239
第12章 理解输出 240
12.1 理解猎杀结果 240
12.2 选择好的分析方法的重要性 243
12.3 自我测试 243
12.4 小结 245
第13章 定义跟踪指标 246
13.1 技术要求 246
13.2 定义良好指标的重要性 246
13.3 如何确定猎杀计划成功 248
13.4 小结 250
第14章 让响应团队参与并做好沟通 253
14.1 让事件响应团队参与进来 253
14.2 沟通对威胁猎杀计划成功与否的影响 255
14.3 自我测试 258
14.4 小结 259
附录 猎杀现状 260