определение keyloggera +IDT

Discussion in 'WASM.WIN32' started by SomeOne_TT, Aug 11, 2005.

  1. SomeOne_TT

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    39
    Потенциально возможен вариант перехвата клавиш с помощью драйвера,который правит GIDT/LIDT.





    1. Каким по реализации видится вам подобный кейлоггер

    2. Главный вопрос: как можно определить наличие такого кейлоггера в системе? В идеале - из юзермода.





    Благодарю.
     
  2. Ms Rem

    Ms Rem New Member

    Blog Posts:
    0
    Joined:
    Apr 17, 2005
    Messages:
    1,057
    Location:
    С планеты "Земля"
    SomeOne_TT

    Что такое GIDT/LIDT ? Я знаю GDT IDT и LDT, но про GIDT что-то не слышал :)





    Такой кейлогер даже не стоит делать, так как палиться он с полпинка, да и гиморно будет отследить в каком окне набивался текст.

    Есть куда более простые и незаметные способы кернелмодного кейлогинга.





    Достаточно просмотреть вектора прерываний в IDT, они обычно указывают в ntoskrnl.exe/hal.dll, если они указывают в какой-то левый драйвер, то значит ахтунг.





    \Device\PhisicalMemory
     
  3. SomeOne_TT

    SomeOne_TT New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2005
    Messages:
    39
    Опишите,пожалуйста, эти самые "другие, простые и незаметные" способы?



    P.S.

    sidt доступна для вызова из юзермода?

    P.P.S.

    под гидт и лидт я имел в виду глобальные и локальные таблицы прерываний )





    Благодарю.
     
  4. Ms Rem

    Ms Rem New Member

    Blog Posts:
    0
    Joined:
    Apr 17, 2005
    Messages:
    1,057
    Location:
    С планеты "Земля"


    Установка хуков на GDI функции через SDT.

    Сплайсинг кода обработчиков прерываний, драйвера клавиатуры либо функций win32k.sys осуществляющих обработку сообщений.

    Перехват сообщений из потоков raw input в процессе csrss.exe, перехват функций связанных с получением/обработкой сообщений в юзермоде.

    Если немного подумать, то к этому списку еще многое можно добавить...





    Да, но lidt не доступна.