Pandora ITSM身份验证后命令注入漏洞分析与利用

本文详细分析了Pandora ITSM系统中存在的一个身份验证后命令注入漏洞(CVE-2025-4653),攻击者可利用该漏洞在备份功能中注入恶意命令,最终实现远程代码执行。文章涵盖了漏洞原理、Metasploit利用模块的技术实现以及修复建议。

Pandora ITSM 身份验证后命令注入漏洞

漏洞概述

Pandora ITSM是一款面向服务管理与支持的一体化平台,包含符合ITIL流程的Helpdesk功能。该平台在5.0.105及之前版本中存在一个命令注入漏洞,攻击者可通过身份验证后在备份功能的name参数中注入恶意命令,最终实现远程代码执行(RCE)。该漏洞已被分配CVE编号CVE-2025-4653,并在5.0.106版本中得到修复。

技术细节

漏洞位置

漏洞位于应用程序设置页面的备份管理功能中,具体为name备份设置参数。攻击者需要具备Pandora ITSM Web应用程序的管理员访问权限才能利用此漏洞。

攻击路径

  1. 管理员凭证获取

    • 直接使用已知的管理员凭证登录Web应用程序
    • 利用Pandora ITSM中的默认密码漏洞远程访问MySQL数据库,创建新的管理员用户
  2. 命令注入执行

    • 通过身份验证后访问备份管理页面(/index.php?sec=godmode&sec2=enterprise/godmode/setup/backup_manager
    • 在创建备份时,向name参数注入恶意命令
    • 注入格式为:;[命令];#

Metasploit模块分析

1
2
3
4
5
class MetasploitModule < Msf::Exploit::Remote
  Rank = ExcellentRanking
  include BCrypt
  include Msf::Exploit::Remote::HttpClient
  prepend Msf::Exploit::Remote::AutoCheck

关键函数说明

1. 数据库连接功能

1
def mysql_login(host, user, password, db, port)

该函数建立与Pandora MySQL数据库的连接,支持错误处理和连接状态验证。

2. Web应用程序登录

1
def pandoraitsm_login(name, pwd)

实现Pandora ITSM Web应用程序的登录功能,通过检查响应中是否包含godmode字符串来验证登录成功。

3. 命令注入执行

1
def execute_payload(cmd)

核心漏洞利用函数,通过向备份name参数注入恶意命令实现RCE。注入格式为;#{cmd};#,绕过参数限制。

4. 痕迹清理

1
2
def clean_rce_payload(payload)
def cleanup

自动化清理注入过程中创建的备份条目,删除包含恶意payload的备份记录,覆盖攻击痕迹。

攻击流程

  1. 版本检测:通过API端点/include/api.php?info=version检查目标版本
  2. 身份验证尝试
    • 首先尝试使用提供的管理员凭证登录Web应用程序
    • 若失败,尝试使用默认数据库凭证连接MySQL
  3. 备用用户创建
    • 读取现有管理员密码哈希算法(支持bcrypt和MD5)
    • 在数据库中插入新的管理员用户记录
  4. 命令注入利用:使用新创建的管理员凭证登录并执行命令注入
  5. 凭证存储:将成功使用的凭证保存到Metasploit数据库中

受影响版本

  • Pandora ITSM企业版5.0.105及之前版本
  • 修复版本:5.0.106

默认凭证信息

  • 数据库
    • 用户:pandoraitsm
    • 密码:P4ndor4.itsm
    • 数据库:pandoraitsm
    • 端口:3306
  • Web应用程序
    • 用户:admin
    • 密码:integria

安全建议

  1. 立即升级到Pandora ITSM 5.0.106或更高版本
  2. 修改所有默认密码,特别是数据库和Web应用程序的管理员账户
  3. 限制MySQL数据库的远程访问,仅允许受信任的IP地址连接
  4. 定期审核系统日志,检测异常备份操作
  5. 实施输入验证和输出编码,防止命令注入攻击

参考链接

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计