开源项目教程:splunk/attack_data
1. 项目介绍
splunk/attack_data 是一个开源项目,旨在为安全研究人员和开发人员提供一系列精选的数据集,这些数据集来源于各种攻击场景。这些数据集可以帮助用户在不从零开始构建环境或模拟攻击的情况下,轻松开发和测试检测工具,特别是针对 Splunk 的安全内容。
2. 项目快速启动
环境准备
在开始之前,确保您的系统中已经安装了 Git 和 Git LFS。对于 macOS 用户,可以使用 Homebrew 安装 Git LFS:
brew install git-lfs
然后,使用以下命令安装 Git LFS(推荐使用 --skip-smudge 参数,以避免在 git clone 时下载所有 Git LFS 文件):
git lfs install --skip-smudge
克隆仓库
克隆仓库以获取项目文件:
git clone https://github.com/splunk/attack_data.git
获取数据集
项目使用 Git LFS 管理大型数据文件。以下命令将下载所有数据集(注意:这将下载超过 9Gb 的数据):
git lfs pull
如果您只想获取特定的数据集或文件,可以使用以下命令:
git lfs pull --include=datasets/attack_techniques/T1003.001/atomic_red_team/
# 或者仅下载一个日志文件
git lfs pull --include=datasets/attack_techniques/T1003.001/atomic_red_team/windows-sysmon.log
3. 应用案例和最佳实践
数据集结构
每个数据集都定义了一个共同的 YML 结构,包括以下字段:
id: 数据集的 UUIDname: 作者名称date: 最后修改日期dataset: 数据集所在 URL 的数组description: 数据集的详细描述environment: 环境描述的 markdown 文件名technique: 与数据集相关的 MITRE ATT&CK 技术的数组references: 参考数据集的 URL 数组sourcetypes: 数据集中包含的 sourcetypes 数组
数据集重放
大多数生成的数据集将是原始日志文件。以下是将数据集导入 Splunk 的两种主要简单方法:
使用 replay.py
首先,克隆项目仓库,创建虚拟环境并安装 Python 依赖:
git clone git@github.com:splunk/attack_data.git
cd attack_data
pip install virtualenv
virtualenv venv
source venv/bin/activate
pip install -r bin/requirements.txt
下载数据集,配置 bin/replay.yml,然后运行:
python bin/replay.py -c bin/replay.yml
使用 Splunk UI
下载数据集,然后在 Splunk 企业版中添加数据:
- 转到 "添加数据" -> "文件和目录" -> 选择数据集
- 将 sourcetype 设置为 YML 文件中指定的类型
- 探索您的数据
4. 典型生态项目
目前,splunk/attack_data 项目主要是作为一个数据集的仓库,用于支持 Splunk 的安全内容开发。在生态系统中,类似的项目可能会包括:
- 自动化攻击数据生成工具,例如
attack_range - 安全研究人员的协作平台
- 针对特定攻击技术的数据集生成器
这些项目通常都是为了加强网络安全社区的能力,帮助研究人员和开发人员更好地理解和防御各种网络威胁。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



