Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BlueTeam.Lab — AzureでTerraformとAnsibleを用いたBlue Team検出ラボ | Kitploit
ツール/GitHubGitHub/op7ic/blueteam.lab
防御ツール構成監査デジタルフォレンジックペネトレーションテストクラウドセキュリティ侵入検知学習と教育インシデントレスポンスログ分析ラボと実践
GitHubop7ic/blueteam.lab

BlueTeam.Lab

187231年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AzureでTerraformとAnsibleを用いたBlue Team検出ラボ

リポジトリを見る

BlueTeam.Lab

BlueTeam.Lab

目的

このプロジェクトは、オーケストレーションされたブルーチームラボを作成するための一連の Terraform および Ansible スクリプトを含んでいます。このプロジェクトの目標は、レッドチームとブルーチームに、最新のWindows環境でさまざまな攻撃やフォレンジックアーティファクトをテストし、生成されたデータに対する「SOC的な」ビューを得るためのアドホックな検出ラボを展開する能力を提供することです。

注意: このラボは意図的に安全ではないように設計されています。このシステムをあなたが気にかけているネットワークに接続しないでください。


ラボのレイアウト


前提条件

このセットアップを使用するには、システムにいくつかの機能をインストールする必要があります。

root@kitploit:~
# Step 1 - Azure CLI のインストール。詳細は https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Step 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

# Step 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

# Step 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

#注意: 選択したハードウェアによっては、すべての構成に約2時間かかります。

異なる Windows バージョンのデプロイ

Terraform 変数は、このデプロイメントで使用されるオペレーティングシステムの種類を設定します。ランタイム変数を簡単に変更することで、Active Directory (AD) 全体を実行するために異なる OS を指定できます。デフォルトのオプションは、ワークステーションに Windows 10 Enterprise、ドメインコントローラーに Windows Server 2019 Datacenter を使用することです。以下は、環境全体を異なる OS バージョンに変更するために使用できるいくつかの一般的な構成オプションの例です:

root@kitploit:~
# ワークステーションに Windows 10 Enterprise、DC に Server 2019 Datacenter を使用 (デフォルト オプション)
terraform apply -auto-approve

# ワークステーションに Windows 11 Enterprise、DC に Server 2019 Datacenter を使用
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、DC に Server 2012 Datacenter を使用
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、DC に Server 2016 Datacenter を使用
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、DC に Server 2012 Datacenter を使用
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 を使用して、デプロイメントのさまざまな OS バージョンを特定できます。


機能

  • デフォルト設定では、Windows AD に接続された2台のワークステーションを持つ Windows AD。
  • 柔軟なドメイン構成ファイルにより、基盤となる構成を簡単に変更できます。
  • CIS ガイドに基づいて構成された監査ポリシーにより、Windows インフラストラクチャ全体のイベントの可視性が向上します。Auditpol を使用して追加設定を構成し、PowerShell トランスクリプト ログを有効にします。
  • Sysmon64 が、最新の SwiftOnSecurity 構成を使用して Windows デバイス全体に展開されています。
  • Wazuh Server が構成され、デバイスからのログを収集するために運用されています。
  • Wazuh Agents がインフラストラクチャ全体に構成され、Wazuh サーバーにデータを送信しています。
  • ファイアウォールは、デプロイされたシステムに自分の IP のみがアクセスできるように構成されています。
  • OSQuery と FleetDM が、Palantir の構成テンプレートを使用してインフラストラクチャ全体にインストールされています。
  • Velocidex Velociraptor サーバーが構成され、運用されています。
  • Velocidex Velociraptor エージェントがインフラストラクチャ全体に構成され、Velociraptor サーバーにデータを送信しています。
  • WinLogBeat が Elastic インスタンスにログを記録するように構成されています。
  • LokiToWinEventLog Loki スキャナーが、3時間ごとに Windows イベントログにデータを記録し、Wazuh Server とともにインストールされた Elastic インスタンスにデータを送信するように構成されています。
  • Pe-SieveToWinEventLog Pe-Sieve スキャナーが、3時間ごとに Windows イベントログにデータを記録し、Wazuh Server とともにインストールされた Elastic インスタンスにデータを送信するように構成されています。

ドキュメント

次のセクションでは、このラボを構成するさまざまなコンポーネントと、構成ファイルを変更してセットアップを変更する方法について説明します:

  • OSQuery と Fleetdm Server
  • Wazuh Server と Wazuh Agent
  • Sysmon
  • WinLogBeat
  • Velociraptor Server と Velociraptor Agent
  • ドメインメンバー

資格情報

ラボが構築されると、Terraform はシステムの実際の場所と関連する資格情報を出力します。出力例を以下に示します。

root@kitploit:~
Network Setup:

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/

Credentials:

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 セクションで新しいファイアウォール規則を追加するように変更してください。

内部では、デフォルト構成でこの環境に対して10.0.0.0/16 範囲の以下の静的 IP とホスト名が使用されています:


ユーザー構成

インストール中に、以下のデフォルトの資格情報が作成されます。実際に構成された資格情報の出力は、完全なデプロイプロセスが完了した後に表示されます。

デフォルトの資格情報を変更するには、domain_setup.yml ファイルのユーザー名とパスワードを変更します。

スクリーンショット

コントリビュート

このプロジェクトへのコントリビューション、修正、改善は、GitHub の Issue またはプルリクエストとして直接送信できます。

ディレクトリ構造

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

FAQ

  • 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 がすべてのリソースを適切にクリーンアップせず、名前や場所の競合のためにラボを作成する前に破棄する必要のある残骸が残っている場合に発生するようです。
  • なぜ Azure なのか?

    • 試用アカウントで無料クレジットが利用可能です

インスピレーションの源と謝辞

このコードのかなりの割合は、Christophe Tafani-Dereeper 氏の Adaz から借用され、適応されました。このラボ環境を設計するための基盤を構築してくださったことに、多大なる感謝を申し上げます。

ツールをダウンロード
ルール名ネットワークセキュリティグループ送信元ホスト送信元ポート宛先ホスト宛先ポート
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
WazuhWazuh Server、Velocidex Velociraptor インストールと FleetDM もホスト10.0.10.100
DETECTION1Windows 10 ワークステーション 110.0.11.11
DETECTION2Windows 10 ワークステーション 210.0.11.12
ホストログインパスワード役割
PDC-1blueteam.lab\blueteamBlueTeamDetection0%%%blueteam.lab ドメインのドメイン管理者
DETECTION1localadministratorBlueTeamDetection0%%%DETECTION1 ワークステーションのローカル管理者
DETECTION2localadministratorBlueTeamDetection0%%%DETECTION2 ワークステーションのローカル管理者
WazuhblueteamBlueTeamDetection0%%%Wazuh サーバーの SSH 資格情報
WazuhwazuhBlueTeamDetection0%%%Wazuh 管理者
WazuhadminBlueTeamDetection0%%%Wazuh 管理者
WazuhkibanaserverBlueTeamDetection0%%%Wazuh サービスアカウント
WazuhkibanaroBlueTeamDetection0%%%Wazuh サービスアカウント
WazuhlogstashBlueTeamDetection0%%%Wazuh サービスアカウント
WazuhreadallBlueTeamDetection0%%%Wazuh サービスアカウント
WazuhsnapshotrestoreBlueTeamDetection0%%%Wazuh サービスアカウント
Wazuhwazuh_adminBlueTeamDetection0%%%Wazuh サービスアカウント
Wazuhwazuh_userBlueTeamDetection0%%%Wazuh サービスアカウント
WazuhblueteamBlueTeamDetection0%%%Velociraptor Web ポータルログイン
Wazuh[email protected]BlueTeamDetection0%%%FleetDM Web ポータルログイン

ネットワークセグメント、デプロイメントサイズ、その他の変数を変更するにはどうすればよいですか?

  • Terraform の variables ファイルを変更してセットアップを変更します。または、各変数は、terraform apply に -var を追加して実行時に変更できます。たとえば、terraform apply --auto-approve -var="region=East US 2" は、variables ファイルに設定されたデフォルトとは異なるリージョンに変更します。ネットワーク範囲、オペレーティングシステム、VM サイズを含むセットアップ全体を、-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 を再実行して、損傷したホストを修復してください。