このツールを使用すると、保護されたプロセスを一覧表示したり、特定のプロセスの保護レベルを取得したり、任意の保護レベルを設定したりできます。詳細については、次のブログ記事をご覧ください: Debugging Protected Processes。
MSIドライバー RTCore64.sys のコピーはこちらから入手できます: PPLKiller/driver。
免責事項: 言うまでもなく、このドライバーをホストマシンにインストールしないでください。VMを使用してください!
sc.exe create RTCore64 type= kernel start= auto binPath= C:\PATH\TO\RTCore64.sys DisplayName= "Micro - Star MSI Afterburner"
net start RTCore64
保護されたプロセスを一覧表示します。
PPLcontrol.exe list
特定のプロセスの保護レベルを取得します。
PPLcontrol.exe get 1234
任意の保護レベルを設定します。
PPLcontrol.exe set 1234 PPL WinTcb
保護されていないプロセスを任意の保護レベルで保護します。これにより、署名レベルも自動的に調整されます。
PPLcontrol.exe protect 1234 PPL WinTcb
保護されたプロセスの保護を解除します。これにより、保護レベルが 0(すなわち None)に、EXE/DLLの署名レベルが 0(すなわち Unchecked)に設定されます。
PPLcontrol.exe unprotect 1234
net stop RTCore64
sc.exe delete RTCore64
WinDbgはターゲットプロセスを開くだけでよいので、PPLcontrolを使用して windbg.exe プロセスに任意の保護レベルを設定できます。
windbg.exe プロセスのPIDを取得します。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.
ターゲットプロセスを開くことに加えて、API MonitorはDLLを注入します。そのため、apimonitor.exe プロセスに任意の保護レベルを設定するだけでは不十分です。注入されたDLLはこの目的のために適切に署名されていないため、ターゲットプロセスのセクション署名フラグによって読み込みが妨げられる可能性があります。ただし、ターゲットプロセスの保護を一時的に無効にし、モニタリングを開始し、その後すぐに保護を復元することができます。
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はサポートされておらず、おそらく今後もサポートされることはありません)。