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

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