
Ferramenta do Windows para listar, obter, definir, proteger e desproteger níveis de proteção de processos (PP/L) para depuração, inspeção e escalonamento de privilégios.
Esta ferramenta permite listar processos protegidos, obter o nível de proteção de um processo específico ou definir um nível de proteção arbitrário. Para mais informações, leia esta postagem no blog: Debugging Protected Processes.
Pode obter uma cópia do driver MSI RTCore64.sys aqui: PPLKiller/driver.
Aviso: é desnecessário dizer que nunca deve instalar este driver na sua máquina hospedeira. Use uma VM!
sc.exe create RTCore64 type= kernel start= auto binPath= C:\PATH\TO\RTCore64.sys DisplayName= "Micro - Star MSI Afterburner"
net start RTCore64
Listar processos protegidos.
PPLcontrol.exe list
Obter o nível de proteção de um processo específico.
PPLcontrol.exe get 1234
Definir um nível de proteção arbitrário.
PPLcontrol.exe set 1234 PPL WinTcb
Proteger um processo não protegido com um nível de proteção arbitrário. Isto também ajustará automaticamente os níveis de assinatura conforme necessário.
PPLcontrol.exe protect 1234 PPL WinTcb
Desproteger um processo protegido. Isto irá definir o nível de proteção para 0 (i.e. None) e os níveis de assinatura EXE/DLL para 0 (i.e. Unchecked).
PPLcontrol.exe unprotect 1234
net stop RTCore64
sc.exe delete RTCore64
O WinDbg apenas precisa abrir o processo alvo, por isso pode usar o PPLcontrol para definir um nível de proteção arbitrário no seu 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.
Além de abrir o processo alvo, o API Monitor injeta uma DLL no mesmo. Portanto, definir um nível de proteção arbitrário no seu processo apimonitor.exe não será suficiente. Uma vez que a DLL injetada não está devidamente assinada para este propósito, a flag de assinatura da secção do processo alvo provavelmente impedirá que seja carregada. No entanto, pode desativar temporariamente a proteção no processo alvo, iniciar a monitorização e restaurar a proteção imediatamente depois.
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 não é suportado e provavelmente nunca será).