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


Введение

Аппаратный кейлоггер является отличным решением для мониторинга пользовательской активности и в отличие от программного кейлоггера, у него минимальный риск обнаружения.
Аппаратный кейлоггер - это чисто электронное устройство, которое не требует установки какого-либо дополнительного программного обеспечения, вмешательства в ОС, драйверы и т.п. Однако, у большинства аппаратных кейлоггеров есть один недостаток - периодически требуется физический доступ к компьютеру для переброса информации с памяти кейлоггера. Но есть очень хорошее решение: радио кейлоггер (Wireless Keylogger).

Радио (или беспроводной) кейлоггер состоит из двух основных модулей: передатчика и приемника. Сам модуль кейлоггера находится в передатчике, который является PS/2 аппаратным кейлоггером с встроенным радиопередающим модулем 2.4 ГГц. Т.о. все нажатия клавиш клавиатуры передаются в реальном времени через радиоканал. Приемник находится в другом месте и подключен через USB. Далее, на стороне ПО через виртуальный COM-порт, принятые данные можно отобразить в любом терминале.

Wireless Keylogger

Вся система работает в режиме реального времени, т.е. текст, который набирается на клавиатуре с передатчиком, сразу же виден на приемной стороне. Максимальный радиус действия составляет около 50 метров. В здании с 3-4 стенами радиус действия составляет около 20 метров (зависит от толщины стен).

Передатчик Приемник

И передатчик и приемник, имеют одинаковую принципиальную схему и соответственно топологию печатной платы. Оба имеют однотипный форм-фактор и сделаны под PS/2 и USB удлинители с т.н. балуном (ферритовое кольцо - фильтр).

Компоненты

Чтобы собрать данный кейлоггер вам понадобятся базовые знание электроники и умение пайки SMD-компонентов.

Электронные компоненты Кабель, корпус и платы

В таблице ниже, приведен список требуемых радиоэлементов для приемника или передатчика (разницы нет, т.к. все одинаковое кроме кабеля и прошивки).

Обозначение Описание Корпус Кол-во
U1 Микроконтроллер AT91SAM7S64 TQFP64 1
U2 Передатчик nRF2401 QFN24 1
U3 Стабилизатор напряжения MCP1700T-330 SOT-23 1
Q1 Кварц 18.432 МГц HC-49 SMD 1
Q2 Кварц 16 МГц HC-49 SMD 1
R1, R2 Резистор 1.5 кОм 0805 2
R3, R4 Резистор 27 Ом 0805 2
R5 Резистор 1 МОм 0805 1
R6 Резистор 22 кОм 0805 1
C1, C27 Конденсатор 10 нФ 0805 2
C2, C28 Конденсатор 1 нФ 0805 2
C3, C4, C6, C7, C8 Конденсатор 22 пФ 0805 5
C5 Конденсатор 33 нФ 0805 1
C9 Конденсатор 2.2 пФ 0805 1
C10, C11 Конденсатор 1 пФ 0805 2
C12, C22, C23, C24, C25, C26, C32, C33, C34, C42, C43 Конденсатор 100 нФ 0805 11
C21, C31, C41 Конденсатор 1 мкФ 0805 3
L1 Ферритовый фильтр 0805 1
L2 Индуктивность 3.6 нГ 0805 1
L3 Индуктивность 18 нГ 0805 1

Основными компонентами здесь является микроконтроллер AT91SAM7S64 фирмы Atmel и радиомодуль nRF2401. Для обеих м/с нужны соответствующие кварцевые резонаторы. Кроме стабилизатора напряжения MCP1700 все остальные компоненты пассивные (резисторы, конденсаторы и пара индуктивностей). Обычный провод используется в качестве дипольной антенны. На картинках ниже приведена двухсторонняя плата.

Печатная плата. Верх

Печатная плата. Низ

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

Печатная плата. Маска. Верх

Печатная плата. Маска. Низ

Ниже, в данной статье вы найдете PDF-файлы плат и масок для их изготовления.

Сборка

Вся схема питается от 3.3В, которые выдает стабилизатор напряжения MCP1700. Питание берется напрямую от шины PS/2 (если передатчик) или от USB (в случае приемника).

Схема кейлоггера

Для пайки компонентов используйте соответствующие паяльник и флюс. Не допускайте перегрева компонентов. Сначала припаяйте радиомодуль nRF2401, это наиболее сложный компонент. Затем, микроконтроллер AT91SAM7S64 и стабилизатор MCP1700. В самом конце припаяйте резисторы, конденсаторы, кварцы и индуктивности. В качестве антенны можно использовать ISM 2.4 ГГц антенну, либо сделать простую четверть волновую дипольную антенну из кусочка провода. Оптимальная длина - 3.125 см. Собранные платы показаны на фото ниже.

Фото платы. Верх

Фото платы. Низ

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

Подсоединение передатчика к PS2

Подсоединение приемника к USB

Кабели разрежьте и подсоедините согласно вышеприведенным рисункам. Для вызванивания контактов воспользуйтесь тестером.

