Введение
Аппаратный кейлоггер является отличным решением для мониторинга пользовательской активности и в отличие от программного кейлоггера, у него минимальный риск обнаружения.
Аппаратный кейлоггер - это чисто электронное устройство, которое не требует установки какого-либо дополнительного программного обеспечения, вмешательства в ОС, драйверы и т.п. Однако, у большинства аппаратных кейлоггеров есть один недостаток - периодически требуется физический доступ к компьютеру для переброса информации с памяти кейлоггера. Но есть очень хорошее решение: радио кейлоггер (Wireless Keylogger).
Радио (или беспроводной) кейлоггер состоит из двух основных модулей: передатчика и приемника. Сам модуль кейлоггера находится в передатчике, который является PS/2 аппаратным кейлоггером с встроенным радиопередающим модулем 2.4 ГГц. Т.о. все нажатия клавиш клавиатуры передаются в реальном времени через радиоканал. Приемник находится в другом месте и подключен через USB. Далее, на стороне ПО через виртуальный COM-порт, принятые данные можно отобразить в любом терминале.
Вся система работает в режиме реального времени, т.е. текст, который набирается на клавиатуре с передатчиком, сразу же виден на приемной стороне. Максимальный радиус действия составляет около 50 метров. В здании с 3-4 стенами радиус действия составляет около 20 метров (зависит от толщины стен).
И передатчик и приемник, имеют одинаковую принципиальную схему и соответственно топологию печатной платы. Оба имеют однотипный форм-фактор и сделаны под PS/2 и USB удлинители с т.н. балуном (ферритовое кольцо - фильтр).
Компоненты
Чтобы собрать данный кейлоггер вам понадобятся базовые знание электроники и умение пайки SMD-компонентов.
В таблице ниже, приведен список требуемых радиоэлементов для приемника или передатчика (разницы нет, т.к. все одинаковое кроме кабеля и прошивки).
Основными компонентами здесь является микроконтроллер 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-порт к которому у вас привязан ваш приемник. Если все правильно работает, то в терминале вы должны сразу же видеть символы, которые набираются на клавиатуре с кейлоггером.
Следующим этапом тестирования будет использование двух разных компьютеров. При этом, учитывайте радиус действия!
Скачать прошивки, ПО и печатные платы вы можете ниже
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | Микроконтроллер | AT91SAM7S64 | 1 | TQFP64 | Поиск в магазине Отрон | |
U2 | Передатчик | nRF2401 | 1 | QFN24 | Поиск в магазине Отрон | |
U3 | Линейный регулятор | MCP1700 | 1 | 3.3 Вольт. SOT-23 | Поиск в магазине Отрон | |
С1, С27 | Конденсатор | 0.01 мкФ | 2 | 0805 | Поиск в магазине Отрон | |
С2, С28 | Конденсатор | 1000 пФ | 2 | Поиск в магазине Отрон | ||
С3, С4, С6-С8 | Конденсатор | 22 пФ | 5 | Поиск в магазине Отрон | ||
С5 | Конденсатор | 0.033 мкФ | 1 | Поиск в магазине Отрон | ||
С9 | Конденсатор | 2.2 пФ | 1 | Поиск в магазине Отрон | ||
С10, С11 | Конденсатор | 1 пФ | 2 | Поиск в магазине Отрон | ||
С12, С22-С26, С32-С34, С42, С43 | Конденсатор | 0.1 мкФ | 11 | Поиск в магазине Отрон | ||
С21, С31, С41 | Конденсатор | 1 мкФ | 3 | Поиск в магазине Отрон | ||
R1, R2 | Резистор | 1.5 кОм | 2 | Поиск в магазине Отрон | ||
R3, R4 | Резистор | 27 Ом | 2 | Поиск в магазине Отрон | ||
R5 | Резистор | 1 МОм | 1 | Поиск в магазине Отрон | ||
R6 | Резистор | 22 кОм | 1 | Поиск в магазине Отрон | ||
Q1 | Кварцевый резонатор | 18.432 МГц | 1 | HC-49 SMD | Поиск в магазине Отрон | |
Q2 | Кварцевый резонатор | 16 МГц | 1 | HC-49 SMD | Поиск в магазине Отрон | |
L1 | Катушка индуктивности | Ферритовый фильтр | 1 | Поиск в магазине Отрон | ||
L2 | Катушка индуктивности | 3.6 нГн | 1 | Поиск в магазине Отрон | ||
L3 | Катушка индуктивности | 18 нГн | 1 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- keylogger.rar (474 Кб)
Комментарии (2) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Пользуйтесь на здоровье, по красоте с оригиналом чуток хуже получилось, но Вы всегда можете это подправить.
Минимальная дорожка 0,2 мм.
Минимальный зазор между дорожек 0,2 мм.
Минимальное отверстие 0,6 мм
Минимальный поясок контакта 0,2 мм
Погрешность 0,08 мм.