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

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

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

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

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

Категории

Все категории
Loading categories
BlueTeam.Lab — Лаборатория обнаружения для Blue Team, созданная с помощью Terraform и Ansible в Azure. | Kitploit
Инструменты/GitHubGitHub/op7ic/blueteam.lab
Оборонительные ИнструментыАудит конфигурацииЦифровая криминалистикаТестирование на ПроникновениеБезопасность облачных средОбнаружение ВторженийОбучение и ОбразованиеРеагирование на ИнцидентыАнализ ЖурналовЛаборатории и Практика
GitHubop7ic/blueteam.lab
187231 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

BlueTeam.Lab

Лаборатория обнаружения для Blue Team, созданная с помощью Terraform и Ansible в Azure.

Репозиторий

BlueTeam.Lab

BlueTeam.Lab

Назначение

Этот проект содержит набор скриптов Terraform и Ansible для создания оркестрированной лаборатории BlueTeam. Цель проекта — предоставить красным и синим командам возможность развернуть ad-hoc лабораторию обнаружения для тестирования различных атак и криминалистических артефактов в новейшей среде Windows, а затем получить представление о сгенерированных данных, похожее на 'SOC'.

ПРИМЕЧАНИЕ: Эта лаборатория намеренно спроектирована небезопасной. Пожалуйста, не подключайте эту систему к любой сети, о которой вы заботитесь.


Структура лаборатории


Предварительные требования

Для использования этой настройки на вашей системе должны быть установлены некоторые компоненты.

root@kitploit:~
# Шаг 1 — Установите Azure CLI. Подробнее на https://docs.microsoft.com/ru-ru/cli/azure/install-azure-cli-linux?pivots=apt
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Шаг 2 — Установите Terraform. Подробнее на https://learn.hashicorp.com/tutorials/terraform/install-cli
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform

# Шаг 3 — Установите Ansible. Подробнее на https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt update
sudo apt install ansible

# Шаг 4 — Наконец, установите python и различные пакеты, необходимые для удаленных подключений и других действий
sudo apt install python3 python3-pip
pip3 install pywinrm requests msrest msrestazure azure-cli
pip3 install -r https://raw.githubusercontent.com/ansible-collections/azure/refs/heads/dev/requirements.txt

Сборка и развертывание BlueTeam.Lab

После установки всех предварительных требований выполните следующие шаги:

root@kitploit:~
# Войдите в Azure из командной строки, чтобы убедиться, что токен доступа действителен
az login

# Клонируйте репозиторий и перейдите в папку BlueTeam.Lab
git clone https://github.com/op7ic/BlueTeam.Lab.git && cd BlueTeam.Lab

# Инициализируйте Terraform и начните планирование
terraform init && terraform plan

# Создайте свою лабораторию с помощью следующей команды.
terraform apply -auto-approve

# Проверьте структуру вашего окружения с помощью Ansible
cd ansible && ANSIBLE_CONFIG=./ansible.cfg ansible-inventory --graph -i inventory.azure_rm.yml -vvv && cd ../

# Чтобы просмотреть IP-адреса отдельных хостов и другие детали настройки, используйте следующую команду:
cd ansible && ANSIBLE_CONFIG=./ansible.cfg ansible-inventory -i inventory.azure_rm.yml -vvv --list && cd ../

# После завершения уничтожьте лабораторию с помощью следующей команды:
terraform destroy -auto-approve

# Если вы хотите замерить время выполнения, используйте следующую команду:
start_time=`date +%s` && terraform apply -auto-approve && end_time=`date +%s` && echo execution time was `expr $end_time - $start_time` s

# ПРИМЕЧАНИЕ: На полную настройку уйдет около двух часов, в зависимости от выбранного оборудования.

Развертывание различных версий Windows

