информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медСетевые кракеры и правда о деле ЛевинаЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Крупный взлом GoDaddy 
 Просроченный сертификат ломает... 
 Phrack #70/0x46 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Можно 14.08.09 14:00  Число просмотров: 2376
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 14.08.09 14:02  Количество правок: 1
<"чистая" ссылка>
> Оптимальное решение - временно заблокировать штатную клаву.
> Из юзермода, естессно. Драйвер-фильтр писать неохота, к
> тому же я не знаю, как это делать под Дристу.
Ну так учись, раз не знаешь. Твое незнание не мешает тебе давать икспертные заключения (настолько же невежественные, насколько и безапелляционные) - значит справишься и с такой простейшей задачей.

"На верхний вопрос" ответил
<operating systems>
Реально ли создать кейлоггер (легальный) под Висту, который... 12.08.09 18:58  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Реально ли создать кейлоггер (легальный) под Висту, который бы логировал все нажатия клавиш текущим юзером не зависимо от фокуса? Чем это отличается от того же для ХРюши?

Если в системе не одна клава, можно ли различить, с какой введен символ в юзермоде и как?
А временно заблокировать штатную клаву можно? 14.08.09 13:41  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Короче, заказчик разродился доп.инфой: этоне спай, это, реально, поточный ввод с какого-тодевайса, прикидывающегося УСБ-клавой. Задача в том, чтобы не перемешать символы со штатной клавы и оттуда.

Оптимальное решение - временно заблокировать штатную клаву. Из юзермода, естессно. Драйвер-фильтр писать неохота, к тому же я не знаю, как это делать под Дристу.
Можно 14.08.09 14:00  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 14.08.09 14:02  Количество правок: 1
<"чистая" ссылка>
> Оптимальное решение - временно заблокировать штатную клаву.
> Из юзермода, естессно. Драйвер-фильтр писать неохота, к
> тому же я не знаю, как это делать под Дристу.
Ну так учись, раз не знаешь. Твое незнание не мешает тебе давать икспертные заключения (настолько же невежественные, насколько и безапелляционные) - значит справишься и с такой простейшей задачей.

"На верхний вопрос" ответил
Заказчик платит за выполненную работу, а не стипендию на обучение. 14.08.09 15:14  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
А мне, как минимум, надо решить, стоит ли браться, да и компа под Дристой у меня нет.

Был бы признателен, если бы ты все-таки подсказал, как заблокировать (остальное - понятно), а то, вопрос очень шкурный - постоянной работы 8й месяц нет, а всего, чего может пожелать случайный заказчик знать не реально и решение, браться/не браться, и как, надо принимать быстро, а времени на ошибки и их исправление - нет.
опиши подробно задачю которую надо выполнить... 22.09.09 14:23  
Автор: Tamas Статус: Member
<"чистая" ссылка>
> А мне, как минимум, надо решить, стоит ли браться, да и
> компа под Дристой у меня нет.
>
> Был бы признателен, если бы ты все-таки подсказал, как
> заблокировать (остальное - понятно), а то, вопрос очень
> шкурный - постоянной работы 8й месяц нет, а всего, чего
> может пожелать случайный заказчик знать не реально и
> решение, браться/не браться, и как, надо принимать быстро,
> а времени на ошибки и их исправление - нет.

опиши подробно задачю которую надо выполнить....
пиши на tamas собака mail.ru
Реально 12.08.09 21:13  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Реально ли создать кейлоггер (легальный) под Висту, который
> бы логировал все нажатия клавиш текущим юзером не зависимо
> от фокуса? Чем это отличается от того же для ХРюши?
Да толком ничем. Я вот только нигде не нашел описания как ведут себя те же хуки с UAC. Хотя с другой стороны, из проэлевейченного процесса отличий не будет вообще, а вот обычный процесс не сможет подглядывать за элевейтед

