
Strumento Windows per elencare, ottenere, impostare, proteggere e rimuovere la protezione dei livelli di protezione dei processi (PP/L) per debug, ispezione ed escalation dei privilegi.
Questo strumento ti permette di elencare i processi protetti, ottenere il livello di protezione di un processo specifico o impostare un livello di protezione arbitrario. Per maggiori informazioni, puoi leggere questo post del blog: Debugging Protected Processes.
Puoi ottenere una copia del driver MSI RTCore64.sys qui: PPLKiller/driver.
Disclaimer: è ovvio che non dovresti mai installare questo driver sulla tua macchina host. Usa una VM!
sc.exe create RTCore64 type= kernel start= auto binPath= C:\PATH\TO\RTCore64.sys DisplayName= "Micro - Star MSI Afterburner"
net start RTCore64
Elenca i processi protetti.
PPLcontrol.exe list
Ottieni il livello di protezione di un processo specifico.
PPLcontrol.exe get 1234
Imposta un livello di protezione arbitrario.
PPLcontrol.exe set 1234 PPL WinTcb
Proteggi un processo non protetto con un livello di protezione arbitrario. Questo regolerà automaticamente anche i livelli di firma di conseguenza.
PPLcontrol.exe protect 1234 PPL WinTcb
Rimuovi la protezione da un processo protetto. Questo imposterà il livello di protezione a 0 (cioè None) e i livelli di firma EXE/DLL a 0 (cioè Unchecked).
PPLcontrol.exe unprotect 1234
net stop RTCore64
sc.exe delete RTCore64
WinDbg ha solo bisogno di aprire il processo di destinazione, quindi puoi usare PPLcontrol per impostare un livello di protezione arbitrario sul tuo processo windbg.exe.
windbg.exe.C:\Temp>tasklist | findstr /i windbg
windbg.exe 1232 Console 1 24,840 K
C:\Temp>PPLcontrol.exe protect 1232 PPL WinTcb
[+] The Protection 'PPL-WinTcb' was set on the process with PID 1232, previous protection was: 'None-None'.
[+] The Signature level 'WindowsTcb' and the Section signature level 'Windows' were set on the process with PID 1232.
Oltre ad aprire il processo di destinazione, API Monitor inietta una DLL al suo interno. Pertanto, impostare un livello di protezione arbitrario sul tuo processo apimonitor.exe non è sufficiente. Poiché la DLL iniettata non è firmata correttamente per questo scopo, il flag di firma della sezione del processo di destinazione probabilmente ne impedirà il caricamento. Tuttavia, puoi disabilitare temporaneamente la protezione sul processo di destinazione, avviare il monitoraggio e ripristinare la protezione subito dopo.
Failed to load module in target process - Error: 577, Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.
C:\Temp>tasklist | findstr /i target
target.exe 1337 Services 1 14,160 K
C:\Temp>PPLcontrol.exe get 1337
[+] The process with PID 1337 is a PPL with the Signer type 'WinTcb' (6).
C:\Temp>PPLcontrol.exe unprotect 1337
[+] The process with PID 1337 is no longer a PP(L).
C:\Temp>PPLcontrol.exe protect 1337 PPL WinTcb
[+] The Protection 'PPL-WinTcb' was set on the process with PID 1337, previous protection was: 'None-None'.
[+] The Signature level 'WindowsTcb' and the Section signature level 'Windows' were set on the process with PID 1337.
Release/x64 (x86 non è supportato e probabilmente non lo sarà mai).