Сейчас на форуме: jinoweb, bartolomeo (+5 невидимых) |
eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ? |
Посл.ответ | Сообщение |
|
Создано: 21 февраля 2017 18:24 · Поправил: noph · Личное сообщение · #1 Добрый день. Я с необычным вопросом, касающимся скорее уровня ring0. Опишу проблему: Есть некоторое защищённое приложение, использующее драйвер (что он делает точно не известно, через PCHunter я его вижу, но никаких ssdt/shadowssdt/object хуков нет). При этом это приложение ловит момент, когда я пытаются открыть его процесс через OpenProcess (ниже уровнем API тоже пробовал). То есть как только я делаю OpenProcess, целевое "защищённое" приложение выкидывает с ошибкой (не эксепшеном, а предупреждением о попытке взлома). В аттаче дамп этого драйвера. Вопрос вот в чём: каким образом этот процесс может ловить своё открытие другим процессом? Из usermode, без внедрения во все процессы системы, я так понял, это невозможно. Остаётся только ring0. Вопрос в том, как это обойти, имея на руках инструменты типа PCHunter и аналоги? 1d34_21.02.2017_EXELAB.rU.tgz - drv |
|
Создано: 21 февраля 2017 18:36 · Личное сообщение · #2 |
|
Создано: 21 февраля 2017 19:17 · Поправил: deniskore · Личное сообщение · #3 Не реверсил ваш драйвер. ObRegisterCallback позволяет зарегистрировать callback который будет вызываться когда происходит вызов OpenProcess или OpenThread плюс ко всему драйвер может смотреть наличие PROCESS_VM_WRITE, а значит вы хотите писать туда, что не положено. Так же драйвера могут хукать KiSystemCall64 и контролить системные вызовы при помощи своего обработчика. ( Передаем привет антивирусам и античитерским программам работающим в нулевом кольце ) | Сообщение посчитали полезным: noph |
|
Создано: 22 февраля 2017 11:40 · Личное сообщение · #4 |
eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ? |