• XSS.stack #1 – первый литературный журнал от юзеров форума

Алгоритм работы кейлоггера

Quake3

TPU unit
Забанен
Регистрация
03.11.2010
Сообщения
4 529
Решения
4
Реакции
5 305
Депозит
0.046
Пожалуйста, обратите внимание, что пользователь заблокирован
Как я понял, существуют три способа (я говорю о юзермоде, кернел не интересует) логирования клавиатурного ввода:
1. Опрос в цикле функций состояния клавиатуры GetKeyboardState/GetAsyncKeyState и так далее.
2. Хуки.
3. перехват функций, оконных сообщений и т.п.

1. Из того, что я понял в ходе изучения, эти функции - самое простое и самое первое, к чему приходит любой разработчик подобного софта. Ну а что - бери да вызывай в цикле и логируй, что там получилось. Но по факту, есть некоторые нюансы. Если слишком часто вызывать функцию (например - GetAsyncKeyState , опрос каждой клавиши), то это нагрузка на проц + будет логироваться несколько раз подряд одно и тоже (вида - вводишь "а", а он логирует "ааа"). Если слишком редко - часть символов пролетит. Нередко логирование было не в том порядке, что нужно - вместо "слово" логировалось "совло" и подобное. Если для обычной переписки это еще куда не шло (понять суть можно), то для логирования паролей, ес-но, не подойдет. Поигравшись с этими функциями, я так и не понял, как их оптимально использовать - наверное, все таки никак (или в комплексе с чем-то другим).

2. Более точный вариант, т.к. просто - получил сигнал что ввели новый символ, залогировал. С другой стороны, хуки - это дополнительная нагрузка на ОС, это страшное палево, и (возможно) нестабильность работы. Кто-то писал, что кривые хуки (вместе с аверами) могут уронить систему в бсод.

3. Экзотика - из-за этого нестабильная работа, ну и палево (перехват функций это обычно инжект).

В общем, интересует ваше мнение на эту тему, особо мнение тех, кто реверсил такую малварь. Что чаще всего используют, плюсы и минусы.
 
Хучим TranslateMessage, сорцы в зевсе, профит.

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

Херня и бред, привет индюку.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Apocalypse
Спасибо, буду изучать.

SilverT
В теме можно конечно обсуждать что угодно. Но лично мне ринг0 не интересен,т.к. я остановился на юзермоде.
 
Какой еще режим едра, хоспади... dry.gif

Режим едра остался в 2006 году.

Откуда инфа? По моим сведеньям цветет и пахнет.. Правда входной порог скокнул много ввысь, это да.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
TrueMind
в том-то и дело, что сейчас с 0 кодить под ядро нет смысла. Нужна подпись (для х64), чтобы попасть в ядро нужны обходы/эксплойты, я уже не говорю про уровень вхождения. Поэтому для себя я эту тему закрыл, в ринг3, если его идеально изучить, тоже есть где развернутся.

А по поводу малвари - много ли вы встречали последнее время ринг0 софта? Кроме крупных и известных проектов с буткитками и т.д. Почти все, что есть на рынке это юзермод.
 
А по поводу малвари - много ли вы встречали последнее время ринг0 софта? Кроме крупных и известных проектов с буткитками и т.д. Почти все, что есть на рынке это юзермод.

То, что есть на рынке (читай паблик) приносит не такой высокий профит как то, чего нет на рынке, и чьи авторы явно задумываются о безопасности своих детищ.
Смысл ринг0 это глубокая защита и длительное (!)скрытное прибывание на зараженной машине. Утитывая современные тенденции цен на инсталлы, скорость детекта криптованных семплов, распространения различных утилит для поиска заразы на ПК (!не аверы), оправданность спуска в нулевое кольцо может быть оправданна. Плюсов множество начиная от отсутствия надобности ежедневого рекрипта кончая защитой от всяких ринг3 выкуривателей малвари, а при умелом использовании и обходов антируткитов. С подписью всё тоже не так однозначно, во первых есть варианты патчинга проверки подписей с помощью буткитов, во вторых есть возможно подписи дрова (только вот серт как правило будет отсутствовать в вайтлистах).

p.s. Ну а по теме, апокс верно сказал на счет сурсов зевы или карба, не стоит изобретать велосипед.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
По поводу хуков - приложение с более низким Integrity Level не может устанавливать хуки в процессах с более высоким Integrity Level.
 
Локальные сплоиты дело скользкое. Надо на борту таскать несколько штук под разные ОС. Чекать версии что бы знать применять или не стоит лишний раз агрить аверов. Так что 90% не заморачиваются и в цикле крутят запросы уак. Пока юзеру не надоест и он не нажмет "ок".
 
Пожалуйста, обратите внимание, что пользователь заблокирован
очень полезно. Был бы рад прочесть и другие алгоритмы разных малварей

По возрастанию беспалевности:
RawInput
DirectX
OCR, но не работает с пассами по очевидным причинам
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх