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

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

Введение

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

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

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

Вся система работает в режиме реального времени, т.е. текст, который набирается на клавиатуре с передатчиком, сразу же виден на приемной стороне. Максимальный радиус действия составляет около 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 как обычно. На рисунках ниже показано присоединение.

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

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

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

Распиновка USB

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

Микроконтроллер прошивается при помощи 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. Соедините вместе все выводы при помощи перемычек или джамперов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Категория: Жучки и радиомикрофоны
Метки:

Написать коментарий

*
= 3 + 6

Добавить изображение

Последние статьи