Active Directoryのゲーム
の第 2 版、プロジェクトアドレス:https://github.com/Orange-Cyberdefense/GOAD
ドメインターゲット環境は vagrant を使用して 5 つの Windows インスタンス(3 つの DC、2 つの通常ドメイン内ホスト)をインストールします。トポロジー図は以下の通りです:
公式から提供されたいくつかのロードマップ(脆弱性ポイント)
- パスワード再利用(PTH)
- ユーザースプレー = パスワード
- 説明内のパスワード
- SMB 共有匿名
- SMB 未署名
- Responder
- Zerologon
- Windows Defender
- ASREPRoast
- Kerberoasting
- AD ACL の悪用
- 無制約の委任
- NTLM リレー
- 制約付き委任
- MSSQL のインストール
- MSSQL の信頼されたリンク
- MSSQL のなりすまし
- IIS のインストール
- ASP アプリのアップロード
- 複数のフォレスト
- 匿名 RPC ユーザーリスト
- 子ドメインと親ドメイン
- 証明書の生成と LDAPS の有効化
- ADCS -- ESC 1/2/3/4/6/8
- Certifry
- Samaccountname/nopac
- Petitpotam-unauthent
- Printerbug
- マイクを落とす
- シャドウ資格情報
- Mitm6
- LAPS の追加
- GPO の悪用
- WebDAV の追加
- RDP ボットの追加
- 完全な Proxmox 統合の追加
- Gmsa の追加(レシピ作成済み)
- Azure サポートの追加
- ラボとプロバイダーのリファクタリング
- 保護されたユーザー
- アカウントは機密
- PPL の追加
- Gmsa の追加
- グループ内のグループ
- 秘密を持つ共有(すべて、sysvol)
原図:
https://orange-cyberdefense.github.io/ocd-mindmaps/img/pentest_ad_dark_2022_11.svg
ホスト環境#
ターゲットベースの仮想マシン | vmware |
---|---|
オペレーティングシステム | ubuntu 22.04 |
割り当てられたメモリ | 24G |
ディスクスペース | 500G |
01 Ubuntu のインストール#
最初のステップは vmware を使用して Ubuntu 22.04 の仮想マシンをインストールすることです。以下の手順はこの Ubuntu 22.04 の仮想マシンに基づいています。
02 更新#
sudo apt update
sudo apt upgrade
03 VirtualBox のインストール#
sudo apt install virtualbox
04 Vagrant のインストール#
wget https://releases.hashicorp.com/vagrant/2.2.19/vagrant_2.2.19_x86_64.deb
sudo apt install ./vagrant_2.2.19_x86_64.deb
vagrant --version
05 Python のインストール#
sudo apt install python3-pip
pip3 --version
06 Python の仮想環境のインストール#
sudo apt install python3-venv
07 GOAD V2 リポジトリのクローン#
まず git ツールをインストールする必要があります。
sudo apt-get install git-all
ユーザーホームディレクトリにクローンします。
cd ~/
git clone https://github.com/Orange-Cyberdefense/GOAD.git
08 Python 仮想環境の作成#
python3 -m venv venvGOAD
09 仮想環境の起動#
cd GOAD/ansible
source ~/venvGOAD/bin/activate
10 Ansible モジュールのインストール#
pip install ansible-core
#または
python3 -m pip install ansible-core==2.12.6
11 pywinrm のインストール#
pip install pywinrm
12 Galaxy 依存関係のインストール#
ansible-galaxy install -r requirements.yml
13 システムのインストール#
インストール前に GOAD ディレクトリ内の goad.sh スクリプトを使用して環境が準備できているか確認できます。
./goad.sh -t check -l GOAD -p virtualbox -m local
インストール中に問題が発生した場合、ここで解決策を示します。
問題 1:プロキシ
1、ERROR: パッケージをインストールできませんでした。OSError: SOCKSサポートの依存関係が不足しています。
2、fatal: [srv03]: UNREACHABLE! => {"changed": false, "msg": "ssl: SOCKSサポートの依存関係が不足しています。", "unreachable": true}
socks 関連の問題が発生した場合は、プロキシをオフにする必要があります。オペレーティングシステムをインストールするため、国内のネットワークを使用すると速度が非常に遅くなるため、Ubuntu にプロキシを設定しました。これにより、オペレーティングシステムのダウンロード速度が向上します。一時的にオフにして、システムのダウンロードが遅い場合は再度プロキシをオンにできます。
解決策:
unset ALL_PROXY
unset all_proxy
問題 2:VMware が仮想化機能をサポートしていない
解決策:
これはホストシステムに Docker と Hyper-V がインストールされていることが原因で、Hyper-V の関連機能をオフにする必要があります。
以下のコマンドを使用して、仮想マシンが KVM 仮想化をサポートしているかどうかを確認できます。
sudo apt install -y cpu-checker
sudo kvm-ok
以下の出力が表示される場合、KVM をサポートしており、このエラーは発生しません。
他の結果が表示された場合は、上記の記事を参考にして解決してください。つまり、以下の手順を実行します。
1、仮想化機能の一部をオフにし、Hyper-V もオフにします。
2、関連サービスを無効にします。
3、仮想マシン設定 - プロセッサ - 仮想化エンジンで、以下のオプションを選択します。
問題 3:'base' が見つかりませんでした
default: Box 'base' が見つかりません。見つけてインストールしようとしています…
解決策:
~/GOAD/ad/GOAD/provider/virtualbox
に移動して vagrant up を実行します。
問題 4:メモリの問題
取得したシステムが異常終了する場合、メモリが不足している可能性があります。
上記の問題が発生しなかった場合、次に靶機環境のインストールを開始します。
~/GOAD/ad/GOAD/provider/virtualbox
に移動してvagrant up
を実行します。
注:速度が遅すぎる場合はプロキシを使用してください。
もしローカルで clash を実行している場合、Ubuntu のネットワーク設定でプロキシにホストの IP と 7890 ポートを指定すれば大丈夫です。
14 Ansible-playbook を使用して main.yml ファイルをインストール#
~/GOAD/ansible
で直接ansible-playbook main.yml
を実行するとエラーが発生します。
以下のパスで実行する必要があります。
# Python仮想環境に入って操作する必要があります
source ~/venvGOAD/bin/activate
(venvGOAD) lca@lca-vm:~/GOAD/ansible$ ansible-playbook -i ../ad/GOAD/data/inventory -i ../ad/GOAD/providers/virtualbox/inventory main.yml
これで関連サービスの設定とインストールが開始されます。
以下の問題が発生した場合:
1、タイムアウト
2、無効なネットワークアドレス
3、動作が止まる
再起動してからコマンドを繰り返し実行してみてください。エラーが発生した場合は、エラーが消えるまで以下のコマンドを繰り返し実行してください。時には非常に不思議なことがあります。
# Python仮想環境に入って操作する必要があります
source ~/venvGOAD/bin/activate
(venvGOAD) lca@lca-vm:~/GOAD/ansible$ ansible-playbook -i ../ad/GOAD/data/inventory -i ../ad/GOAD/providers/virtualbox/inventory main.yml
Vagrant を使用して仮想マシンを停止できます。~/GOAD/ad/GOAD/provider/virtualbox
に移動して実行します。
仮想マシンを起動します。
vagrant up GOAD-DC01 GOAD-SRV03
# すべてを起動
vagrant up
仮想マシンを停止します。
vagrant halt GOAD-DC01 GOAD-SRV03
# すべてを停止
vagrant up
15 花火#
二晩の激闘の末、ついに以下の成果を目にしました😭
16 参考#
動画:
https://www.youtube.com/watch?v=haiTcZpqdQg
記事:
https://mayfly277.github.io/posts/GOADv2/
https://github.com/quincyntuli/GOAD-v2-Installation-Notes
https://github.com/Orange-Cyberdefense/GOAD