Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
brawl-public-game-001 — Данные из автоматизированного упражнения по эмуляции атакующего BRAWL | Kitploit
Инструменты/GitHubGitHub/mitre/brawl-public-game-001
Фреймворки для пентестаЦифровая криминалистикаБезопасность облачных средРазведка угрозОбучение и ОбразованиеRed TeamingРеагирование на ИнцидентыАнализ ЖурналовСостязательная АтакаЛаборатории и Практика
GitHubmitre/brawl-public-game-001
21539168 лет назадПроверено Kitploit

brawl-public-game-001

Данные из автоматизированного упражнения по эмуляции атакующего 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, который автоматизирует действия по эмуляции противника на основе информации из модели Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK). Он реализует набор тактик и техник ATT&CK и использует систему планирования (https://dl.acm.org/citation.cfm?id=2991111) для автоматизации применения этих техник и генерации посткомпрометационного поведения противника в корпоративной сети.

Эти данные публикуются под лицензией Creative Commons BY License.

Описание сети и сенсоров

Наша небольшая корпоративная сеть представляет собой плоскую сеть, состоящую из контроллера домена (dc.brawlco.com) и 16 рабочих станций. Каждый ПК имеет имя основного пользователя в имени ПК (например, пользователь beane обычно входит в beane-pc). Этот пользователь имеет права локального администратора на компьютере.

Все ПК работают под управлением Windows 8.1. Контроллер домена работает под управлением Windows Server 2012 R2.

На ПК с Windows 8 мы внесли изменения для включения 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_eventЖурналы событий Windows
computer_propertiesДанные, собранные с помощью пользовательских скриптов, которые предоставляют информацию о компьютерах в сети
bsfДействия красных ботов в формате BRAWL Shared Format (BSF)

BRAWL Shared Format

Красные и синие боты могут записывать информацию о своих действиях или обнаружениях в формате BRAWL Shared Format (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Уникальный идентификатор события
game_idУникальный идентификатор игры для этого упражнения.
typeТип события. Для этих записей всегда game_metadata
hostsСписок хостов, которые были частью упражнения и «находились в пределах» для красного бота
randomization_seedНачальное значение, которое может использоваться участниками ботов BRAWL для реализации «случайного» поведения, одинакового при разных запусках BRAWL
starting_hostХост, с которого начинает красный бот.

sysmon

Имя поляОписание
@timestampВремя, связанное с событием. См. примечание о времени выше.
@uuidУникальный идентификатор события
typeТип события. Для этих записей всегда sysmon
game_idУникальный идентификатор игры для этого упражнения.
data_model.objectCAR объект, с которым выполняется действие.
data_model.actionCAR действие, выполняемое над объектом. Это поле является массивом, поскольку некоторые события могут соответствовать более чем одному действию в модели данных CAR. Примером этого являются события создания удаленного потока.
data_model.fields.*Поля, соответствующие данной паре объект/действие.
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Уникальный идентификатор события
typeТип события. Для этих записей всегда win_event
game_idУникальный идентификатор игры для этого упражнения.
hostХост, записавший событие
rawЗапись журнала событий Windows в исходном формате XML
data_model.fields.log_nameИмя журнала Windows (Application, System или Security)
data_model.fields.log_typeТип журнала для данного log_name

computer_properties

Имя поляОписание
@timestampВремя, связанное с событием. См. примечание о времени выше.
@uuidУникальный идентификатор события
typeТип события. Для этих записей всегда computer_properties
game_idУникальный идентификатор игры для этого упражнения.
hostИмя компьютера, на котором выполнялся скрипт
netinfoКоллекция объектов netinfo
netinfo.DNSServersКоллекция DNS-резолверов, настроенных для этого хоста
netinfo.GatewayШлюз для этого интерфейса
netinfo.IPAddressIP-адреса для этого интерфейса
netinfo.IsDHCPEnabledВключен ли DHCP?
netinfo.MACAddressMAC-адрес для этого интерфейса
netinfo.SubnetMaskМаска подсети для соответствующих IP-адресов
pcinfoОбъект, описывающий информацию о ПК
pcinfo.AssetTagИнвентарный номер, если доступен
pcinfo.CPUИнформация о CPU
pcinfo.ChassisTypeНе используется в BRAWL. «Unknown»
pcinfo.DisksИнформация о подключенных дисках
pcinfo.DomainNameДомен, частью которого является система
pcinfo.LastBootUpTimeВремя загрузки системы
pcinfo.MemoryИнформация о памяти системы
pcinfo.OSИнформация о работающей ОС
pcinfo.SerialNumberСерийный номер оборудования
timeВремя выполнения скрипта
userinfoМассив объектов userinfo, описывающих пользователей, которые входили в систему с момента последней загрузки
userinfo.AuthenticationPackageПакет аутентификации, использованный для проверки подлинности
userinfo.DomainДомен (или локальный ПК), которому принадлежит учетная запись
userinfo.LogonIdИдентификатор входа
userinfo.LogonTimeВремя входа
userinfo.LogonTypeКонстанты типа входа Windows

Эти данные собирались периодически с помощью модуля unified_json.ps1 из PowerShell Utilities for Security Situational Awareness MITRE. Поле userinfo может быть полезно для определения того, какие учетные данные могли быть скомпрометированы, если на системе выполнялся сборщик учетных данных, такой как Mimikatz.

bsf

Имя поляОписание
@timestampВремя, связанное с событием. См. примечание о времени выше.
@uuidУникальный идентификатор события
typeТип события. Для этих записей всегда bsf_events
game_idУникальный идентификатор игры для этого упражнения.
bsfМассив событий BSF, описывающих активность бота. Поля для этого массива описаны более подробно ниже.
bsf_versionВерсия схемы BSF, используемая для массива событий bsf
producer_idБот, создавший эти данные BSF.

Объекты внутри поля массива bsf имеют тип operation, step или event. Все объекты имеют поле nodetype, которое можно использовать для определения типа объекта.

Объект BSF типа event

ПолеОписание
idУникальный идентификатор каждого события.
nodetypeТип этого узла. Один из: {"operation", "step", "event"}.
hostИмя хоста или IP-адрес, на котором было выполнено/обнаружено это событие.
timeПримечание: Должно быть указано хотя бы одно из следующих трех временных полей (т.е. "time", "happened_after" или "happened_before"). Особенно желательно "time"; все три приветствуются. См. примечание 1 в общих примечаниях BSF ниже.

Примечание о формате времени: вся информация о времени должна быть в формате ISO 8601. Более конкретно: 'yyyy-mm-ddThh:nn:ss.llll00'. Где y — год, m — месяц, d — день, h — час, n — минуты, s — секунды, l — миллисекунды (и два завершающих нуля). Например: 2017-02-22T18:38:14.060000

Опционально: Оценка времени, когда произошло это событие.
happened_afterОпционально: Нижняя граница («левая временная скобка») для неопределенности во «time».
happened_beforeОпционально: Верхняя граница («правая временная скобка») для неопределенности во «time».
confidenceОпционально: Позволяет синим ботам указать уверенность (действительное число от 0,0 до 1,0) в связи этого события с атакой.
objectОбъект, с которым выполнено действие; см. таблицу ниже для допустимых значений. Основано на CAR Data Model
actionДействия для данного объекта. Основано на CAR Data Model
specific_field_1 .. N1-N описательных атрибутов (см. ниже). Основано на CAR Data Model

Информация об объекте/действии/полях для объектов Event

ОбъектДействиеОбязательное(ые) поле(я)Необязательное(ые) поле(я)
processcreate
terminate
scanned
Как минимум одно из:
     {pid, command_line, exe, image_path}
fqdn
hostname
md5_hash
parent_exe
parent_image_path
ppid
sha1_hash
sha256_hash
sid
signer
user
flowstart
end
message
Как минимум одно из:
    {src_hostname,src_ip}
Как минимум одно из:
    {dest_hostname, dest_ip}
Как минимум одно из:
     {src_port, dest_port, protocol}
content
dest_fqdn
exe
flags
fqdn
hostname
image_path
packet_count
pid
ppid
proto_info
src_fqdn
user
filecreate
delete
modify
read
timestomp
write
file_pathcompany
file_name
fqdn
hostname
image_path
md5_hash
pid
ppid
sha1_hash
sha256_hash
signer
user

Вы можете узнать больше о семантике обязательных и необязательных полей, найдя соответствующий объект в CAR Data Model.

Объект BSF типа step

Объекты шага объединяют одно или несколько событий в группировку более высокого уровня. Объекты шага также предоставляют место для эмиттеров BSF, чтобы помечать активность метками ATT&CK.

Имя поляОписание
idУникальный идентификатор шагов операции.
nodetypeТип этого узла. Один из: {"operation", "step", "event"}.
attack_infoМассив объектов техники (определены в таблице ниже), описывающих, как этот шаг связан с таксономией ATT&CK. Почему массив? Хотя одна техника часто описывает шаг и все его события, в некоторых случаях может быть реализовано несколько техник.
attack_info.technique_idИдентификатор техники ATT&CK (например, "T1059"), описывающий механизм атаки, использованный красным в этом шаге и связанных с ним событиях.
attack_info.technique_nameЧеловекочитаемая строка, описывающая эту технику (например, "Command-Line Interface").
attack_info.tacticМассив одной или нескольких меток тактик ATT&CK, описывающих намерение/стратегию этой техники. (Обратите внимание, что одна техника может реализовывать несколько тактик.) Например: ["Lateral Movement", "Execution"]
descriptionОпционально: Здесь могут быть примечания или аннотации к этому шагу.
eventsМассив идентификаторов объектов event, составляющих этот шаг.

Объект BSF типа operation

Объекты операции объединяют несколько объектов шага вместе. Однако в этом наборе данных нет объектов Operation.

Общие примечания BSF

Описания и примечания для полей событий (особенно для «Как минимум одно из»):1. Поля времени.

  1. Точечное время. Такие действия, как удаление файла, по сути являются точечными, имеющими единственный момент времени, который может быть указан в поле time. Однако возможно, что ни красная, ни синяя сторона не будет знать точную временную метку. Например, красные боты могут запускать процесс для выполнения некоторого действия в пределах временного окна, но точное время выполнения действия неизвестно. Синие боты могут использовать датчики, которые вызывают задержки обнаружения. Таким образом, BSF также предоставляет два поля времени happened_after и happened_before в качестве левой и правой временных границ соответственно, определяя интервал неопределенности для фактического события. По крайней мере одно из этих трех полей (т.е. time, happened_after, happened_before) должно быть указано в каждом объекте event. Остальные поля необязательны, но должны быть указаны, если они известны. В частности, ботов призывают указывать значение "time" как их наилучшую оценку, даже если у них нет точного времени.
  2. Длительное время. Такие действия, как поток, являются длительными по своей природе, охватывая период времени. BSF обычно обрабатывает длительные действия, записывая конечные точки их интервала как точечные моменты времени. Таким образом, событие начала потока требует одного из {time, happened_after, happened_before}, равно как и событие окончания потока. Однако некоторые синие датчики могут обнаружить длительное действие в середине (например, сканер, который периодически сканирует состояние всех процессов и определяет, что один из них стал вредоносным). Для потоков обнаружения в середине действия могут быть сообщены как "flow, message, time, ... (other fields)". Для процессов обнаружения в середине действия могут быть сообщены как "process, scanned, time, ... (other fields)".
  3. Идентификация процесса. В идеале для идентификации процесса используется pid, однако pid известен не всегда, особенно красному боту. В качестве альтернативы можно указать command_line, запустившую процесс, или exe / image_path, который был выполнен.
  4. Порты потоков. Исходные и целевые порты в потоках могут быть описаны либо именем хоста, либо IP-адресом.
  5. В этом наборе данных единственным участвующим ботом является CALDERA, поэтому единственными присутствующими записями BSF являются записи от CALDERA.

Приложение

Хосты в нашей сети BRAWL для этой игры:

  • beane-pc.brawlco.com
  • colgan-pc.brawlco.com
  • dc.brawlco.com
  • escue-pc.brawlco.com
  • fulco-pc.brawlco.com
  • harley-pc.brawlco.com
  • kressierer-pc.brawlco.com
  • mims-pc.brawlco.com
  • minahan-pc.brawlco.com
  • ostermeyer-pc.brawlco.com
  • peele-pc.brawlco.com
  • platten-pc.brawlco.com
  • santilli-pc.brawlco.com
  • sespinosa-pc.brawlco.com
  • sounder-pc.brawlco.com
  • teston-pc.brawlco.com
  • zissler-pc.brawlco.com
Скачать инструмент
userinfo.LogonTypeNameОписание типа входа
userinfo.UserNameИмя пользователя, выполняющего вход