The vulnerable endpoint is the Windows Print Spooler service, which runs as LOCAL SYSTEM
Therefore, an operator could leverage some security flaws related to this service in order to gain remote or local code execution as LOCAL SYSTEM, which means that the entire system in question is compromised
The RpcAddPrinterDriverEx and RpcAddPrinterDriver functions of the MS-PAR ( Microsoft Print System Asynchronous Remote Protocol ) protocol do not verify correctly the permissions that a remote peer has to install a printer driver in the given system
Therefore, we could leverage this wrong permission validation to load a malicious DLL file instead of a legitimate printer driver. Since this service runs as LOCAL SYSTEM, we wil gain code execution as this system account, thereby compromising the entire system
So, once we compromise a non-privileged user account, we can simply call or invoke one of the vulnerable RPC functions and pass to it a malicious DLL we crafted previously, which can be located locally or remotely
Requirements
The operator must have a low-privileged access to the system
i.e. Interactive ( e.g. Physically ), RemoteInteractive ( e.g. RDP ) or Network ( e.g. WinRM, Reverse Shell and so on )
The Print Spooler service must be running on the target