栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Active Directory 域服务权限提升漏洞(CVE-2022-26923)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Active Directory 域服务权限提升漏洞(CVE-2022-26923)

文章目录
  • 声明
  • 一、漏洞描述
  • 二、影响范围
  • 三、Windows Active Directory (AD)
  • 四、Active Directory 证书服务
  • 五、环境配置
  • 六、漏洞复现
  • 七、修复方案
  • 八、参考链接


声明

本文章仅用于技术学习、安全研究。切勿用于非授权下渗透攻击行为,切记!


一、漏洞描述

Active Directory 域权限提升漏洞 (CVE-2022-26923)允许低权限用户在安装了 Active Directory 证书服务 (AD CS) 服务器角色的默认 Active Directory 环境中将权限提升到域管理员。

二、影响范围

受影响的 Windows 版本:

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

三、Windows Active Directory (AD)

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

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

四、Active Directory 证书服务

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

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

五、环境配置

实验环境如下:

域控主机(AD):Windows Server 2016 IP:192.168.20.100
攻击机:KALI IP:192.168.20.102
域内主机:Windows Server 2008 IP:192.168.20.101

Windows Server 2016安装域服务

选择 Active Directory域服务,其他默认即可。


安装完成后,提升为域控制器,开始配置域控。

添加新林 adserver.cn,其他默认,随后下一步。


此时,域控制器已配置好。

Active Directory证书服务

AD CS

下面正式开始安装ADCS服务,只需要注意下面截图的内容,其他都是默认。

服务器管理器–>添加角色和功能向导–>勾选服务器角色–>Active Directory 证书服务



安装完成!

配置ADCS服务,只需要注意下面截图的内容,其他都是默认。


至此全部安装完成!!!

新建低权限AD用户

创建低权限AD用户:zhangsan/ZSpassword@123

配置完成!!!

六、漏洞复现

KALI配置DNS

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

格式为:域控地址 域控机器名.域名 证书名(通过certutil -config - -ping查看)域名 域控机器名字

域内定位CA主机

在域内机器上执行-> certutil -config - -ping

测试证书生成

首先使用用户证书模板为我们的低权限AD用户 (Username=zhangsan、Password=ZSpassword@123) 生成证书:
使用工具:Certipy 下载地址:https://github.com/ly4k/Certipy

验证此证书是否有效

可以看到显示了用户的Hash值。

创建机器账户到域

使用bloodyAD工具来创建机器账户。

查看ms-DS-MachineAccountQuota属性

如果ms-DS-MachineAccountQuota>0就可以创建机器帐户

这里我们使用这款工具:bloodyAD
下载链接:https://github.com/CravateRouge/bloodyAD

在LDAP中创建一个机器帐户

更新机器帐户的DNS Host Name

这里可以使用工具 ADexplorer
将机器帐户的 DNS Host Name 改为域控的 WIN-DI3Q16DMV8K.adserver.cn

查看属性,是否成功更改了DNS Host Name


伪造恶意证书

运行Certipy生成机器证书,可以看到 DNS Host Name 已经变成了 WIN-DI3Q16DMV8K.adserver.cn

再次验证证书是否有效,成功获取到哈希:

转储所有用户哈希

这里使用 impacket 的 secretsdump.py 来dump哈希

由于域控制器账户拥有所需特权,我们可以设置环境变量 KRB5CCNAME,通过 impacket 套件中的 secretsdump.py 使用该票据,并执行 DCSync 来转储域用户哈希,如下图所示。

此外,我们可以通过 Kerberos 的 S4U2Self 扩展协议,使用已获取的域控 TGT 为域管理员用户申请针对域控上其他服务的的 ST 票据。这里我们借助 Dirk-jan Mollema(@dirkjanm)的 PKINITtools 工具来操作,请求的是域控制器的 CIFS 服务,如下图。

然后,我们可以通过设置环境变量 KRB5CCNAME 来使用获取到的 Administrator 用户的票据,并通过 smbexec.py 获取域控制器的最高权限,如下所示。

七、修复方案

1、补丁地址:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-26923

2、新证书中引入了新的对象 ID (OID),以进一步对用户进行指纹识别。这是通过在新的szOID_NTDS_CA_SECURITY_EXT OID 中嵌入用户的 objectSid 来完成的。

3、"验证写入DNS主机名"权限现在只允许您将 DNSHostname 设置为与 SAM 帐户名或计算机帐户匹配的属性,这意味着它不能用于欺骗其他主机的帐户名。

4、确保您的证书模板受到限制。仅在需要时才允许机器和用户自动注册。否则,通过安全配置,可以减少这些模板的权限。

5、如果没有允许用户将主机注册到 AD 的商业案例,请将所有不应注册新主机的帐户的 MS-DS-Machine-Account-Quota 属性更改为 0。然而,这并不能解决问题,因为攻击者只需获得对单个加入域的主机的管理访问权限,就可以执行证书请求。

八、参考链接

https://whoamianony.top/certifried-active-directory-domain-privilege-escalation/
https://mp.weixin.qq.com/s/AuPajld1K7N5alAkgMZNfA
https://www.sohu.com/a/546699064_121332157

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号