Windows: различные способы завершения процесса из ядра

Есть один конкретный процесс, который я не могу завершить напрямую с помощью ZwTerminateProcess, потому что его драйвер регистрирует обратный вызов для указанной функции, чтобы защитить себя.

Другие методы:

  • Внедрение DLL и вызов ExitProcess
  • Присоединение к его адресному пространству с KeAttachProcess с последующим вызовом ZwTerminateProcess (вызывает BSOD IRQL_NOT_LESS_OR_EQUAL)
  • MmUnmapViewOfSection (вызывает BSOD, потому что программа пытается записать в нечитаемую память)

Как процесс хакер это делает?

1 ответ

Как ExpandEnvironmentSettings в kernel32.dll, вы должны быть в состоянии вызвать его, используя недокументированную подпрограмму ядра KeUserModeCallback, как описано в https://thisissecurity.net/2014/04/08/how-to-run-userland-code-from-the-kernel-on-windows/.

Другие вопросы по тегам