Как получить список установленных хуков?

Тема в разделе "WASM.WIN32", создана пользователем beginner, 27 сен 2008.

  1. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    собственно сам сабж. Интересуют практически всевозможные типы хуков: WH_MOUSE_LL, WH_KEYBOARD_LL, WH_GETMESSAGE и им подобным.

    заранее спасибо.
     
  2. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Читай книгу зайцева
     
  3. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    2FED
    Можно поподробней? как называется?
     
  4. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    beginner Если собрался читать Зайцева, то сначала прочти это:
    http://rootkits.ru/viewtopic.php?id=27
     
  5. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    JCronuz
    спасибо, качнул книгу. Только там нет ничего, про то, что бы найти цепочку хуков.
    Прочитал все разделы, посвященные кейлоггерам через ловушки.
    Но книга занятная :) может чтото изменю у себя.
    Еще раз спасибо.
     
  6. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    beginner я к тому что там обсуждалась эта книга, конкретно вроде она очень напоминает книгу Грега Хугланда.
     
  7. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    JCronuz та сцылка что ты привёл это и есть книга зайцева, можно ещё почитать и хоглунда, "Внедрение в ядро windows" но там написано как устанавливать хуки а НЕ как их снимать или детектить.
     
  8. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Там обсуждение этой книги и собственно ссылка на неё
     
  9. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Все очень просто. Я как раз относительно недавно начал копать в ту сторону, хотел забацать статейку в продолжение этой.

    Для решения задачи нам необходимо получить указатель на SHAREDINFO (как в вышеупомянутой статье) и бежать по элементам массива aheList. Элементы с bType == 5 это записи о хуках. К сожалению, это все структуры, связанные с хуками, которые можно прочитать из юзермода, остальные читаются из ядра.

    Процесс идентификации библиотеки, из которой поставлен хук достаточно геморойный. Геморой связан с получением одной неэкспортируемой переменной, но мне удалось найти универсальный для NT-линейки способ ее поиска.

    Подробнее рассказать не могу - все наработки дома. Да и не хочу - ждите статью (ну или можете попробовать копнуть сами ;) ).

    PS. Пару лет назад некто ExeDel (кажись так, если не ошибся) выкладывал здесь прогу, мониторящую хуки, но она работала только под w2k sp4 и xp sp2 - как раз потому, что чел не смог найти переменную aatomSysLoaded. Так же он выкладывал описание структур хуков, но с некоторыми ошибками. Желающие могут попробовать найти тот топик.
     
  10. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    Twister
    Просто, когда это знаешь, а я еще жуткий нуб в этом деле. :dntknw:
    Из всего того, что я искал по этой теме, я понял только одно, что поиск установленных хуков - довольно нетривиальная задача.

    Нашел и тот топик о списках хуков. Пожалуй, я все таки подожду статью. :)
     
  11. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Ну я по срокам ни чего не обещаю. Начал я исследования еще в середине лета. Потом работу приостановил - горы, пляжи, девочки. А сейчас становится холодно, думаю скоро снова за нее сяду, но не знаю когда.
     
  12. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    DelExe, а не ExeDel :) И кстате, это был ответ на мой вопрос
     
  13. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    slow
    Ну знач ошибся. А у тебя есть какие-нибудь материалы? Мож в статейке пригодится. Есть у меня одна прикольная идейка по практическому приминению знаний о хуках.
     
  14. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Многоуважаемый народ!

    Есть просьба - протестите пожалуйста данную программульку, перечисляющую хуки, на 2003-ей винде, а то таковой не оказалось под рукой. Нужно запустить прогу и нажать Refresh. На 2000-ой можете не нажимать кнопочку, все равно BSOD пока неизбежен. На остальных (ХР, Виста) все работает прекрасно.

    http://slil.ru/26216818

    Заранее спасибо.
     
  15. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    Twister
    Увы. Я тогда применил вариант DelExe'a и больше об этом не вспоминал.
     
  16. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    Родной винды нет, но Windows Server 2003 Enterprise Edition Service Pack 1 есть на вмвари.
    вроде работает, скриншот прилагаю:
    [​IMG]

    Кстати на вирустотале дрвеб матюкнулся на ехе файл.
    Еще вопрос, ты сделал через драйвер. У меня просто файрвол матюкнулся, что драйвер ставится.
    Если при запуске подопытной программы, файрвол не матюкается на установку какого либо драйвера - можно ли утверждать, что она (программулина) не занимается перечислением и перехватом хуков?
     
  17. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Прочитать память ядра можно и без драйвера, так что утверждать наверняка нельзя.
     
  18. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Вопрос. VMware работает с клавиатурой через хуки или через драйвер клавиатуры?
     
  19. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Вопрос снимается, спасибо. Можно в VMWare подключить USB клаву.
     
  20. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Все. Баги в коде поправлены (были моменты, когда выводились не все хуки), есть полная совместимость со всей линейкой NT от 2k до Vista. На выходных засяду за статью.