Главная » Контроль » Обзор аппаратного клавиатурного шпиона KeyLogger PRO

Обзор аппаратного клавиатурного шпиона KeyLogger PRO

кейлоггер на c

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

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

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

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

Еще по теме: Обзор кейлоггера The Rat!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Последующее исследование

Сторонние приложения

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

USBLogView

Приложение USBLogView позволяет отслеживать историю подключений USB-устройства во время включения / отключения, записывать эти события в отдельный файл, хранимый на компьютере.

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

Полезная информация о событиях, связанных с USB устройствами
Полезная информация о событиях, связанных с USB устройствами

Собранный файл с логами в формате CSV можно посмотреть в Excel:

«Сырые» данные об активности касательно USB устройств
«Сырые» данные об активности касательно USB устройств

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

Отслеживание изменения логов

Если организация использует продукты компании SolarWinds, можно настроить отчетность при изменении размера или содержимого файла. Например, отправку оповещений системному администратору при изменении файла с логами, создаваемого приложением USBLogView, во время подключения и отключения USB устройства.

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

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

Менеджеры паролей

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

Основной недостаток этой идеи – если будет скомпрометирован главный пароль ко всей базе, злоумышленник получит доступ к всем паролям, и последствия могут оказаться катастрофическими.

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

Во время исследования решений EDR (Endpoint Detection and Response), предназначенных для обнаружения и реагирования на атаки на конечные устройства, выяснилось, что в некоторых случаях поиск проводится не в том месте. Например, традиционные антивирусы проверяют, вставлена ли карта памяти. Затем проводится сканирование устройства на предмет вредоносных приложений прежде, чем пользователю будет разрешен доступ к содержимому. Большинство корпоративных решений в сфере защиты конечных узлов, как, например, Symantec и Microsoft Anti Malware работают именно подобным образом.

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

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

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

ПроизводительУспешность детектирования
Microsoft Windows Defender (Windows10)Кейлоггер не обнаружен
ESET Endpoint SecurityКейлоггер не обнаружен
Morphisec Endpoint Threat ProtectionКейлоггер не обнаружен
Spy Shelter Silent 11.7 Anti-Key LoggingКейлоггер не обнаружен

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

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

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

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

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

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

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

Сможет ли фаервол заблокировать передачу?

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

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

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

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

Кроме того, USB-порты можно отключить в Диспетчере устройств. Однако при всех возможных настройках подобного рода, если пользователю нужна клавиатура, угроза безопасности оставаться будет.

Как защититься от KeyLogger PRO?

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

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

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

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

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

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

Заключение

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

Еще по теме: Как написать кейлоггер на C#

Один комментарий

  1. Аватар
    Art

    Наверняка программно можно придумать как распознать подключенные устройства

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *