Клавиатурные шпионы — весьма необычный класс программ, название которых давно не отражает их сути. Современные кейлоггеры могут делать скриншоты, следить через веб-камеру, записывать звук с микрофона, определять местоположение ноутбука, отсылать вместе с отчетом файлы указанного типа, дублировать историю браузера на случай ее удаления и делать множество других вещей.

WARNING


Вся информация предоставляется в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный упомянутыми в статье утилитами.
 

От утилиты до трояна — один байт

Статус многих хакерских утилит постоянно балансирует на грани между легитимным и вредоносным. С одной стороны, любая программа всего лишь инструмент, ответственность за который ложится на пользователя. С другой — ее функции могут считаться потенциально опасными, особенно если в ней реализовано глубокое внедрение в систему, а при написании кода были использованы спорные трюки.

Само слово «кейлоггер» — это устоявшееся, но некорректное название. Первые утилиты этого класса действительно записывали в лог только нажатия клавиш и вели себя почти как обычные программы. По мере развития они научились скрывать свою активность все лучше и собирать гораздо больше данных о действиях за компьютером, на котором были запущены.

INFO


Первый кейлоггер был установлен КГБ в 1976 году на печатные машинки IBM Selectric, стоявшие в американском посольстве и консульстве. Он выполнял аналого-цифровые преобразования, используя 1 бит памяти.

Именно возможность скрытого запуска позволила отнести их в конце девяностых к «потенциально вредоносным» на радость производителям антивирусов. С распространением доступного интернета в кейлоггерах появились функции отправки логов и удаленного управления. Это дало повод классифицировать их уже как трояны и бэкдоры, из-за чего одни авторы забросили выпуск обновлений, а другие приняли вызов и стали искать методы обхода антивирусов.

Теперь кейлоггеры приходится скрывать не только от пользователя, но и от антивирусных сканеров. Совершенствование способов маскировки стало не разовой необходимостью, а постоянным процессом. Терпения на него редко хватало даже у истинных хакеров, поскольку кейлоггеры они писали в основном забавы ради. К примеру, актуальность потерял Ghost Spy — лучший кейлоггер своего времени.

Большинство других разработчиков стали продавать под видом крутых кейлоггеров более простые программы для «родительского контроля». Они слабо маскируют свое присутствие в системе, а для нормальной работы обычно требуется добавить их в исключения антивируса и создать разрешающие правила файрвола. Получается прямо как в анекдоте про таджикский вирус, который лишь выводил на экран сообщение: «Мы не умеем программировать, поэтому удалите свои файлы сами».

Современные антивирусы реагируют на многие хакерские утилиты, и вирусописатели этим часто пользуются: они подсовывают свои творения всем, кто ищет кейлоггеры. Неискушенный пользователь скорее разведет на своем компе табун троянов, чем скачает действующий клавиатурный перехватчик.

Конечно, родительский контроль, перехват паролей и шпионаж — далеко не единственное назначение этих программ. Вариантов использования может быть много: некоторые кейлоггеры позволяют искать украденные ноутбуки, попутно собирая доказательства вины и протоколируя все действия воров, а удаленное прослушивание и подключение к веб-камере — это отличные охранные функции.

 

The Rat!

Программа The Rat, написанная человеком с псевдонимом HandyCat, — образец настоящего ассемблерного искусства. Это целая серия кейлоггеров, некоторые версии предусматривают даже удаленную установку. По словам автора, первоначально форк The RatKid задумывался как упрощенная версия. Однако вскоре он превратился в отдельную утилиту, временно ставшую даже более мощной, чем ее прародительница. Сейчас внутренняя конкуренция устранена: The Rat и The RatKid почти идентичны. Отдельно существует лишь старый The Rat v.10, оптимизированный под Windows XP. Последний же релиз — The Rat v.13 Lucille был создан в мае этого года. Скачать можно как полную, так и демоверсию.

