Windows Print Operators
Last updated
Last updated
is another highly privileged group, which grants its members the SeLoadDriverPrivilege
, rights to manage, create, share, and delete printers connected to a Domain Controller, as well as the ability to log on locally to a Domain Controller and shut it down.
use admin cmd
It's well known that the driver Capcom.sys
contains functionality to allow any user to execute shellcode with SYSTEM privileges.
We can use our privileges to load this vulnerable driver and escalate privileges.
The PoC enables the privilege as well as loads the driver for us.
Download it locally and edit it, pasting over the includes below.
Next, from a Visual Studio 2019 Developer Command Prompt, compile it using cl.exe.
no output should come
Run the EnableSeLoadDriverPrivilege.exe
binary.
This launches a shell with SYSTEM privileges. ![[Pasted image 20240806113634.png]]
we will have to modify the ExploitCapcom.cpp
code before compiling.
Here we can edit line 292 and replace "C:\\Windows\\system32\\cmd.exe"
with, say, a reverse shell binary created with msfvenom
, for example: c:\ProgramData\revshell.exe
.
The CommandLine
string in this example would be changed to:
We would set up a listener based on the msfvenom
payload we generated and hopefully receive a reverse shell connection back when executing ExploitCapcom.exe
.
If a reverse shell connection is blocked for some reason, we can try a bind shell or exec/add user payload.
To do this, we would run the following:
We would then run ExploitCapcom.exe
to pop a SYSTEM shell or run our custom binary.
Note: Since Windows 10 Version 1803, the "SeLoadDriverPrivilege" is not exploitable, as it is no longer possible to include references to registry keys under "HKEY_CURRENT_USER".
We can use tool to load the driver.
The odd syntax \??\
used to reference our malicious driver's ImagePath is an . The Win32 API will parse and resolve this path to properly locate and load our malicious driver.
Using Nirsoft's , we can verify that the Capcom.sys driver is not loaded
To exploit the Capcom.sys, we can use the tool after compiling with it Visual Studio.
We can use a tool such as to automate the process of enabling the privilege, creating the registry key, and executing NTLoadDriver
to load the driver.