splunk/security_content
GitHub: splunk/security_content
Splunk官方安全内容库,提供映射MITRE ATT&CK框架的检测规则、分析案例和响应Playbook。
Stars: 1594 | Forks: 451
# Splunk Security Content
# 
欢迎访问 Splunk Security Content
该项目让您可以访问我们的 Analytic Stories(分析案例)库,这些安全指南提供了关于战术、技术和过程(TTPs)的背景知识,并映射到 MITRE ATT&CK Framework、Lockheed Martin Cyber Kill Chain 和 CIS Controls。它们包括 Splunk 搜索、机器学习算法和 Splunk Phantom playbooks(如果可用)——所有这些都旨在协同工作,以检测、调查和响应威胁。
**注意:** 我们有姊妹项目,使我们能够构建业内最好的安全内容。这些项目是 Splunk Attack Range,一个围绕 Splunk 构建的攻击模拟实验室,以及 Contentctl,这是一个使我们能够构建、测试和打包内容以进行分发的工具。
# 工具 🧰
- [Splunk Attack Range](https://github.com/splunk/attack_range): Splunk Attack Range 是由 Splunk Threat Research Team 维护的开源项目。它构建了配备监控工具的云(AWS、Azure)和本地环境,模拟攻击,并将数据转发到 Splunk 实例中。然后可以使用此环境来开发和测试检测的有效性。
- [Contentctl](https://github.com/splunk/contentctl): 使我们能够构建、测试和打包内容以进行分发的工具。
- [Attack data](https://github.com/splunk/attack_data): 这是用于测试我们内容的攻击数据集合。
- [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team): Atomic Red Team™ 是一个映射到 MITRE ATT&CK® 框架的测试库。安全团队可以使用 Atomic Red Team 快速、便携且可复现地测试其环境。
# 获取内容🛡
最新的 Splunk Security Content 可以通过以下方式获取:
#### 🌐 [网站](https://research.splunk.com/)
发现和访问我们内容的最佳方式是使用 [research.splunk.com](https://research.splunk.com/) 网站。
#### 🖥️ [Splunk Enterprise Security (ES) 内容更新](https://help.splunk.com/en/splunk-enterprise-security-8/administer/8.1/managing-security-content/manage-analytic-stories-through-the-use-case-library-in-splunk-enterprise-security)
Splunk security content 作为 ESCU 的一部分直接提供,如果您是 ES 用户,好消息是,您已经拥有了它!
#### 📦 [ESCU App](https://github.com/splunk/security_content/releases)
要手动下载最新版本的 Splunk Security Content(名为 DA-ESS-ContentUpdate.spl),您可以访问 [splunkbase](https://splunkbase.splunk.com/app/3449/) 页面或 GitHub 上的 [release page](https://github.com/splunk/security_content/releases)。
# 快速入门 🛠️
按照以下步骤开始使用 Splunk Security Content。
1. 使用 `git clone https://github.com/splunk/security_content.git` 克隆此仓库
2. 使用 `cd security_content` 导航到仓库目录
3. 使用 `pip install contentctl` 安装 contentctl 以安装最新版本的 contentctl,这是像 Splunk Threat Research 团队一样验证、构建和测试内容的先决条件
4. 使用 `pip install pre-commit` 安装 pre-commit,然后通过 `pre-commit install` 安装 hooks。这是验证并应用正确格式的先决条件。
# 快速开始 🚀
1. 设置环境
```
git clone https://github.com/splunk/security_content.git
cd security_content
python3.11 -m venv .venv
source .venv/bin/activate
pip install contentctl
```
2. 创建一个新的 **detection.yml** 并回答问题
```
contentctl new
```
**注意** - 确保您使用必填字段和值更新 detection.yml。如果您需要帮助,请参阅 [yaml-spec](docs/yaml-spec) 以查看允许值的列表
4. 验证您的内容
```
contentctl validate
```
**注意** - contentctl validate 命令确保所有 YAML 文件符合定义的规范并且是最新的。它检查必填字段、正确的数据类型和整体一致性,帮助维护内容的完整性和质量。
5. 使用来自 Atomic Red Team 和 Mitre CTID 仓库的丰富信息构建 ESCU 应用程序
```
contentctl build --enrichments
```
6. 测试内容 - 我们的测试框架基于 [contentctl](https://github.com/splunk/contentctl) 并且广泛且灵活。请参阅 [contentctl test documentation](https://github.com/splunk/contentctl?tab=readme-ov-file#contentctl-test) 以了解更多关于测试框架的信息。
# 建议 💡
- 🚨 注意:如果您刚开始使用代码管理 Splunk 检测,我们建议您保持检测的 YAML 结构尽可能接近检测的原始结构。这将使您更容易管理检测,也便于通过向 Splunk Security Content 项目创建 pull request 来回馈社区。
- 为了构建一个专门针对您的组织的内容应用程序,我们强烈建议您一开始只保留与您的组织相关的检测,并删除与您的组织无关的其他 yaml 文件。这包括选择检测、stories、宏(macros)以及检测 ymls 使用的查找。
- 如果您的检测使用宏和查找,请确保您在这些目录中拥有相同的宏和查找。这将确保内容应用程序是自包含的,并且不依赖外部文件。
- 我们建议您在开发此内容时遵循 `contentctl` 工具产生的错误。这些错误具有足够的描述性,可以指导您获取正确的值。如果您需要帮助,请在 `contentctl` 仓库中打开 GitHub issue 或参考 [yaml-spec](docs/yaml-spec) 以查看允许值的列表。
# YAML 规范 📄
YAML 规范定义了项目中使用的各种 YAML 配置文件的结构和必填字段。这些规范确保了不同类型 YAML 文件(如宏、查找和分析案例)的一致性和验证。每个规范概述了预期的数据类型、描述以及字段是否为强制性,为开发人员提供了清晰的 schema 以供遵循。
- [detection](https://github.com/splunk/security_content/blob/develop/docs/yaml-spec/detection_spec.yml)
- [stories](https://github.com/splunk/security_content/blob/develop/docs/yaml-spec/stories_spec.yml)
- [macros](https://github.com/splunk/security_content/blob/develop/docs/yaml-spec/macros_spec.yml)
- [lookups](https://github.com/splunk/security_content/blob/develop/docs/yaml-spec/lookups_spec.yml)
# 内容组成部分 🧩
* [detections/](detections/): 包含迄今为止所有不断增长的检测搜索。
* [stories/](stories/): 所有 Analytic Stories,即分组检测,也称为用例
* [deployments/](deployments/): 所有内容的计划和警报操作配置
* [playbooks/](playbooks/): 用于响应特定用例或威胁的事件响应 Playbooks/工作流。
* [baselines/](baselines/): 在检测运行之前必须执行的搜索。它对于在运行检测之前收集系统上的数据特别有用。
* [investigations/](investigations/): 进一步分析检测输出的调查。有关更多信息,您可以参考 [Splunk Enterprise Security 关于时间线的文档](https://help.splunk.com/en/splunk-enterprise-security-7/user-guide/7.3/investigations/investigations-in-splunk-enterprise-security)。
* [macros/](macros/): 实现 Splunk 的搜索宏,即常用搜索模式(如 sysmon source type)的快捷方式。更多关于如何使用宏来自定义内容的信息见下文。
* [lookups/](lookups/): 实现 Splunk 的查找,通常用于提供静态值列表,如常用的勒索软件扩展名。
* [data_sources/](data_sources/): 定义数据源、收集数据所需的 TA 或 App 以及检测可以使用的提供的字段。
# MITRE ATT&CK ⚔️
### 检测覆盖范围
要查看所有标记有 MITRE 技术的内容的最新检测覆盖范围图,请访问:[https://mitremap.splunkresearch.com/](https://mitremap.splunkresearch.com/) 下的 **Detection Coverage** 层。下面是我们目前具有一定检测覆盖范围的技术的时间快照。
# 贡献 🥰
我们欢迎来自社区的反馈和贡献!请参阅我们的 [contribution to the project](./.github/CONTRIBUTING.md) 以获取有关如何参与的更多信息。
## 支持 💪
如果您是拥有有效支持权利合同的 Splunk Enterprise 客户,并且有 Splunk 相关的问题,您可以在 https://www.splunk.com/ 支持门户上打开支持案例。
请使用 [GitHub Issue Tracker](https://github.com/splunk/security_content/issues) 使用模板直接向 Threat Research 团队提交错误或功能请求。
如果您有问题或需要支持,您可以:
* 在 [Splunk Answers](http://answers.splunk.com) 上发布问题
* 加入 [Splunk Community Slack.](https://splk.it/slack) 中的 [#security-research](https://splunkcommunity.slack.com/archives/CDNHXVBGS) 频道。
## 许可证
版权所有 2022 Splunk Inc.
根据 Apache 许可证 2.0 版(“许可证”)获得许可;
除非遵守本许可证,否则您不得使用本文件。
您可以在以下网址获取许可证副本
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件
是按“原样”分发的,
没有任何形式的明示或暗示的保证或条件。
请参阅许可证以了解管理权限和
限制的具体语言。
标签:AMSI绕过, Apex, CIS 控制, Cloudflare, MITRE ATT&CK, SOAR, Splunk Phantom, 分析故事, 威胁检测, 安全内容, 安全编排与自动化, 安全调查, 攻击模拟, 机器学习, 网络安全, 网络安全研究, 网络杀伤链, 逆向工具, 隐私保护, 驱动签名利用