Простое устройство, которое перехватывает управление курсором и периодически его смещает. Назначение — разыграть коллегу или друга, пока они работают или играют. Попутно разберёмся, что такое BAD-USB и как работают HID-девайсы.
Наш вариант совершенно безобиден и предназначен исключительно для развлечения. Собрать его можно быстрее, чем кажется.
Что такое BAD-USB и HID-устройства
«Вредоносное аппаратное обеспечение» — устройства, модифицированные или созданные для выполнения несанкционированных манипуляций разной степени опасности. BAD-USB работает через интерфейс USB.
К этому классу относится USB Killer — выглядит как флешка, отправляет в сигнальные линии USB высоковольтный импульс, что приводит к необратимым повреждениям процессора. Это деструктивно и попадает под статьи УК.
Другой вид — Rubber Ducky, устройство, эмулирующее HID (клавиатуру и мышь) с удалённым управлением. Можно многое наделать, но это выходит за рамки текущей задачи.
Главное преимущество HID-устройств в том, что современные операционные системы определяют их на лету и подхватывают стандартными драйверами. Этот вектор атаки обычно не отслеживается в большинстве ОС.
Почему именно смещение курсора
Летом жарко, работается вяло. Коллега предложил: давай разыграем кого-нибудь, но так, чтобы следов не осталось и с компом всё было в порядке.
USB Killer для этого не подойдёт. Rubber Ducky годится лучше всего, особенно если эмулировать клавиатуру — устройство может набирать текст десятками символов в секунду. Открыть консоль, набросать скрипт и выполнить его можно до того, как человек соображает что произошло.
На практике оказалось: функции клавиатурного эмулятора избыточны. Вводить произвольный текст и нажимать спецклавиши — слишком сложно. А вот просто шевелить курсор — идеально. Смешно и совершенно безвредно.
Почувствовать эффект можно без сборки: подключи вторую мышку к компу, попроси кого-нибудь её периодически смещать, а сам попробуй поработать или поиграть. Раньше мы так забавлялись через RDP.
От теории к практике
Предыдущая реализация требовала нажимать кнопку пульта для каждого смещения курсора — неудобно. Хороший девайс не должен иметь больше одной кнопки, лучше обойтись без них вообще.
Я решил всё переделать и упростить радикально. Выкидываем радиомодуль, убираем его поддержку из кода. В итоге: микроконтроллер, USB-разъём, понижающий стабилизатор. Делаем небольшую плату, маскируем её под флешку. Травим, сверлим, клепаем, паяем — всё как обычно.
Готовый «задолбатор» выглядит как обычное USB-устройство и работает из коробки: подключил — и курсор начинает прыгать.
