banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

アクティブディレクトリのゲーム(GOAD)ドメイン環境構築

wfh1

Active Directoryのゲームの第 2 版、プロジェクトアドレス:https://github.com/Orange-Cyberdefense/GOAD

ドメインターゲット環境は vagrant を使用して 5 つの Windows インスタンス(3 つの DC、2 つの通常ドメイン内ホスト)をインストールします。トポロジー図は以下の通りです:

image

公式から提供されたいくつかのロードマップ(脆弱性ポイント

  • パスワード再利用(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)

pentest_ad_dark_2023_02

原図:

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 が仮想化機能をサポートしていない

image

解決策:

参考にしてください: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 をサポートしており、このエラーは発生しません。

image

他の結果が表示された場合は、上記の記事を参考にして解決してください。つまり、以下の手順を実行します。

1、仮想化機能の一部をオフにし、Hyper-V もオフにします。

image

2、関連サービスを無効にします。

image

3、仮想マシン設定 - プロセッサ - 仮想化エンジンで、以下のオプションを選択します。

image

問題 3:'base' が見つかりませんでした

default: Box 'base' が見つかりません。見つけてインストールしようとしています…

解決策:

~/GOAD/ad/GOAD/provider/virtualboxに移動して vagrant up を実行します。

image

問題 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

これで関連サービスの設定とインストールが開始されます。

image

以下の問題が発生した場合:

1、タイムアウト

image

2、無効なネットワークアドレス

image

3、動作が止まる

image

再起動してからコマンドを繰り返し実行してみてください。エラーが発生した場合は、エラーが消えるまで以下のコマンドを繰り返し実行してください。時には非常に不思議なことがあります。

# 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 花火#

二晩の激闘の末、ついに以下の成果を目にしました😭

image

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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。