Распиновка PS/2

Сигнал Описание PS/2 pin Комментарий
VCC +5В питание 4 Должны быть подсоединены к модулю
GND Земля питания 3
CLK Clock 5
DATA Data 1
NC Не использ. 2, 6 Не используется
SHLD Экран -

Распиновка PS/2

Распиновка USB

Сигнал Описание USB pin Комментарий
VCC +5В питание 1 Должны быть подсоединены к модулю
D- Data 2
D+ Data 3
GND Земля питания 4
SHLD Экран - Не используется

Распиновка USB

Микроконтроллер прошивается при помощи ISP (внутрисхемное программирование) Об этом чуть ниже.

Фото собранного передатчика Фото собранного приемника

После того как все собрано, на всякий случай прозвоните цепь питания (между VCC и GND) на предмет наличия КЗ. Иначе можете спалить порт в компьютере. Если все нормально, то можно уложить платы в корпуса и склеить сам корпус.

Прошивка контроллера

Микроконтроллер AT91SAM7S64 прошивается при помощи технологии ISP (внутрисхемное программирование). Технология ISP позволяет прошить микроконтроллер после его припаивания на плату. Т.к. МК AT91SAM7S64 содержит встроенный USB-контроллер, то прошивка контроллера незатейливый процесс и здесь используется технология SAM-BA (SAM Boot Assistant). Требуется USB-кабель и несколько джамперов. Для прошивки необходимо скачать AT91 ISP, а затем следуя нижеследующей пошаговой инструкции прошить микроконтроллер.

Шаг 1. Применительно только к передатчику, данный шаг для приемника не требуется, т.к. он уже подключен к USB. Подготовьте кабель USB type A папа на одном конце и с зачищенными проводками на другом конце. Припаяйте выводы кабеля VCC, GND, D+, и D- к соответствующим местам на печатной плате.

Шаг 2. Подготовьте несколько перемычек, для того, чтобы замкнуть все SAM-BA выводы: TST, ERASE, PA2, PA1, PA0, 3.3V. Соедините вместе все выводы при помощи перемычек или джамперов.

SAM-BA выводы

Шаг 3. Установите ПО AT91 ISP

Шаг 4. Воткните USB шнур в свободный порт компьютера. Может появиться сообщение, что устройство не определено, это нормально.

Шаг 5. На пару секунд соедините между собой выводы ERASE и 3.3V. Это сотрет флэш память микроконтроллера.

USB кабель для программирование по ISP

Шаг 6. Отсоедините устройство от USB-порта компьютера и снимите перемычки. Теперь, соедините между собой все выводы: PA0, PA1, PA2, TST и 3.3V. Снова подсоедините устройство к USB ПК, выждите около 10 секунд и отсоедините его. Эта операция активирует SAM-BA bootloader.

Установка перемычек

Шаг 7. Уберите все перемычки и подсоедините устройство к USB. Windows обнаружит новое устройство и предложит стандартную процедуру установки драйверов.

Шаг 8. Откройте диспетчер устройств и удостоверьтесь, что SAM-BA bootloader активирован.

SAM-BA bootloader

Шаг 9. Запустите приложение SAM-BA (ПО AT91 ISP) и выберите тип МК: AT91SAM7S64-EK.

SAM-BA 2.8

Шаг 10. После установки соединения с МК, перейдите в вкладу Flash, выберите подходящий файл прошивки (для передатчика или приемника) и нажмите Send File. Когда ПО спросит "lock and unlock the involved flash regions" нажмите yes. После этого микроконтроллер прошьется и устройства готовы к работе.

SAM-BA 2.8

Подключение и тестирование кейлоггера

Настало время тестирования нашего устройства. Мы рекомендуем для тестов использовать один компьютер. Выключите компьютер и между портом компьютера PS/2 и клавиатурой подключите модуль передатчика.

Подключение модуля передатчика

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

После этого необходимо протестировать приемник, но сначала скачайте соответствующие драйвера (см. ниже). Подключите приемник в свободный USB-порт, система обнаружит устройство и предложит установить драйвера.

Подключение модуля приемника

Драйвера представляют из себя виртуальный COM-порт (USB to serial converter) и вешаются на любой свободный COM-порт вашего компьютера.

Для того, чтобы принимать данные с передатчика кейлоггера удобнее всего пользоваться терминальным клиентом, к примеру Hyperterminal. Мы рекомендуем для этой цели воспользоваться программой Simple Serial Monitor.

Simple Serial Monitor

После запуска программы, выберите COM-порт к которому у вас привязан ваш приемник. Если все правильно работает, то в терминале вы должны сразу же видеть символы, которые набираются на клавиатуре с кейлоггером.

Процесс работы кейлоггера

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

Скачать прошивки, ПО и печатные платы

Оригинал статьи на английском языке (перевод Колтыков А.В.)


Добавил:  Павел (Admin)  [email protected] | 

Автор:  Неизвестно  Рейтинг@Mail.ru