Сейчас на форуме: igorcauret, Rio (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Низкоуровневые права программы
Посл.ответ Сообщение

Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 мая 2015 23:55
· Личное сообщение · #1

Здравствуйте!
Может ли программа под win server 2008, запущенная без прав админа, перехватить сделанный какой-то другой программой скриншот экрана (он делается путём получения DC десктопа и bitblt) ?

Может ли вообще программа без прав админа устанавливать какие-либо hook-и на функции?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 12 мая 2015 10:38
· Личное сообщение · #2

Любые перехваты(хуки) - требуют повышения прав, если программа не использует какие-либо техники повышения привилегий

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





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

Создано: 12 мая 2015 10:47
· Личное сообщение · #3

Для текущего пользователя в юзерские неэлевированные процессы может ставить хуки без админа.

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

Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 мая 2015 21:14 · Поправил: Nagva1
· Личное сообщение · #4

А бывает ли так, что программа при запуске из-под юзера никаких UAC-ов не выбрасывает, но всё-таки получает права администратора? (учитывая, что это "хорошая" программа, и никаких уязвимостей не использует)



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

Создано: 12 мая 2015 21:51
· Личное сообщение · #5

Nagva1 пишет:
всё-таки получает права администратора

Просто так взять и получить никак нельзя (на этом, собственно, и базируется разграничение прав в виндовсе). Или программа наследует права своего процесса-родителя (Explorer.exe вряд-ли кто-то, в здравом рассудке запускает от учетной записи администратора) или использует какие-то дыры в системе. Как вариация последнего: мост "ring3 - ring0", т. е. самописный драйвер, который дает полномочия уровня ядра системы; использование моста "ring3: клиент - сервер", когда клиент запущен под обычной учетной записью, а сервер под администратором.
Какова конечная цель Ваших вопросов?



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 мая 2015 22:00
· Личное сообщение · #6

>>Как вариация последнего: мост "ring3 - ring0", т. е. самописный драйвер

Но если программа захочет установить такой драйвер, обязательно будет выдано системное предупреждение-запрос, правда ведь?

Конечная цель - понять, может ли одна программа обнаружить присутствие другой (моей) программы по косвенным признакам (типа вызова bitBlt).



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

Создано: 12 мая 2015 22:13
· Личное сообщение · #7

Nagva1 пишет: Конечная цель - понять, может ли одна программа обнаружить присутствие другой (моей) программы по косвенным признакам

Может, если запилин код для обнаружения вмешательства.
Чем гадать проще в IDA глянуть ибо тут можно на генерировать 100500 вариантов, которые можно решить только в ядре или выпиливанием всех проверок в самой программе.
Задача из разряда противостояния щита и меча.



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 мая 2015 23:03 · Поправил: Nagva1
· Личное сообщение · #8

А может ли неэлевированный процесс понять, что нажатия в его окно шлются с помощью sendInput?




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 19 мая 2015 00:04 · Поправил: Rainbow
· Личное сообщение · #9

Nagva1 пишет:
А может ли неэлевированный процесс понять, что нажатия в его окно шлются с помощью sendInput?


Может, если его дров на другом конце моста стоит на стрёме



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 мая 2015 00:14
· Личное сообщение · #10

Ну, я слышал что если захукать WM_..._LL (точное название не помню), то можно увидеть флаг INJECTED. Вопрос в возможности проведения такого хука неэлевированным процессом.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 19 мая 2015 10:40
· Личное сообщение · #11

Nagva1 внутри своего процесса программа может хукать, так что определить флаг INJECTED можно.

-----
[nice coder and reverser]


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


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