
我发现的被分配为 CVE-2026-47301 的概念验证漏洞利用链,针对 Microsoft Configuration Manager (SCCM),结合了访问控制缺陷、CAB 解压路径遍历任意文件写入、证书验证绕过以及 DLL 劫持,以实现 SYSTEM 级别的代码执行。
此漏洞利用使用专门为滥用此 CVE 而构造的恶意 cab 文件,我为此 POC 提供了一个 cab 文件。
该漏洞利用将通过将两个 DLL 植入到从预期路径到 Configuration Manager \bin\X64 安装目录的 ..\..\..\..\ 位置来劫持执行,将 Microsoft Configuration Manager 安装在不同路径下也不会有影响,因为该漏洞利用是通用的,无需了解任何信息即可在任何路径下工作。
这两个 DLL 的名称是:adsource_original.dll 和 adsource.dll。
“original” DLL 用于执行 DLL 代理攻击,并使漏洞利用在不导致 SMS_EXECUTIVE 服务崩溃的情况下工作。
你所需要的只是主站点服务器的 IP/DNS 名称,尽管此信息从未发布在 Active Directory 中,但我们可以通过检查 CN=System Management,CN=System 容器上的 SDDL 来安全地推断出来。对该容器具有完全控制权的机器账户通常就是站点服务器。
$root = [ADSI]"LDAP://RootDSE"
$configDN = "CN=System Management,CN=System," + $root.defaultNamingContext
$container = [ADSI]"LDAP://$configDN"
$container.ObjectSecurity.Access |
Where-Object { $_.ActiveDirectoryRights -match "GenericAll|FullControl" } |
Select-Object IdentityReference, ActiveDirectoryRights, AccessControlType |
Format-Table -AutoSize
结果将显示对该容器具有 GenericAll 权限的实体,取以 $ 结尾的实体,这些就是主站点服务器。
.\C1_AFW.exe write SCCM-CM01.basoss.local 'pwn.cab' .\evil.cab --verbose
该漏洞利用会启用 RID 500 Administrator 账户(如果其已被禁用),将其重命名为 omrispy,密码为 Xm#Poc-2026!Adm1n$Ok,它还会记录漏洞利用所做的更改以及 RID 500 Administrator 之前的名称,以便你可以将所有内容恢复到原来的状态,日志保存在受害主站点服务器上的 C:\POC.txt 路径下。
DLL 加载每 5 分钟发生一次,因此在启动漏洞利用和实际看到结果发生之间会有一些延迟,此行为是使用 Procmon64.exe 观察到的。
成功利用后,你需要:
adsource.dll(恶意的那个),并将 adsource_original.dll 重命名为 adsource.dll有关该漏洞利用的更详细信息,你可以阅读我关于它的完整文章。
此概念验证(“PoC”)仅用于合法的安全研究、教育目的和授权的安全测试。
仅在你拥有的系统上或你已获得明确许可执行特定测试的系统上使用此软件。严禁未经授权访问计算机系统。
使用此软件即表示你同意:
你对你的行为以及因使用此 PoC 而产生的任何后果承担全部责任,我不对你的行为负责