banner
lca

lca

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

game of active directory(GOAD)域环境搭建

wfh1

Game Of Active directory的第二个版本,项目地址:https://github.com/Orange-Cyberdefense/GOAD

域靶场环境通过 vagrang 安装 5 个 windows 实例(三个 DC,两个普通域内主机),拓朴图如下:

image

官方给的一些路线图(漏洞点

  • Password- reuse- between- computer- (PTH)
  • Spray- User- =- Password
  • Password- in- description
  • SMB- share- anonymous
  • SMB- not- signed
  • Responder
  • Zerologon
  • Windows- defender
  • ASREPRoast
  • Kerberoasting
  • AD- Acl- abuse
  • Unconstraint- delegation
  • Ntlm- relay
  • Constrained- delegation
  • Install- MSSQL
  • MSSQL- trusted- link
  • MSSQL- impersonate
  • Install- IIS
  • Upload- asp- app
  • Multiples- forest
  • Anonymous- RPC- user- listing
  • Child- parent- domain
  • Generate- certificate- and- enable- ldaps
  • ADCS- -- ESC- 1/2/3/4/6/8
  • Certifry
  • Samaccountname/nopac
  • Petitpotam- unauthent
  • Printerbug
  • Drop- the- mic
  • Shadow- credentials
  • Mitm6
  • Add- LAPS
  • GPO- abuse
  • Add- Webdav
  • Add- RDP- bot
  • Add- full- proxmox- integration
  • Add- Gmsa- (receipe- created)
  • Add- azure- support
  • Refactoring- lab- and- providers
  • Protected- Users
  • Account- is- sensitive
  • Add- PPL
  • Add- Gmsa
  • Groups- inside- groups
  • Shares- with- secrets- (all,- 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 安装 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 不支持虚拟化功能

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' could not be found

default: Box 'base' could not be found. Attempting to find and install…

解决:

进入~/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

可以使用 vagrang 去关闭虚拟机,需进入到~/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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。