
このプロジェクトを使用すると、Terraform/Ansible を使って、ドメイン参加済みワークステーション、Windows Event Forwarding、Kibana、Sysmon を備えた Active Directory ラボを Azure 上に簡単に構築できます。
ドメインのユーザー、グループ、ワークステーションをカスタマイズできる高レベルの設定ファイルを提供します。
dns_name: hunter.lab
dc_name: DC-1
initial_domain_admin:
username: hunter
password: MyAdDomain!
organizational_units: {}
users:
- username: christophe
- username: dany
groups:
- dn: CN=Hunters,CN=Users
members: [christophe]
default_local_admin:
username: localadmin
password: Localadmin!
workstations:
- name: XTOF-WKS
local_admins: [christophe]
- name: DANY-WKS
local_admins: [dany]
enable_windows_firewall: yes
DetectionLab との不完全かつ偏った比較は次のとおりです:
検知エンジニアリング: 標準的なクリーンなラボを利用できることで、一般的な攻撃や横移動の手法がどのような痕跡を残すのかを理解するのに非常に役立ちます。
Active Directory の学習: GPO や各種 AD 機能(AppLocker、LAPS など)をテストする必要がよくあります。使い捨てのラボがあることは必須です。


Azure サブスクリプション。無料で作成でき、最初の 30 日間は $200 分のクレジットが付与されます。この種類のサブスクリプションにはリージョンあたり 4 vCPU の制限があることに注意してください。それでも、デフォルトのラボ構成であれば 1 台のドメインコントローラーと 2 台のワークステーションを実行できます。
~/.ssh/id_rsa.pub に SSH キーがあること。秘密キーは ssh-agent に追加するか(通常は ssh-add ~/.ssh/id_rsa を一度実行し、.bashrc に eval "$(ssh-agent -s)" を追加します)、パスフレーズで暗号化されていない必要があります。
Terraform >= 0.12
az login を実行して Azure アカウントにログインしている必要があります。az account list を使用して、Azure サブスクリプションにアクセスできることを確認できます。
git clone https://github.com/christophetd/Adaz.git
# Note: the virtual env needs to be in ansible/venv
python3 -m venv ansible/venv
source ansible/venv/bin/activate
pip install -r ansible/requirements.txt
deactivate
cd terraform
terraform init
必要に応じて domain.yml を編集し(リファレンス)、次を実行します:
terraform apply
リソースの作成とプロビジョニングには 15〜20 分かかります。完了すると、次のような出力が表示されます:
dc_public_ip = 13.89.191.140
kibana_url = http://52.176.3.250:5601
what_next =
####################
### WHAT NEXT? ###
####################
Check out your logs in Kibana:
http://52.176.3.250:5601
RDP to your domain controller:
xfreerdp /v:13.89.191.140 /u:hunter.lab\\hunter '/p:Hunt3r123.' +clipboard /cert-ignore
RDP to a workstation:
xfreerdp /v:52.176.5.229 /u:localadmin '/p:Localadmin!' +clipboard /cert-ignore
workstations_public_ips = {
"DANY-WKS" = "52.165.182.15"
"XTOF-WKS" = "52.176.5.229"
}
プロビジョニング中に
FAILED - RETRYING: List Kibana index templates (xx retries left)のようなメッセージがいくつか表示されても心配しないでください
デフォルトでは、リソースは ad-hunting-lab というリソースグループの下の West Europe リージョンにデプロイされます。Terraform 変数でリージョンを制御できます:
terraform apply -var 'region=East US 2'
domain.yml リファレンスAdaz を参照しているトーク / 投稿:
今後の機能については、feature-proposal issues に残していただいた 👍 の数に大きく依存します。
お気軽に issue を開くか、@christophetd にツイートしてください。
| Adaz | DetectionLab |
|---|
| パブリッククラウド対応 | Azure | AWS, Azure (ベータ) |
| ラボ構築にかかる想定時間 | 15〜20分 | 25分 |
| ログ管理と検索 | Elasticsearch+Kibana | Splunk Enterprise |
| WEF | ✔️ | ✔️ |
| 監査ポリシー | ✔️ | ✔️ |
| Sysmon | ✔️ | ✔️ |
| YAML ドメイン設定ファイル | ✔️ | 🚫 |
| 複数の Windows 10 ワークステーション対応 | ✔️ | 🚫 |
| VirtualBox/VMWare 対応 | 🚫 | ✔️ |
| osquery / fleet | 🚫(投票!) | ✔️ |
| Powershell トランスクリプトログ | 🚫 (投票!) | ✔️ |
| IDS ログ | 🚫 (投票!) | ✔️ |