Каждый дистрибутив The Rat представляет собой архив в архиве. Внутри .zip находится самораспаковывающийся модуль WinRAR, закрытый паролем. В демоверсии он сообщается: TheRatKlg. Чтобы узнать пароль для полной версии, необходимо связаться с HandyCat по указанному на сайте адресу. После распаковки архива получишь два исполняемых файла: RatCenter.exe — центр управления и RatExtractor.exe — просмотрщик логов. Еще там есть подробная справка и файл лицензии.

Конфигурация RatCenter
Конфигурация RatCenter

Весь файловый набор занимает 1,6 Мбайт, но большая часть этого объема приходится на графический интерфейс центра управления. За счет упаковщика сам кейлоггер умещается в 20 Кбайт ассемблерного кода, а распакованная версия — в 50 Кбайт. Работает он с любой раскладкой клавиатуры, включая арабскую и японскую. Совместимость проверена на всех версиях Windows от XP до 8.1. На «десятке» он еще не тестировался, но должен работать.

По умолчанию в настройках отмечена опция уведомления пользователя о слежке за ним. У демоверсии она не отключается, и при каждом перезапуске Windows на экране появляется соответствующее окно программы с единственной кнопкой ОK. В полной версии демаскировку можно отключить. К тому же в ней есть еще один уникальный компонент — программа для объединения нескольких файлов FileConnector. Она может присоединить кейлоггер к любому исполняемому или мультимедийному файлу. Результатом работы FileConnector всегда будет новый экзешник, содержащий код исходной программы и The Rat. Правда, актуально это только для слежки за неопытными пользователями, которых не смутит расширение avi.exe или mp3.exe. Ограничения: исходный и конечный файл должны содержать в названии только латиницу и цифры.

Основное назначение FileConnector — упростить удаленную установку методом социальной инженерии. Например, можно отправить пользователю прикольную игру или самораспаковывающийся архив с важными документами, к которому прикреплен кейлоггер. Полная версия The Rat также использует упаковщик/шифровальщик исполняемых файлов, чтобы уменьшить размер «довеска» и затруднить его обнаружение.

TheRat — кейлоггер со встроенным снифером
TheRat — кейлоггер со встроенным снифером

В дополнение ко всем традиционным функциям кейлоггеров The Rat умеет отслеживать действия в окнах предварительно выбранных приложений и реагировать на ключевые слова, делать скриншоты через заданный интервал времени или при каждом нажатии клавиши Enter. Это существенно снижает количество мусора в логах и упрощает их передачу. Полнофункциональная версия дополнительно выполняет задачи снифера: максимально подробно протоколирует всю работу в интернете и локальной сети. В отличие от других кейлоггеров, The Rat может перехватывать подстановку сохраненных паролей и данные автозаполняемых форм.

Также в The Rat есть интересная функция локального поисковика. Он может скрыто найти один или несколько файлов по предварительно заданной маске, а затем отправить их копии вместе с логом по почте или на FTP, указанный в настройках Rat(Kid)Center. Как искать FTP с анонимным входом и возможностью записи, я писал в статье о методах скрытой пересылки больших файлов.

Поиск файлов по маске
Поиск файлов по маске

Многие из старых кейлоггеров больше не актуальны в связи с переходом SMTP-серверов на безопасное подключение. В The Rat поддерживается протокол TLS, а потому он способен отправлять логи через современные почтовые сервисы. Если же у пользователя кейлоггера есть физический доступ к наблюдаемому компьютеру, то ему пригодится другой нетривиальный метод получения лога — автокопирование. Начиная с одиннадцатой версии, Rat(Kid)Center умеет создавать флешку, при вставке которой в USB произойдет автоматическая запись лога клавиатурного шпиона.

Ключевая особенность всех последних версий TheRat — работа по принципу бестелесных вирусов. При запуске The RatKid, а также The Rat v.11 и выше не создается отдельных исполняемых файлов. Он запускается один раз из центра управления или модифицированного экзешника, а затем полностью скрывает следы пребывания и существует только в оперативной памяти. Любое штатное выключение и даже перезагрузка по короткому нажатию Reset оставляет его в системе. Удалить The Rat(Kid) можно отдельной утилитой Rat(Kid)Finder из комплекта соответствующей полной версии. Она обнаруживает сам клавиатурный шпион, отыскивает созданный им лог, позволяет изменить настройки и узнать горячие клавиши для отключения кейлоггера.

