Game Of Active directory
的第二個版本,項目地址:https://github.com/Orange-Cyberdefense/GOAD
域靶場環境通過 vagrang 安裝 5 個 windows 實例(三個 DC,兩個普通域內主機),拓撲圖如下:
官方給的一些路線圖(漏洞點)
- 密碼重用 - 在電腦之間 (PTH)
- 噴灑用戶 - 密碼
- 描述中的密碼
- SMB 共享 - 匿名
- SMB - 未簽名
- Responder
- Zerologon
- Windows 防禦者
- ASREPRoast
- Kerberoasting
- AD Acl 濫用
- 不受限制的委派
- Ntlm 中繼
- 受限委派
- 安裝 MSSQL
- MSSQL 受信任鏈接
- MSSQL 假冒
- 安裝 IIS
- 上傳 asp 應用
- 多森林
- 匿名 RPC 用戶列表
- 子父域
- 生成證書並啟用 ldaps
- ADCS -- ESC- 1/2/3/4/6/8
- Certifry
- Samaccountname/nopac
- Petitpotam - 未經身份驗證
- Printerbug
- Drop the mic
- Shadow credentials
- 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
#or
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: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
2、fatal: [srv03]: UNREACHABLE! => {"changed": false, "msg": "ssl: Missing dependencies for SOCKS support.", "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' could not be found
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 撒花#
經過兩個晚上的鏖戰,終於看到如下成果😭
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