Сейчас на форуме: jinoweb, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ?
Посл.ответ Сообщение

Ранг: 16.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 февраля 2017 18:36
· Личное сообщение · #2

ObRegisterCallbacks?

| Сообщение посчитали полезным: noph

Ранг: 53.9 (постоянный), 33thx
Активность: 0.050
Статус: Участник

Создано: 21 февраля 2017 19:17 · Поправил: deniskore
· Личное сообщение · #3

Не реверсил ваш драйвер.
ObRegisterCallback позволяет зарегистрировать callback который будет вызываться когда происходит вызов OpenProcess или OpenThread плюс ко всему драйвер может смотреть наличие PROCESS_VM_WRITE, а значит вы хотите писать туда, что не положено.

Так же драйвера могут хукать KiSystemCall64 и контролить системные вызовы при помощи своего обработчика. ( Передаем привет антивирусам и античитерским программам работающим в нулевом кольце )

| Сообщение посчитали полезным: noph

Ранг: 16.3 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 22 февраля 2017 11:40
· Личное сообщение · #4

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


 eXeL@B —› Программирование —› Как работает OpenProcess в Windows 7+ ?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати