Скрытый кейлоггинг. обзор keylogger pro.

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
Далеко не каждый сможет сразу же обнаружить такое крошечное устройство, подключенное к компьютеру.
За последние годы было много попыток создания устройств для сбора нажатых клавиш. Самоделки изготавливаются в основном на базе устройств Raspberry Pi или плат Arduino. С другой стороны, крошечные девайсы KeyLogger PRO от компании Maltronics удивляют богатством возможностей, доступных для пользователей.
В KeyLogger PRO есть несколько интересных функций:
  • Подключение к устройству через Wi-Fi, используя WPA2.
  • Просмотр собранной информации на расстоянии (через Wi-Fi).
  • Отправка собранной информации через SMTP в виде отчетов в электронных письмах.
  • Отправка собранной информации на сервер через UDP.
Особый интерес представляет новая функция потоковой передачи через UDP и отчеты по электронной почте.
KeyLogger PRO, размером примерно 1 на 1 сантиметр, показан на рисунке ниже в сравнении с USB разъемом клавиатуры, подключенной к ноутбуку стандартного размера.

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

Веб-приложение для KeyLogger PRO.
Настройки устройства.

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

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

Настройка отправки отчетов по электронной почте.

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

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


Настройка передачи через 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 пакетах:


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

Поскольку устройство работает на аппаратных ресурсах, был проведен анализ, направленный на идентификацию устройства средствами операционной системы Windows 10.
Диспетчер устройств
В Диспетчере устройств отображаются настройки подключенного устройства USB Composite Device (см. рисунок ниже):

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

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

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

, касательно комбинированных устройств, выясняется, что информация о драйверах отображается в следующем формате:
USB/VID_IdVendor&PID_IdProduct

По VENDORID (‘04F3’) из рисунка выше выясняется, что устройство работает на USB-драйверах от производителя «Elan Microelectronics Corp». В списке ниже указан перечень драйверов, связанных со значением VendorID:
  • Проводная мышь.
  • Беспроводная мышь.
  • Проводная клавиатура.
  • Беспроводная клавиатура.
  • Тачскрин (сенсорный экран).
Интересно, что при подключении KeyLogger PRO в USB разъем, в Диспетчере устройств ничего не появляется. Диспетчер устройств регистрирует только VendorID, связанный с USB клавиатурой, при подключении к кейлоггеру, но не сам кейлоггер.
Сей факт серьезно затрудняет задачу даже специалисту выяснить, вызвана ли активность на USB-порту легитимным устройством (во время отключения и повторного включения) или появлением вредоносного кейлоггера.

Последующее исследование.
Сторонние приложения.

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

USBLogView.
Приложение

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

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

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

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

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

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

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

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

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

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

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

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

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

Как защититься?
Наиболее очевидный способ – заблокировать доступ к USB-портам, который однако применим только в случаях, если большая часть пользователей работает на ноутбуках со встроенными клавиатурами. В случае с док-станциями и обычными офисными компьютерами с проводной клавиатурой и мышью этот способ работать не применим.
Также полезно проводить периодические тренинги, обучая сотрудников обнаруживать вредоносные устройства, подключенные к компьютеру. В этом случае у пользователя должны быть соответствующие права доступа для просмотра подключенных периферийных устройств.
Кроме того, можно закрывать компьютер в шкафу. Этот способ хорош в случае, если шкаф будет всегда заперт, что не всегда получается в переполненном офисе и при необходимости в постоянном обслуживании ПК.
Многие организации блокируют USB, однако пользователи все равно нуждаются в устройствах ввода (тех же клавиатурах), и в большинстве компаний не особо хотят раскошеливаться на клавиатуры со сложными драйверами или расширенной функциональностью.
Сетевые оповещения могут помочь, если злоумышленник для передачи собранной информации использует корпоративную сеть. Однако мобильная точка доступа позволяет получить всю необходимую информацию без каких-либо проблем. Беспроводной диапазон устройства позволяет злоумышленнику подключиться, скачать логи и оставить девайс подключенным. К тому времени, когда устройство будет обнаружено, введенная информация уже будет скомпрометирована.
В статье было продемонстрировано, что на программном уровне очень сложно распознать подобного рода устройства или специфические события, связанные с перемещением USB-девайса от одного компьютера к другому. Единственное реальное средство защиты – непрерывный мониторинг активности на USB-портах через логи, что требует детальной настройки особенно в больших организациях и также может потребовать больших ресурсов при реализации.
 
Сверху