Thales SafeNet Sentinel HASP LDK本地提权漏洞(CVE-2024-0197)分析与复现

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

Thales SafeNet Sentinel HASP LDK是由Thales SafeNet开发的软件保护和许可证管理解决方案。其msi安装程序存在DLL劫持漏洞,允许本地用户以系统特权执行任意代码。该漏洞影响Thales SafeNet Sentinel HASP LDK版本<9.16。文章提供了对漏洞的详细分析和复现步骤。

🔎

延伸解读

漏洞触发条件与利用门槛

该漏洞利用需要本地用户能够执行msiexec.exe的修复选项(/fa),且目标系统已安装存在漏洞的Sentinel HASP LDK版本(低于9.16)。攻击者需在%temp%目录下放置恶意DLL(如fltlib.dll),当msiexec.exe以SYSTEM权限释放并运行haspdinst_x64.exe时,会加载该DLL,从而实现提权。利用门槛较低,但需要用户具备本地执行权限,且安装程序版本符合要求。

修复模式下的权限提升机制

漏洞根源在于msiexec.exe执行修复模式时,会以SYSTEM权限在%temp%目录释放haspdinst_x64.exe并运行。该程序加载DLL时未验证路径,导致DLL劫持。由于%temp%目录通常对普通用户可写,攻击者可将恶意DLL放入其中,当高权限进程加载时即执行任意代码。这种设计缺陷使得本地用户能够绕过权限限制,直接获得SYSTEM权限。

影响范围与缓解建议

该漏洞影响Thales SafeNet Sentinel HASP LDK 9.16之前的所有版本。建议用户升级到9.16或更高版本以修复漏洞。若无法立即升级,可考虑限制对%temp%目录的写入权限,或监控msiexec.exe的异常行为。但根本解决仍需官方补丁。此外,该漏洞需要本地访问权限,远程利用可能性较低,但内部威胁或已入侵的低权限用户可能利用此漏洞进行横向移动。

❓

Q&A

Thales SafeNet Sentinel HASP LDK是什么?

Thales SafeNet Sentinel HASP LDK是由Thales SafeNet开发的软件保护和许可证管理解决方案。

CVE-2024-0197漏洞的影响是什么?

该漏洞影响Thales SafeNet Sentinel HASP LDK版本低于9.16,允许本地用户以系统特权执行任意代码。

如何复现Thales SafeNet Sentinel HASP LDK的漏洞?

复现步骤包括安装软件、编写DLL劫持程序并利用修复选项提升权限。

DLL劫持漏洞是如何工作的?

该漏洞利用msiexec.exe在执行修复模式时释放可被劫持的程序,从而实现本地权限提升。

msiexec.exe在漏洞利用中扮演什么角色?

msiexec.exe在执行修复选项时会释放可被劫持的程序,导致权限提升。

如何防止Thales SafeNet Sentinel HASP LDK的DLL劫持漏洞?

建议升级到Thales SafeNet Sentinel HASP LDK版本9.16或更高版本以避免此漏洞。

🏷️

标签

➡️

继续阅读