Переменные Terraform (variables.tf) задают типы операционных систем, используемых для этого развертывания. Простое изменение переменных времени выполнения позволяет указать другую ОС для работы всего Active Directory (AD). По умолчанию используется Windows 10 Enterprise для рабочих станций и Windows Server 2019 Datacenter для контроллера домена. Вот несколько примеров распространенных вариантов конфигурации, которые можно использовать для изменения всего окружения на разные версии ОС:

root@kitploit:~
# Использовать Windows 10 Enterprise для рабочих станций и Server 2019 Datacenter для DC (вариант по умолчанию)
terraform apply -auto-approve

# Использовать Windows 11 Enterprise для рабочих станций и Server 2019 Datacenter для DC
terraform apply -auto-approve  -var="workstation_os=Windows-11" -var="workstation_SKU=win11-21h2-ent" -var="workstations_vm_size=Standard_DC2s_v2" 

# Использовать Windows 11 Enterprise для рабочих станций и Server 2012 Datacenter для DC
terraform apply -auto-approve -var="workstation_os=Windows-11" -var="workstation_SKU=win11-21h2-ent" -var="workstations_vm_size=Standard_DC2s_v2" -var="dc_os=WindowsServer" -var="dc_SKU=2012-Datacenter"

# Использовать Windows 11 Enterprise для рабочих станций и Server 2016 Datacenter для DC
terraform apply -auto-approve -var="workstation_os=Windows-11" -var="workstation_SKU=win11-21h2-ent" -var="workstations_vm_size=Standard_DC2s_v2" -var="dc_os=WindowsServer" -var="dc_SKU=2016-Datacenter"

# Использовать Windows 10 Pro N для рабочих станций и Server 2012 Datacenter для DC
terraform apply -auto-approve -var="workstation_os=Windows-10" -var="workstation_SKU=21h1-pron" -var="dc_os=WindowsServer" -var="dc_SKU=2012-Datacenter"

Команда az vm image list может быть использована для определения различных версий ОС для развертывания.


Возможности

  • Windows AD с двумя рабочими станциями, подключенными к домену Windows в конфигурации по умолчанию.
  • Гибкий файл конфигурации домена, позволяющий легко вносить изменения в базовую конфигурацию.
  • Политики аудита настроены на основе руководства CIS для повышения видимости событий в инфраструктуре Windows. Auditpol используется для настройки дополнительных параметров, а журналы транскрипции PowerShell включены.
  • Sysmon64 развернут в инфраструктуре с использованием последней конфигурации SwiftOnSecurity для устройств Windows.
  • Сервер Wazuh настроен и работает для сбора журналов с устройств.
  • Агенты Wazuh настроены в инфраструктуре и передают данные на сервер Wazuh.
  • Брандмауэр настроен на разрешение доступа к развернутым системам только с вашего собственного IP-адреса.
  • OSQuery и FleetDM установлены в инфраструктуре, используя шаблоны конфигурации от Palantir.
  • Сервер Velocidex Velociraptor настроен и работает.
  • Агенты Velocidex Velociraptor настроены в инфраструктуре и передают данные на сервер Velociraptor.
  • WinLogBeat настроен на отправку данных в экземпляр Elastic.
  • LokiToWinEventLog — сканер Loki настроен на запись данных в журнал событий Windows каждые 3 часа и отправку данных в экземпляр Elastic, установленный вместе с сервером Wazuh.

Документация

В следующем разделе описываются различные компоненты, из которых состоит эта лаборатория, а также подробности о том, как изменить файлы конфигурации для модификации настройки:

  • OSQuery и Fleetdm Server
  • Wazuh Server и Wazuh Agent
  • Sysmon
  • WinLogBeat
  • Velociraptor Server и Velociraptor Agent
  • Участники домена

Учетные данные

После создания лаборатории Terraform выведет фактическое расположение систем и связанные с ними учетные данные. Пример вывода приведен ниже.

root@kitploit:~
Настройка сети:

Domain Controller = xx.xx.xx.xx
Workstation DETECTION1: xx.xx.xx.xx
Workstation DETECTION2: xx.xx.xx.xx
Wazuh Server IP = xx.xx.xx.xx
Wazuh Web Interface = https://xx.xx.xx.xx:443/
Velociraptor Web Inteface: = https://xx.xx.xx.xx:10000/
FleetDM Web Interface: = https://xx.xx.xx.xx:9999/

Учетные данные:

Domain Admin:
    blueteam.lab\blueteam BlueTeamDetection0%%%
Local Admin on Workstations:
    blueteam BlueTeamDetection0%%%
Wazuh Server SSH Login:
    blueteam BlueTeamDetection0%%%
Wazuh Logins:
    wazuh  BlueTeamDetection0%%%
    admin  BlueTeamDetection0%%%
    kibanaserver  BlueTeamDetection0%%%
    kibanaro  BlueTeamDetection0%%%
    logstash  BlueTeamDetection0%%%
    readall  BlueTeamDetection0%%%
    snapshotrestore  BlueTeamDetection0%%%
    wazuh_admin  BlueTeamDetection0%%%
    wazuh_user  BlueTeamDetection0%%%
Velociraptor Web Inteface Login:
    blueteam BlueTeamDetection0%%%
FleetDM Web Inteface Login:
    [email protected] BlueTeamDetection0%%%

RDP to Domain Controller:
xfreerdp /v:xx.xx.xx.xx /u:blueteam.lab\\blueteam '/p:BlueTeamDetection0%%%' +clipboard /cert-ignore

RDP to Workstation DETECTION1: xx.xx.xx.xx
xfreerdp /v:xx.xx.xx.xx /u:blueteam '/p:BlueTeamDetection0%%%' +clipboard /cert-ignore

RDP to Workstation DETECTION2: xx.xx.xx.xx
xfreerdp /v:xx.xx.xx.xx /u:blueteam '/p:BlueTeamDetection0%%%' +clipboard /cert-ignore

Конфигурация брандмауэра

В следующей таблице приведен набор правил брандмауэра, применяемых в среде BlueTeamLab в конфигурации по умолчанию. Измените файл main.tf, чтобы добавить новые правила брандмауэра по мере необходимости в разделе Firewall Rule Setup.

Внутри этой среды в конфигурации по умолчанию используются следующие статические IP-адреса и имена хостов в диапазоне 10.0.0.0/16:


Конфигурация пользователей

Во время установки создаются следующие учетные данные по умолчанию. После завершения полного процесса развертывания будет отображена распечатка фактически настроенных учетных данных.

Чтобы изменить учетные данные по умолчанию, измените имена пользователей и пароли в файле domain_setup.yml.

Скриншоты

Участие

Вклады, исправления и улучшения могут быть отправлены напрямую для этого проекта в виде проблемы GitHub или запроса на включение изменений.

Структура каталогов

root@kitploit:~
| - ansible
|  | - ansible.cfg
|  | - domain-controller.yml
|  | - domain-member.yml
|  | - domain_setup.yml
|  | - group_vars
|  |  | - all
|  |  | - wazuh
|  | - inventory.azure_rm.yml
|  | - roles
|  |  | - domain-controller
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  | - domain-member
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  | - fleetserver
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  |  | - templates
|  |  |  |  | - config.yml.j2
|  |  |  |  | - ssl.crt
|  |  |  |  | - ssl.key
|  |  |  |  | - systemd-fleetm.service.j2
|  |  | - monitor
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  | - osqueryagent
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  |  | - templates
|  |  |  |  | - osquery.conf
|  |  |  |  | - osquery.flags.j2
|  |  |  |  | - osquery.key.j2
|  |  |  |  | - ssl.crt
|  |  |  |  | - ssl.key
|  |  |  | - vars
|  |  |  |  | - main.yml
|  |  | - sysmon
|  |  |  | - handlers
|  |  |  |  | - main.yml
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  |  | - vars
|  |  |  |  | - main.yml
|  |  | - velociraptorclient
|  |  |  | - tasks
|  |  |  |  | - main.yaml
|  |  |  | - templates
|  |  |  |  | - clientconfig.yml.j2
|  |  |  | - vars
|  |  |  |  | - main.yml
|  |  | - velociraptorserver
|  |  |  | - tasks
|  |  |  |  | - main.yaml
|  |  |  | - templates
|  |  |  |  | - serverconfig.yml.j2
|  |  |  |  | - systemd-velociraptor.service.j2
|  |  |  | - vars
|  |  |  |  | - main.yml
|  |  | - wazuhagent
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  |  | - templates
|  |  |  |  | - ossec.conf.j2
|  |  |  | - vars
|  |  |  |  | - main.yml
|  |  | - wazuhserver
|  |  |  | - tasks
|  |  |  |  | - main.yaml
|  |  |  | - templates
|  |  |  |  | - sysmon_rules.xml
|  |  |  |  | - unattended-installation.sh
|  |  |  |  | - wazuh-passwords-tool.sh.j2
|  |  | - winlogbeat
|  |  |  | - tasks
|  |  |  |  | - main.yml
|  |  |  | - templates
|  |  |  |  | - config.yml.j2
|  |  |  | - vars
|  |  |  |  | - main.yml
|  | - wazuh-server.yml
| - documentation
|  | - osquery.md
|  | - pic
|  |  | - map.png
|  |  | - wazuh-logs.PNG
|  |  | - wazuh-pdc.PNG
|  |  | - winlogbeat.PNG
|  | - sysmon.md
|  | - velociraptor.md
|  | - wazuh.md
|  | - winlogbeat.md
|  | - winmember.md
| - main.tf
| - README.md
| - terraform.tfstate
| - terraform.tfstate.backup
| - variables.tf

Часто задаваемые вопросы

  • Я получаю Disk wks-1-os-disk already exists in resource group BLUETEAM-LAB. Only CreateOption.Attach is supported. или что-то похожее на эту ошибку.

    • Повторно выполните команды terraform terraform destroy -auto-approve && terraform apply -auto-approve, чтобы уничтожить и воссоздать лабораторию. Эта ошибка, похоже, возникает, когда Azure не очищает все диски должным образом, поэтому остаются ресурсы с тем же именем.
  • Я получаю Operation 'startTenantUpdate' is not allowed on VM 'domain-controller' since the VM is marked for deletion. You can only retry the Delete operation (or wait for an ongoing one to complete). или что-то похожее на эту ошибку.

    • Повторно выполните команды terraform terraform destroy -auto-approve && terraform apply -auto-approve, чтобы уничтожить и воссоздать лабораторию. Эта ошибка, похоже, возникает, когда Azure не очищает все ресурсы должным образом, поэтому остаются остатки, которые необходимо уничтожить перед созданием лаборатории из-за конфликтов имен и/или расположений.
  • Я получаю Network security group windows-nsg cannot be deleted because old references for the following Nics или что-то похожее на эту ошибку.

    • Повторно выполните команды terraform terraform destroy -auto-approve && terraform apply -auto-approve, чтобы уничтожить и воссоздать лабораторию. Эта ошибка, похоже, возникает, когда Azure не очищает все ресурсы должным образом, поэтому остаются остатки, которые необходимо уничтожить перед созданием лаборатории из-за конфликтов имен и/или расположений.

Источники вдохновения и благодарности

Значительная часть этого кода была заимствована и адаптирована из Adaz Кристофа Тафани-Дерепера. Огромное спасибо за создание основы, которая позволила мне спроектировать эту лабораторную среду.