Настройка поведения кейлоггера
Настройка поведения кейлоггера

Альтернативный вариант его выгрузки — мгновенное обесточивание компьютера. Он действует только в том случае, если при установке кейлоггера не было предпринято дополнительных мер защиты. В настольных системах для этого потребуется выдернуть сетевой шнур, а у ноутбуков — аккумулятор. Простое выключение кнопкой бесполезно. «Крысу» размером пятьдесят килобайт легко сохранить не только в ОЗУ, но и в кеше процессора, накопителя, CMOS и любой другой доступной памяти, которая не обнулится при наличии дежурного источника питания.

Если же The Rat был присоединен к любому исполняемому файлу из списка автозапуска, то для удаления клавиатурного перехватчика после обесточивания компьютера придется сначала загрузить другую ОС и найти модифицированный экзешник. Лучше всего это делают дисковые ревизоры (такая функция есть, к примеру, у AVZ) и программы, способные вычислять хеш-функции. Например, Autoruns сверит не только их, но и цифровые подписи объектов автозапуска, а все подозрительные файлы отправит на сервис онлайновой проверки VirusTotal. Впрочем, это не панацея. Малый файл кейлоггера не обязательно будет внедрен в другой. Он может существовать как спутник — например, в альтернативных потоках NTFS.

Модульная архитектура The Rat
Модульная архитектура The Rat

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

Минус у кейлоггера один — предсказуемый и существенный: в настоящее время его файлы определяются большинством антивирусов. Поэтому перед использованием на целевом компьютере их придется доработать упаковщиками с функцией шифрования или обфускации кода.

 

SpyGo

SpyGo — принципиально другой по своей логике работы кейлоггер для Windows (от XP до 8.1, поддерживается и 64-разрядная версия). В нем используется куда менее агрессивное поведение. Из-за этого его сравнительно легко обнаружить, зато он считается вполне законным. Его автор даже не прячется за ником — это программист Антон Карташов из города Бердска Новосибирской области. Он старается развивать проект не столько как хакерский софт для шпионажа, сколько в качестве легального средства мониторинга.

Разработчик делает все возможное, чтобы избежать попадания SpyGo в базы антивирусов. Дистрибутив хоть и зашифрован при помощи Enigma Protector, но имеет цифровую подпись Spygo Software, заверенную в центре сертификации Comodo. Пока на SpyGo (точнее — на упаковщик) ругаются только два из полусотни сканеров, да и то на уровне параноидальной эвристики. Смотри отчет VirusTotal.

Установка SpyGo
Установка SpyGo

Этот клавиатурный перехватчик доступен в версиях Lite, Home и Ultima Edition. Последний релиз (3.6 build 50315) вышел в июне этого года. Отличия между версиями касаются в основном продвинутых функций. В Lite и Home недоступна удаленная прослушка через микрофон и определение местоположения отслеживаемого ноутбука. Также в этих версиях не работают все дистанционные функции: удаленный просмотр логов, трансляция по сети выводимого на экран изображения, наблюдение через веб-камеру, управление самой программой и ее деинсталляция. В версии Lite отсутствует и функция доставки отчетов (на email или по FTP) и моментальное оповещение на электронную почту о посещении веб-сайтов, отмеченных как «нежелательные».

Основные настройки SpyGo
Основные настройки SpyGo

Мы протестировали версию Ultima Edition, которая умеет практически все. Разумеется, среди реализованных функций есть запись клавиатурных нажатий и копирование текста из буфера обмена. В SpyGo протоколируется и общая статистика работы за компьютером: время его включения и выключения, запуск определенных программ и действия в них. Кейлоггер особенно внимательно наблюдает за браузером: собирает статистику посещаемых сайтов и отслеживает поисковые запросы. Среди дополнительных возможностей есть создание скриншотов (работает в том числе в играх и при просмотре фильмов), получение фотографий с веб-камеры, создание лога всех операций с файлами в выбранном каталоге или на всем диске, а также подключение съемных носителей.

