Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
brawl-public-game-001 — 来自 BRAWL 自动对手模拟演习的数据 | Kitploit
工具/GitHubGitHub/mitre/brawl-public-game-001
渗透测试框架数字取证云安全威胁情报学习与教育红队事件响应日志分析对抗性攻击实验室与实践
GitHubmitre/brawl-public-game-001

brawl-public-game-001

21539298年前Kitploit 审核通过

来自 BRAWL 自动对手模拟演习的数据

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

BRAWL

网络安全研究人员开发检测和响应能力时面临的一个挑战性问题是,寻找一个逼真的环境来测试其假设和能力。

最廉价的方法是在小型实验室网络上测试能力。但这种环境缺乏真实企业网络的规模以及真实环境中的噪声,而这些噪声使得检测变得困难得多。在许多方面,最佳环境是在多个企业级网络上进行测试,同时具有受控但逼真的攻击者以及来自用户、系统管理员和第三方软件/设备的真实噪声。在这种环境中测试的挑战在于成本高昂,并且在某些场景下风险很高。

BRAWL 旨在通过创建一个系统,在云环境中自动构建企业网络来达成一种折衷方案。目前仅支持 OpenStack 环境,但其设计方式便于将来轻松支持其他云环境。BRAWL 还构建了一个分析网络,其中包含使用 LogStash 和 Kafka 的数据摄取与处理管道。作为分析网络的一部分,它还创建了一个使用 Elasticsearch 和 Kibana 的事件存储与搜索系统。BRAWL 使用 Windows 镜像启动一个企业网络“游戏棋盘”。这些镜像已预安装并配置了 Microsoft Sysmon 和其他传感器,用于将日志转发到数据摄取框架。

BRAWL 还有一个机器人的概念,可以是红方、蓝方或灰方。红方机器人负责攻击,蓝方机器人负责防御,而灰方机器人模拟合法用户行为以提供噪声,使检测更加困难。当用户想要测试研究假设时,他们会实现一个 BRAWL 机器人。该 BRAWL 机器人会向 BRAWL 控制器注册,然后控制器在游戏棋盘上编排 BRAWL 机器人之间的游戏。

数据发布

注意:由于文件大小和 GitHub 配额的问题,我们将所有文件放入一个 zip 文件中,而不是以纯文本形式保留在 git 仓库中。所有数据都在该文件中。

本次发布包含来自 BRAWL 原型的一些数据。我们创建了一个小型企业网络,如下所述。然后,我们使用 MITRE 的 CALDERA 研究项目作为红方机器人运行了一场游戏。

CALDERA 是一个相关的 MITRE 研究项目,它基于 对抗性战术、技术与常识(ATT&CK) 模型中的信息自动化对手模拟活动。它实现了一组 ATT&CK 战术和技术,并使用规划系统 (https://dl.acm.org/citation.cfm?id=2991111) 来自动化这些技术的执行,并在企业网络中生成妥协后的对手行为。

该数据根据 知识共享署名许可协议 发布。

网络与传感器描述

我们的小型企业网络是一个扁平网络,包含一个域控制器(dc.brawlco.com)和 16 台工作站。每台 PC 的计算机名称都包含了其主要用户名(例如,用户 beane 通常登录 beane-pc)。该用户对该计算机拥有本地管理员权限。

所有 PC 均运行 Windows 8.1。域控制器运行 Windows Server 2012 R2。

在 Windows 8 PC 上,我们通过以下注册表命令启用了 WDigest 以在 LSASS 内存中保留纯文本密码:reg ADD HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1 /F

场景描述

在此次演练中,CALDERA 是唯一参与的 BRAWL 机器人。虽然从概念上讲,BRAWL 可用于测试各种攻击者行为和检测,但 MITRE 的许多研究工作都遵循“假设已遭入侵”的理念。因此,我们在演练开始时就赋予 CALDERA 一个起始点,即作为网络中某台计算机上的本地管理员。

此外,如果没有灰方机器人在不同主机上执行登录操作,从红方机器人可窃取和使用的凭据角度来看,BRAWL 游戏棋盘是“无菌”的。为了实现横向移动,BRAWL 控制器使用 psexec 在主机上使用网络中其他用户的凭据创建登录事件。

CALDERA 在演练中执行了以下 ATT&CK 技术:

  • 账户发现
  • 凭据转储
  • 本地网络配置发现
  • 权限组发现
  • PowerShell
  • 注册表运行键 / 启动文件夹
  • 远程文件复制
  • 远程系统发现
  • Windows 管理共享
  • Windows 管理规范

数据

此仓库中包含五种类型的数据。每种数据都位于 data/ 文件夹中的单独文件中。

数据类型描述
game_metadata描述 BRAWL 场景的数据
sysmon从每台工作站上运行的 Sysmon 收集的数据
win_eventWindows 事件日志
computer_properties从自定义脚本收集的、提供网络中计算机某些信息的数据
bsf红方机器人以 BRAWL 共享格式 (BSF) 记录的操作

BRAWL 共享格式

鼓励红方机器人和蓝方机器人使用 BRAWL 共享格式 (BSF) 记录其活动或检测信息。这样做旨在便于比较蓝方机器人的检测/操作与红方机器人的操作。

该格式目前仍在开发中,可能会在未来的数据集中发生变化。

BSF 的字段在下面的“数据源详情”部分进行了描述。

关于时间的说明

BRAWL 中的不同事件源处理时间的方式不同。时间可能是事件到达日志摄取框架的时间、事件在主机/端点上的生成时间,或者网络上的机器人记录的时间。通常,这些时间相差应在几毫秒内。如果可能,日志摄取框架会使用事件本身包含的事件时间,而不是事件到达摄取节点的时间。下表详细说明了每种数据类型使用的方法。

数据源时间说明
computer_properties来自 time 字段
game_metadata到达摄取框架的时间
sysmon来自 utc_time 字段
win_event从 Windows 事件时间中提取
bsf@timestamp 字段是事件到达摄取框架的时间。但与时间相关的 BSF 字段(例如 happened_after、happened_before 等)则是事件开始或结束的时间,基于 CALDERA 命令与控制服务器上的时间。

数据源详情

game_metadata

字段名描述
@timestamp与事件相关的时间。请参阅上面的时间说明。
@uuid唯一事件 ID
game_id此次演练的唯一 game_id。
type事件类型。对于这些记录,始终为 game_metadata
hosts参与此次演练且红方机器人“可及”的主机列表
randomization_seed一个种子,可供 BRAWL 机器人参与者用于实现“随机”行为,且该行为在 BRAWL 的不同执行之间保持一致
starting_host红方机器人起始所在的主机。

sysmon

字段名描述
@timestamp与事件相关的时间。请参阅上面的时间说明。
@uuid唯一事件 ID
type事件类型。对于这些记录,始终为 sysmon
game_id此次演练的唯一 game_id。
data_model.object被操作的 CAR 对象。
data_model.action对对象执行的 CAR 操作。此字段是一个数组,因为某些事件可能对应 CAR 数据模型中的多个操作。例如,远程线程创建事件。
data_model.fields.*与特定对象/操作对相关的字段。
game_id此次演练的唯一 game_id。
host记录该事件的主机名。

我们使用的是 Sysmon v3.11。sysmon_config.txt 包含 sysmon -c 命令的输出,详细说明了我们的配置。

Sysmon 生成多种不同类型的事件,这些事件映射到不同的 CAR 对象/操作对。每种类型的字段在 CAR 网站上有更详细的说明:https://car.mitre.org/wiki/Data_Model

在我们的配置中,Sysmon 生成的对象/操作对包括:

  • driver/load
  • file/attr_modify
  • flow/start
  • module/load
  • process/create
  • process/terminate
  • thread/create
  • threat/remote_create

请使用 CAR 数据模型 来确定上述每个对象/操作对在 data_model.fields.* 中包含的字段名称和语义。

win_event

字段名描述
@timestamp与事件相关的时间。有关具体计算方式,请参阅下文中的每个事件说明
@uuid唯一事件 ID
type事件类型。对于这些记录,始终为 win_event
game_id此次演练的唯一 game_id。
host记录该事件的主机
rawWindows 事件日志条目的原始 XML 格式
data_model.fields.log_nameWindows 日志名称(应用程序、系统或安全)
data_model.fields.log_type给定 log_name 的日志类型

computer_properties

字段名描述
@timestamp与事件相关的时间。请参阅上面的时间说明。
@uuid唯一事件 ID
type事件类型。对于这些记录,始终为 computer_properties
game_id此次演练的唯一 game_id。
host运行该脚本的计算机名称
netinfonetinfo 对象的集合
netinfo.DNSServers为此主机配置的 DNS 解析器集合
netinfo.Gateway此接口的网关
netinfo.IPAddress此接口的 IP 地址
netinfo.IsDHCPEnabled是否启用了 DHCP?
netinfo.MACAddress此接口的 MAC 地址
netinfo.SubnetMask对应 IP 地址的子网掩码
pcinfo描述 PC 信息的对象
pcinfo.AssetTag资产标签(如果可访问)
pcinfo.CPUCPU 信息
pcinfo.ChassisType在 BRAWL 中未使用。值为 "Unknown"
pcinfo.Disks连接的磁盘信息
pcinfo.DomainName系统所属的域名
pcinfo.LastBootUpTime系统启动时间
pcinfo.Memory系统内存信息
pcinfo.OS正在运行的操作系统信息
pcinfo.SerialNumber硬件序列号
time脚本运行时间
userinfo包含 userinfo 对象的数组,描述自上次启动以来登录过系统的用户
userinfo.AuthenticationPackage用于身份验证的身份验证包
userinfo.Domain账户所属的域(或本地 PC)
userinfo.LogonId登录 ID
userinfo.LogonTime登录时间
userinfo.LogonTypeWindows 登录类型常量
userinfo.LogonTypeNameLogonType 的描述
userinfo.UserName登录主体的用户名

此数据是使用 MITRE 的 用于安全态势感知的 PowerShell 实用工具 中的 unified_json.ps1 模块定期收集的。如果系统上运行了 Mimikatz 这样的凭据转储工具,userinfo 字段可用于确定哪些凭据可能已被泄露。

bsf

字段名描述
@timestamp与事件相关的时间。请参阅上面的时间说明。
@uuid唯一事件 ID
type事件类型。对于这些记录,始终为 bsf_events
game_id此次演练的唯一 game_id。
bsf描述机器人活动的 BSF 事件数组。该数组的字段在下面有更详细的说明。
bsf_version用于 bsf 事件数组的 BSF 模式版本
producer_id生成此 BSF 数据的机器人。

bsf 数组字段内部的对象类型为 operation、step 或 event。所有对象都有一个 nodetype 字段,可用于确定对象类型。

下载工具