Скачать инструмент
  • Pe-SieveToWinEventLog — сканер Pe-Sieve настроен на запись данных в журнал событий Windows каждые 3 часа и отправку данных в экземпляр Elastic, установленный вместе с сервером Wazuh.
  • Имя правилаГруппа безопасности сетиИсходный хостИсходный портЦелевой хостЦелевой порт
    Allow-RDPwindows-nsgВаш публичный IP*PDC-1, DETECTION1, DETECTION23389
    Allow-WinRMwindows-nsgВаш публичный IP*PDC-1, DETECTION1, DETECTION25985
    Allow-WinRM-securewindows-nsgВаш публичный IP*PDC-1, DETECTION1, DETECTION25986
    Allow-SMBwindows-nsgВаш публичный IP*PDC-1, DETECTION1, DETECTION2445
    Allow-SSHwazuh-nsgВаш публичный IP*Wazuh22
    Allow-Wazuh-Managerwazuh-nsgВаш публичный IP*Wazuh1514-1516
    Allow-Wazuh-Elasticsearchwazuh-nsgВаш публичный IP*Wazuh9200
    Allow-Wazuh-APIwazuh-nsgВаш публичный IP*Wazuh55000
    Allow-Elasticsearch-Clusterwazuh-nsgВаш публичный IP*Wazuh9300-9400
    Allow-Wazuh-GUIwazuh-nsgВаш публичный IP*Wazuh443
    Allow-Velociraptor-Client-Connectionswazuh-nsgВаш публичный IP*Wazuh8000
    Allow-Velociraptor-GUIwazuh-nsgВаш публичный IP*Wazuh10000
    Allow-Fleet-GUIwazuh-nsgВаш публичный IP*Wazuh9999
    ХостРольВнутренний IP
    PDC-1Основной контроллер домена10.0.10.10
    WazuhСервер Wazuh, также размещает установку Velocidex Velociraptor и FleetDM10.0.10.100
    DETECTION1Рабочая станция Windows 10 110.0.11.11
    DETECTION2Рабочая станция Windows 10 210.0.11.12
    ХостЛогинПарольРоль
    PDC-1blueteam.lab\blueteamBlueTeamDetection0%%%Администратор домена для домена blueteam.lab
    DETECTION1localadministratorBlueTeamDetection0%%%Локальный администратор рабочей станции DETECTION1
    DETECTION2localadministratorBlueTeamDetection0%%%Локальный администратор рабочей станции DETECTION2
    WazuhblueteamBlueTeamDetection0%%%Учетные данные SSH для сервера Wazuh
    WazuhwazuhBlueTeamDetection0%%%Администратор Wazuh
    WazuhadminBlueTeamDetection0%%%Администратор Wazuh
    WazuhkibanaserverBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    WazuhkibanaroBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    WazuhlogstashBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    WazuhreadallBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    WazuhsnapshotrestoreBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    Wazuhwazuh_adminBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    Wazuhwazuh_userBlueTeamDetection0%%%Сервисная учетная запись Wazuh
    WazuhblueteamBlueTeamDetection0%%%Логин веб-портала Velociraptor
    Wazuh[email protected]BlueTeamDetection0%%%Логин веб-портала FleetDM
  • Почему Azure?

    • Бесплатные кредиты доступны с пробной учетной записью
  • Как изменить сетевые сегменты, размер развертывания или другие переменные?

    • Измените файл переменных Terraform (variables.tf), чтобы изменить настройку. Кроме того, каждую переменную можно изменить во время выполнения, добавив -var к terraform apply. Например, terraform apply --auto-approve -var="region=East US 2" изменит регион на отличный от заданного по умолчанию в файле variables.tf. Всю настройку, включая диапазоны сетей, операционные системы и размер виртуальной машины, можно изменить, используя цепочку параметров -var.
  • Как найти SKU для конкретного развертывания?

    • Используйте команду Azure az vm list-skus --location westeurope --all --output table, чтобы найти доступные для вашего развертывания SKU.
  • Я получаю Max retries exceeded with url: /wsman, и затем соединение отклоняется при сборке системы.

    • К сожалению, ограничения WinRM означают, что иногда WinRM перестает работать должным образом, и вместо этого соединения зависают. В результате выполнение может вести себя некорректно. Перезапустите terraform apply -auto-approve, чтобы восстановить поврежденный хост.