开源项目教程:splunk/attack_data

开源项目教程: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: 数据集的 UUID
  • name: 作者名称
  • 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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值