в обход функций пользовательского режима из ядра - PullRequest
1 голос
/ 20 марта 2020

У меня есть драйвер режима ядра, и я пытаюсь реализовать способ, с помощью которого я могу сделать из него перехватчики пользовательского режима. Мне нужно подключить функции пользовательского режима через ядро ​​/ JMP.

1 Ответ

0 голосов
/ 19 апреля 2020

Чтобы выполнить внешний обход ядра, вы делаете то же, что и в пользовательском режиме, за исключением того, что вместо WriteProcessMemory вы используете NtWriteVirtualMemory.

Проблема, к которой относится эта идея: куда вы переходите? Вы не можете запрыгнуть в ядро, поэтому у вас все еще остается проблема с получением кода в целевой процесс. Вы можете написать шеллкод, внедрить DLL и т. Д. c ...

Но вся цель использования драйвера - обойти механизмы защиты и обнаружения. Зрелое решение для обнаружения отладки обнаружит, что вы записываете прыжок и пишете свой шелл-код с помощью проверок целостности памяти.

Решение не такое простое, как «go kernel», вам нужно обнулить защиту и сначала механизм обнаружения в ядре.

Если вы аннулировали механизм обнаружения / защиты, вы можете также внедрить DLL и просто выполнить обычный обход пользовательского режима в этой точке.

...