Game Of Active directory
の第 2 版、プロジェクトアドレス:https://github.com/Orange-Cyberdefense/GOAD
ドメインターゲット環境は vagrang を使用して 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 Vagrang のインストール#
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 が仮想化機能をサポートしていない
解決策:
参考にしてください:VM の仮想化を有効にするための Intel-VT-x/EPT または AMD-V/RVI(V)を有効にした後、コンピュータがブルースクリーンになったり、再起動したりする問題を解決する
これはホストシステムに 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' could not be found. Attempting to find and install…
解決策:
~/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
Vagrang を使用して仮想マシンをシャットダウンすることができます。~/GOAD/ad/GOAD/provider/virtualbox
に移動して実行します。
仮想マシンを起動します。
vagrant up GOAD-DC01 GOAD-SRV03
# すべてを起動
vagrant up
仮想マシンをシャットダウンします。
vagrant halt GOAD-DC01 GOAD-SRV03
# すべてをシャットダウン
vagrant up
15 花を撒く#
2 晩の激闘の末、ついに以下の成果を目にしました😭
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