Выбор отслеживаемых действий и способов отправки отчетов
Выбор отслеживаемых действий и способов отправки отчетов

Среди рядовых пользователей сейчас наиболее востребованы такие возможности, как мониторинг действий своих домочадцев в социальных сетях и чтение их переписки в разных мессенджерах. SpyGo все это умеет делать и записывает в лог подряд или отлавливая только отдельные фразы по ключевым словам.

SpyGo интересен еще и тем, что может запускаться в определенное время и выполнять выборочный мониторинг — это помогает уменьшить размер лога. Все логи шифруются. Предполагается, что просмотреть их можно только из SpyGo. Записанные события сгруппированы в отчете по вкладкам. Они создают довольно точное представление о работе пользователя, однако встречаются и расхождения. К примеру, в утилите AVZ мы просто выполнили быстрое сканирование, а в разделе «Нажатые клавиши» лог-файла отобразился странный текст «еуыыеу...» на две строки. В других программах подтверждению действия кликом мыши соответствовала запись о вводе «y», что укладывается в консольную логику работы.

Просмотр лога SpyGo
Просмотр лога SpyGo

Изначально программа действует явно. Мастер установки даже создает ярлык на рабочем столе, а в настройках есть отдельная опция «Уведомлять пользователя этого компьютера о наблюдении». Если ее отметить, то при включении компьютера будет отображаться текст предупреждения. Сделано это для того, чтобы избежать обвинений в незаконной слежке. К примеру, все уже привыкли к стикерам «Ведется видеонаблюдение» и фразам автоинформатора «Все разговоры записываются». Здесь то же самое: корпоративная политика и борьба за дисциплину.

Иду на вы!
Иду на вы!

Естественный для кейлоггера «тихий» режим включается вручную после первого запуска. Он убирает окно программы, скрывает ее из панели задач, списка установленных программ и всячески маскирует активность. Вернуть окно SpyGo можно нажатием заранее установленной комбинации клавиш (по умолчанию это ). Если ты забыл хитрое комбо, то можно заново запустить установку программы и увидеть ее работающую копию (или окно ввода пароля, если он задан). Это сделано не слишком в духе ниндзя, зато помогает страдающим склерозом.

Скрытие запущенной программы действует как в системном диспетчере процессов, так и в его продвинутых аналогах вроде Process Explorer. Популярные антивирусы также игнорируют работу кейлоггера, однако он моментально определяется анализатором AVZ как маскирующийся процесс.

Определение SpyGo в AVZ
Определение SpyGo в AVZ

В файловой системе кейлоггер вообще особо не прячется. Он лишь устанавливает атрибут «скрытый» на свой каталог, так что его не будет видно в проводнике с настройками по умолчанию. Естественно, он остается видим другими файловыми менеджерами по стандартному адресу С:\ProgramData\SGO\sgo.exe. Путь установки можно задать другой, но помогает это слабо — экзешник всегда одинаковый, иначе бы его определяли как полиморфный вирус. Сравнение секций автозапуска до и после установки SpyGo показывает добавление библиотеки RTDLib32.dll. Антивирусы ее пропускают, но торчит она в системе довольно явно.

Добавление библиотеки при установке SpyGo
Добавление библиотеки при установке SpyGo

Разных кейлоггеров можно найти много, и каждый из них интересно изучать. Однако в конечном счете любой из них будет аналогом зубастого The Rat или няшного SpyGo. Эти два разных подхода к написанию утилит двойного назначения будут сосуществовать всегда. Если надо обезопасить свой ноут, проследить за ребенком или нерадивым сотрудником, смело ставь SpyGo и контролируй все действия через удобный интерфейс. Если же требуется полная скрытность — бери за основу ассемблерную «Крысу» и прячь ее от антивирусов на время установки, как умеешь. Дальше она сама побежит, прогрызая дыры даже в мощной защите. The Rat исключительно сложно детектировать в работающей системе, и этот кейлоггер стоит потраченных усилий. Скорее всего, ты сможешь написать свой к тому времени, когда полностью разберешься с ним.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    5 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии