Инструмент для исследования и работы с механизмом Protected Process Light (PPL) в Windows в контексте авторизованного тестирования.
Фреймворк для исследования генерации и подписи полезной нагрузки — изучает, как средства защиты Windows реагируют на …
Инструмент для исследования и тестирования детект-механизмов ядра Windows, используемых средствами EDR, в контексте авторизованных red team …
Инструмент для извлечения паролей, хешей, PIN-кодов и Kerberos-тикетов из памяти Windows. Поддерживает Pass-the-Hash, Pass-the-Ticket, Golden/Silver Ticket, …
Кросс-платформенный инструмент для извлечения сохранённых паролей из десятков приложений: браузеры, почтовые клиенты, SSH-клиенты, мессенджеры, БД, VPN, …
git clone https://github.com/itm4n/PPLcontrol.git # Сборка: # 1. Открыть решение (.sln) в Visual Studio # 2. Выбрать конфигурацию Release/x64 (x86 не поддерживается) # 3. Собрать решение # Установка драйвера (в виртуальной машине): 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 PPLcontrol.exe unprotect 1234 net stop RTCore64 sc.exe delete RTCore64
Этот инструмент позволяет перечислять защищённые процессы, получать уровень защиты конкретного процесса или устанавливать произвольный уровень защиты. Подробнее можно прочитать в этой статье блога: Отладка защищённых процессов.
Вы можете получить копию драйвера MSI RTCore64.sys здесь: PPLKiller/driver.
Отказ от ответственности: само собой разумеется, что никогда не следует устанавливать этот драйвер на основной машине. Используйте виртуальную машину!
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
Защитите не защищённый процесс произвольным уровнем защиты. Это также автоматически скорректирует уровни подписи EXE/DLL.
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.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 не поддерживается и, скорее всего, никогда не будет).