Hacking
January 18, 2022

Обзор аппаратного кейлоггера KeyLogger PRO

Он знает о каждом нажатии на твою клавиатуру

Всем салют, дорогие друзья!
За последние годы было много попыток создания аппаратных кейлоггеров. Самоделки изготавливаются в основном на базе устройств Raspberry Pi или плат Arduino. С другой стороны, крошечные устройства KeyLogger PRO от компании Maltronics удивляют богатством возможностей, доступных для пользователей. Этот девайс я приобрел для своих целей, но решил сделать для вас обзор, т.к. штука очень интересная.

Но, для начала напомню, что такое кейлоггер...


Что такое кейлоггер?

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

Но у нас то аппаратный кейлоггер, а это кое-что поинтереснее:

Аппаратные кейлоггеры встречаются намного реже, чем их программные собратья, но ни в коем случае не стоит забывать о них.

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


Вернемся к обзору

В KeyLogger PRO есть несколько интересных функций:

  • Подключение к устройству через Wi-Fi, используя WPA2.
  • Просмотр собранной информации на расстоянии (через Wi-Fi).
  • Отправка собранной информации через SMTP в виде отчетов в электронных письмах.
  • Отправка собранной информации на сервер через UDP.

Особый интерес представляет новая функция потоковой передачи через UDP и отчеты по электронной почте.

KeyLogger PRO, размером примерно 1 на 1 сантиметр, показан на рисунке ниже в сравнении с USB разъемом клавиатуры, подключенной к ноутбуку стандартного размера.

Аппаратный кейлоггер KeyLogger PRO

Довольно сложно обнаружить присутствие этого устройства, особенно если компьютер находится под столом. Кроме того, при необходимости девайс можно скрыть внутри клавиатуры. Компания-производитель есть модели под эту задачу. Еще сложнее обнаружить KeyLogger PRO на программном уровне. Подробнее эту тему рассмотрим позже.

Веб-приложение для KeyLogger PRO

Настройки устройства

В KeyLogger PRO есть собственная система управления в виде веб-приложения, к которой можно подключиться через мобильной устройство или браузер на компьютере. Есть четкие инструкции по настройке безопасности точки доступа через SSID, используемый по умолчанию. После подключения к устройству появляется доступ к конфигуратору.

  • Настройки точки доступа устройства
Настройка SSID и пароля

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

  • Настройки кейлоггинга
Настройка фильтра для сбора информации
  • Настройка отправки отчетов по электронной почте
Настройка пересылки собранной информации через SMPT

Сценарии атаки

Отправка собранных сведений через SMTP

Используя возможности устройства, хакер может настроить SMTP для отправки отчетов по электронной почте со всеми собранными данными. На рисунке выше указано, что интервал отправки равен 2. То есть собранные данные будут отсылаться каждые две минуты. Единственный недостаток этой фишки – как только у устройства появится подключение к интернету, отчеты будут отсылаться каждые две минуты даже в случае отсутствия новых данных. Более правильный подход – отсылать файлы только в случае появления новой информации с момента последней пересылки.

Как только жертва введет любые сведения через скомпрометированную клавиатуру, будет отослан отчет, как показано в примере ниже.

Пример отчета с собранными данными, введенными при помощи клавиатуры
  • Настройка передачи через UDP
Конфигурирование сервера, подключенного к интернету и настроенного на протокол UDP

Отправка собранной информации через UDP

Мы можем развернуть VPS сервер (Virtual Private Server; Виртуальный частный сервер) и настроить в tcpdump прослушивание по протоколу UDP для получения собранной информации. Когда ничего не подозревающий пользователь будет нажимать клавиши на клавиатуре, данные будут передаваться UDP слушателю в режиме реального времени при следующих условиях:

  • На устройстве настроено подключение к интернету (через Wi-Fi).
  • Информация собирается со стандартной клавиатуры без сложных драйверов, как, например, в игровых клавиатурах.

К сожалению, кейлоггер не сможет собирать нажатия с цифрового блока, однако объем получаемый информации при помощи этого крошечного устройства все равно большой.

При помощи следующей команды можно настроить tcpdump для прослушивания на указанном порте и отображения полученных сведений:

sudo tcpdump -l -n -i ens3 dst port 25998 and inbound -s0 -vvv -w keylog.pcap

На рисунке ниже показан текст, отправленный в UDP потоке. Файл keylog.pcap открыт в Wireshark для просмотра сырых данных в UDP пакетах:

Каждый символ отправляется с устройства в отдельном UDP пакете

Методы обнаружения устройства

Можно ли обнаружить устройство в системе?

Поскольку устройство работает на аппаратных ресурсах, был проведен анализ, направленный на идентификацию устройства средствами операционной системы Windows 10/11.

Диспетчер устройств

В Диспетчере устройств отображаются настройки подключенного устройства USB Composite Device (см. рисунок ниже):

Вредоносные девайсы не обнаружены

Далее можно кликнуть правой кнопкой мыши на устройстве USB Composite Device и посмотреть дополнительную информацию.

На рисунке ниже отображаются сведения после подключения KeyLogger PRO вместе со стандартной USB клавиатурой:

В Диспетчере устройств отображается VendorId

Переменная ‘Last Device Instance Id’ содержит сведения, помогающие идентифицировать вредоносное устройства. Согласно документации, касательно комбинированных устройств, выясняется, что информация о драйверах отображается в следующем формате:

USB/VID_IdVendor&PID_IdProduct

По VENDORID (‘04F3’) из рисунка выше выясняется, что устройство работает на USB-драйверах от производителя «Elan Microelectronics Corp». В списке ниже указан перечень драйверов, связанных со значением VendorID:

  • Проводная мышь.
  • Беспроводная мышь.
  • Проводная клавиатура.
  • Беспроводная клавиатура.
  • Тачскрин (сенсорный экран).

Интересно, что при подключении KeyLogger PRO в USB разъем, в Диспетчере устройств ничего не появляется. Диспетчер устройств регистрирует только VendorID, связанный с USB клавиатурой, при подключении к кейлоггеру, но не сам кейлоггер.

Сей факт серьезно затрудняет задачу даже специалисту выяснить, вызвана ли активность на USB-порту легитимным устройством (во время отключения и повторного включения) или появлением вредоносного кейлоггера.


Поможет ли жертве антивирус?

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

Аппаратные кейлоггеры считывают данные прежде, чем дело дойдет до операционной системы, жесткого диска или оперативной памяти.

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

Во всех вышеупомянутых случаях во время ввода с клавиатуры все данных успешно были переданные на сервер или отправлены по электронной почте.

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

Настройки приложения Spy Shelter Anti-Key Logging

Бесплатная версия «защищает» от кейлоггеров посредством шифрования в процессах всей информации, вводимой с клавиатуры. Как видно из рисунка выше, процесс notepad.exe не находится в списке исключений.

Однако на рисунке ниже показан отчет, присланный кейлоггером по электронной почте:

Отчет, присланный кейлоггером, с компьютера, где установлен Spy Shelter

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

Заключение

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

На сегодня это все. Спасибо за внимание!

👉Да, хочу!ᅠ