Zumpyx's Blog

域环境漏洞利用

adcvered-team

MS14-068 权限提升漏洞

KB3011780

​ KDC 无法正确检查 ST 中 PAC 的有效签名,导致用户可以自己构造一张高权限 PAC 并通过校验。

​ PAC 包含两个数字签名:一个使用服务的 Hash 签名;另一个使用 krbtgt 的 Hash 签名,这两个签名设计的初衷是要用到 HMAC 写列的 checksum 算法,也就是必须要有 key 的参与,这里的 key 是 krbtgt 的 Hash 和服务的 Hash,而安全研究员没用 krbtgt Hash 和服务的 Hash,自然没有生成有效的签名。

​ 由于签名实现的时候允许使用所有的 checksum 算法,包括 md5,因此就不需要 key 的参与了,此时只需要将 PAC 用 MD5 生成新的校验和。意味着安全研究员可以随意更改 PAC 的内容,然后用 MD5 生成一个服务检测和 KDC 校验和来通过 KDC 的校验。

MS14-068.exe

CVE-2019-1040 NTLM MIC 绕过漏洞

Windows 7 SP1 ~ Windows 10 1903

Windows Server 2008 ~ Windows Server 2019

​ 由于 Windows 服务器允许无消息完整性校验的 NTLM Authenticate 消息,因此该漏洞绕过消息完整性校验的思路是取消数据包中的 MIC 标志。

ntlmrelayx.py --remove-mic

CVE-2020-1472 NetLogon 权限提升漏洞

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1 Server Core Installation

Windows Server 2012、2012 R2、2016、2019

Windows Server 2012、2012 R2、2016、2019 Server Core Installation

Windows Server,version 1903、1909、2004 Server Core Installation

​ 通过漏洞,未经身份验证的攻击者只需要能够访问域控的 135 端口即可通过 Netlogon 远程协议连接域控并重置域控机器账户的 Hash,从而导致攻击者可以利用域控机器账户导出域内所有用户的 Hash,进而接管整个域。

zerologon_tester.py	# 检测漏洞
CVE-2020-1472.py	# 重置域控 Hash
secretsdump.py		# 导出 Hash
PTH 域管 Hash	远程连接域控

恢复 Hash

reg save HKLM\SYSTEM system
reg save HKLM\SAM sam
reg save HKLM\SECURITY security
#1 secretsdump 恢复
secretsdump.py -sam sam -system system -security security LOCAL
#2 mimikatz 恢复
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
#3 使用 secretsdump.py 启用卷影复制服务(Volume Shadow copy Service,VSS)导出域内所有 Hash,包括域内机器账户的 Hash,然后使用 reinstall_original_pw.py 恢复为指定机器账户的原始 NTLM Hash
#4 使用 PowerShell 命令重置机器账户密码,但是与原始密码不一致
PowerShell Reset-ComputerMachinePassword

Windows Print Spooler 权限提升漏洞

CVE-2021-1675

CVE-2021-34527 PrintNightmare

Print Spooler 是在 Windows 系统中用于管理打印相关事务的服务,对应 spoolsv.exe 以 System 权限执行。其设计存在一个严重缺陷,SeLoadDriverPrivilege 中鉴权存在代码缺陷,参数可以被攻击者控制,因此普通用户可以通过 RPC 触发 RpcAddPrinterDriver 绕过安全检查并写入恶意驱动程序。如果域控存在此漏洞,域中普通用户即可通过远程连接域控 Print Spooler 服务,向域控中添加恶意驱动,从而控制整个域。

  • impacket - rpcdump
  • impacket - smbserver
  • CVE-2021-1675.py
  • mimikatz
  • cve-2021-34527.ps1

防御手法

  • 升级补丁包
  • 临时禁用 Print Spooler Stop-Service -Name Spooler -Force

ADCS 攻击

1. Web 证书注册接口 NTLM Relay 攻击

2. CVE-2022-26923 域内权限提升漏洞

ADCS 服务器在处理计算机模板证书是通过机器 dNSHostName 属性来辨别用户的,而不同域用户有权限修改所创建的机器账户的 dNSHostName 属性,因此攻击者可以创建新的机器账户,修改 dNSHostName 属性为域控的 dNSHostName 属性去请求计算机模板证书,ADCS 会在生成证书时将域控的 dNSHostName 写入证书中。使用证书进行 PKINIT Kerberos 认证时,KDC 会查询到域控,因此将域控机器账户的权限生成 PAC 放入票据中,默认域控机器账户具有 DCSync 权限,攻击者可以导出域内任意用户 Hash

防御手法

  • 关闭不必要的证书颁发机构 Web 注册功能
  • 更新补丁

CVE-2021-42287 权限提升漏洞

CVE-2021-42287 samAccountName spoofing 漏洞 KB5008380

CVE-2021-42278 Name impersonation KB5008102

范围:未打补丁的全版本 Windows 域控

Exchange ProxyLogon 攻击利用链

CVE-2021-26855 Exchange SSRF

CVE-2021-26858 Exchange 任意文件写入

CVE-2021-27065 Exchange 任意文件写入

CVE-2021-26857 Exchange 反序列化漏洞

CVE-2021-26412 Exchange RCE

CVE-2021-26854 Exchange RCE

CVE-2021-27078 Exchange RCE

Exchange ProxyShell 攻击利用链

CVE-2021-34473 预认证路径混淆导致 ACL 绕过造成 SSRF

CVE-2021-34523 Exchange PowerShell 后端提权漏洞

CVE-2021-31207 任意文件写入漏洞导致 RCE