> Если в системе не одна клава, можно ли различить, с какой
> введен символ в юзермоде и как?
В юзермоде - никак. В драйвере - элементарно.
Хуки с UAC работают очень просто - хуки поставленные... 13.08.09 00:03  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 13.08.09 00:08  Количество правок: 1
<"чистая" ссылка>
> > Реально ли создать кейлоггер (легальный) под Висту,
> который
> > бы логировал все нажатия клавиш текущим юзером не
> зависимо
> > от фокуса? Чем это отличается от того же для ХРюши?
> Да толком ничем. Я вот только нигде не нашел описания как
> ведут себя те же хуки с UAC. Хотя с другой стороны, из
> проэлевейченного процесса отличий не будет вообще, а вот
> обычный процесс не сможет подглядывать за элевейтед
Хуки с UAC работают очень просто - хуки поставленные процессом с более низким IL не влияют на процессы с более высоким IL. В т.ч. WH_KEYBOARD_LL - похоже виста имеет 4 отдельных raw input очереди, или каким то иным образом все аккуратно разделяет в зависимости от текущего фокуса.
Кстати в висте есть security regression определенный по сравнению с XP, который думаю вызван этим нововведением. А именно - если хук ставиться процессом, работающим под другим аккаунтом, то ХР разделяла такие хуки, даже если процессы (вернее, их GUI потоки) работают на одном десктопе. Висте пофиг под каким user SID работает процесс - она сверяет лишь mandatory integrity label токена процесса-владельца хука и очереди сообщений. По кр мере голая виста без сервис паков вела себя именно так. С тех пор исследование не повторял. То есть виста в пределах одного десктопа (HDESK) совершенно не мультиюзерная ось, если юзера работают на одном IL.
Я так и думал - спасибо 13.08.09 01:43  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> пор исследование не повторял. То есть виста в пределах
> одного десктопа (HDESK) совершенно не мультиюзерная ось,
> если юзера работают на одном IL.
Ну да. Десктопы являются securable object-ами, а окна (и другие атомы) - нет. По моему вистовское поведение больше согласуется с самой идеологией виндового user/gdi.

Кстати, как ты себе представляешь мультиюзерную ось в пределах десктопа? :-)
Да хрен с ними, с окнами. Просто получается что мона свой... 13.08.09 11:14  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
> > если юзера работают на одном IL.
> Ну да. Десктопы являются securable object-ами, а окна (и
> другие атомы) - нет.
Да хрен с ними, с окнами. Просто получается что мона свой код инжектить в процессы другого юзера.

> По моему вистовское поведение больше
> согласуется с самой идеологией виндового user/gdi.
> Кстати, как ты себе представляешь мультиюзерную ось в
> пределах десктопа? :-)
Ну как бы сделали разделение для разных IL, почему было впадла точно так же еще SIDы проверить? Или боялись что EqualSid будет тормозить?.. Несложно было бы даже это соптимизировать...
Получается, да 13.08.09 12:00  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Да хрен с ними, с окнами. Просто получается что мона свой
> код инжектить в процессы другого юзера.
Но этот юзер по любому ты сам, потому что работаешь не только в той же сессии, а и на том же десктопе. Другой юзер будет работать вообще в другой сессии, а не только на другом десктопе/воркстейшене. Так что как по мне здесь все чисто. Ну а сервис, буде ему понадобится запустить чего нибудь в юзерской сессии будет иметь System IL и соответственно будет надежно изолирован от посягательств.

> Ну как бы сделали разделение для разных IL, почему было
> впадла точно так же еще SIDы проверить? Или боялись что
> EqualSid будет тормозить?.. Несложно было бы даже это
> соптимизировать...
Не, это точно тормозить не будет. IL-ы это обычный SID-ы и проверяются точно так же как и все остальные SID-ы. По-моему причины чисто идеологические. Хотя еще лучше б сделали нормальные ACL-ы (или хотя бы привелегию) для этих долбаных хуков - уж сколько с ними проблем безопасности. Но что поделаешь: legacy code is asset -> обратную совместимость будут держать до последней капли здравого смысла. В принципе тоже вполне понятно почему: разум то понимает, а душа не принимает :-)
Нахрена попу гармонь? 14.08.09 10:37  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Нахрена, вообще, рабочей станции многпользовательность? Самое большее, что ей надо - "свернуть" 1гоползователя и сохранить его на диск вшифрованном виде и "развернуть" другого.

Все зло в Мастдае от попытки скрестить ежа с ужом - станцию с серваком.

Тока мы от темы откланились... Заказчик откликнулся. Счас посмотрю, че на самом деле ему надо.
Ога. Приятно почитать икспертное мнение иксперта 14.08.09 11:58  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Лучше, на верхний вопрос ответь, иксперт по офтопу 14.08.09 13:45  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
В вашем случае эксперт на я, а Оккам. Нехрен порождать сущности, без которых можно обойтись.

А то будет, как у меня: под Дристой ХР-шный фильтр работать будет, или его надо писать совершенно отдельно?
Всенепременно. 14.08.09 13:58  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> В вашем случае эксперт на я, а Оккам. Нехрен порождать
> сущности, без которых можно обойтись.
Дада. Ты иксперт во всем. Выбегалло, @#$

> А то будет, как у меня: под Дристой ХР-шный фильтр работать
> будет, или его надо писать совершенно отдельно?
А мне похрену чего у тебя "под дристой", воспользуйся своим значительным интеллектуальным превосходством (ну еще можешь свои проммистские скиллы, которые не хуже чем у меня, задействовать). Ответ тривиален
Мне, чтобы выжить надо быть, пусть и поверхностным, но экспертом во всем 14.08.09 15:24  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Потому, что единственный способ прилично здесь заработать, это найти и выполнить совершенно неожиданный заказ, который никто другой выполнить не сможет.

Тебе когда-нить приходилось за 2 дня в глухом поселке запускать оффсетную машину, которую ты видишь впервые в жизни (и, вообще, впервые запускаешь лапы в печатный станок, о которых имеешь тока общее представление), а электроника этой машины, выпущенной 30 лет назад разобрана на отдельные модули, отсоединенные от жгутов и схемы нет? А я - запустил! Хотя, мне даже пришлось воспользоваться огнетушителем...
[UPD] Это понятно. Но зато возможность _создания_ секурити... 13.08.09 18:09  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 13.08.09 21:59  Количество правок: 1
<"чистая" ссылка>
> > Да хрен с ними, с окнами. Просто получается что мона
> свой
> > код инжектить в процессы другого юзера.
> Но этот юзер по любому ты сам, потому что работаешь не
> только в той же сессии, а и на том же десктопе. Другой юзер
> будет работать вообще в другой сессии, а не только на
> другом десктопе/воркстейшене. Так что как по мне здесь все
> чисто. Ну а сервис, буде ему понадобится запустить чего
> нибудь в юзерской сессии будет иметь System IL и
> соответственно будет надежно изолирован от посягательств.
Это понятно. Но зато возможностьсозданиясекурити решений, основанных на принципе работы под отдельным юзером сразу идут лесом, или, как минимум, порядочным геморроем. Отдельный десктоп конечно правильно, но неприемлемо для юзера.
[UPD]
Просто меня угораздило стать разработчиком такого секурити решения, и вышеупомянутое поведение виндовых хуков потребовало следующего финта ушами - грузим во все процессы свою длл (мы ее грузим так же и по другим причинам), затем в каждом процессе патчим IAT user32.dll так чтобы LoadLibraryExW указывало на наш враппер, который связывается с сервисом для того, чтобы выяснять, - разрешать ли user32 всасывать в процесс каждую конкретную длл. Как это выясняет сервис - совершенно отделтый вопрос) Но если бы винда проверяла токен поставившего хук на DACL процесса который создал окно, нормально, а не просто IL'ями - все получилось бы просто и элегантно.

> > EqualSid будет тормозить?.. Несложно было бы даже это
> > соптимизировать...
> Не, это точно тормозить не будет. IL-ы это обычный SID-ы и
> проверяются точно так же как и все остальные SID-ы.
Не совсем обычные. ILы отличаются только одной SubAuthority, т.е. фактически достаточно такого сравнения:
((SID*)(il1->Label.Sid))->SubAuthority[0]<=((SID*)(il2->Label.Sid))->SubAuthority[0]
Полностью согласен 14.08.09 01:13  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2021 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach