BadUSB в пентесте: устройства, сценарии и защита USB/HID
В исходном смысле BadUSB — перепрограммирование контроллера USB, чтобы устройство выполняло неожиданные функции, например эмулировало HID-клавиатуру и вводило команды. Это не ограничивается клавиатурой: концепцию представили Karsten Nohl и Jakob Lell на Black Hat 2014. В пентестинге термин часто охватывает устройства keystroke injection — от микроконтроллера за 28 zł до кабеля с управлением по Wi-Fi. Риск подтверждён реальными инцидентами: в январе 2022 года FBI выпустило FLASH о FIN7. Группа рассылала USB-устройства LilyGO под видом подарков Amazon или материалов американского ведомства здравоохранения; дальнейшая цепочка могла завершаться развёртыванием BlackMatter/REvil.
Содержание
Ключевые выводы
| Пункт | Подробности |
|---|---|
| Эмуляция HID как основа keystroke injection | Многие устройства вводят команды как клавиатура. BadUSB в более широком смысле включает и другие USB-функции; эмуляция не гарантирует обход защиты. |
| Выбор зависит от сценария | Bash Bunny подходит для комбинированных USB/сетевых сценариев, Digispark — для обучения и бюджетных тестов. |
| Одного антивируса недостаточно | Нажатия клавиш не являются файлом для сигнатурного сканирования. Последующие процессы и загруженные компоненты могут обнаруживаться антивирусом и EDR; результат зависит от конфигурации. |
| Нужны несколько уровней защиты | Политики USB, например USBGuard, и физический контроль дополняют друг друга. VID/PID можно подменить, поэтому одного списка этих идентификаторов недостаточно. |
| Действия нужно документировать | Применение BadUSB в аудите должно соответствовать письменным границам и условиям задания. |
1. Как выбрать USB/HID-устройство для пентеста
Начните не с цены или рейтинга, а с проверяемого интерфейса и ожидаемого доказательства. Определите режимы USB, совместимые ОС и разъёмы, способ управления, требования к раскладке, журналирование, состояние после теста и ограничения RoE. Более сложное устройство не улучшит проверку, если его дополнительные интерфейсы не нужны.
Режимы эмуляции — главный критерий. USB Rubber Ducky объявляет HID и/или storage; Bash Bunny поддерживает разрешённые сочетания HID, storage, serial и Ethernet ECM/RNDIS; O.MG и WHID добавляют удалённое управление. Packet Squirrel работает в Ethernet-линии и не является BadUSB.
Язык и сопровождение определяют воспроизводимость. Проверяйте версию DuckyScript или Bunny payload, официальный компилятор, журнал изменений, репозиторий примеров и возможность хранить собственный проверенный код. Готовый payload нельзя запускать на клиентской системе без чтения и стендовой проверки.
Стоимость сравнивайте с нужными режимами, аксессуарами, кабелями, доставкой и временем подготовки. Таблица ниже помогает сопоставить функции и выбрать оборудование под задачи проекта.
Совместимость важнее заявленной скорости. Payload зависит от раскладки клавиатуры, времени загрузки интерфейса, политик ОС, EDR и прав пользователя. До проекта проверьте точную версию системы, разъём, режим USB и безопасный откат.
Авторизация должна отдельно охватывать физическое подключение, оставление устройства, удалённое управление, ввод команд, сетевой интерфейс, доступ к данным и социальный сценарий. Согласие владельца одного компьютера не обязательно распространяется на домен, сеть, облако или сотрудников.
Доверие к прошивке и цепочке поставок также важно. Открытый код облегчает проверку, но сам по себе не доказывает, что бинарная прошивка собрана из него. Проверяйте официальный источник, подписи или суммы, процедуру обновления, режим восстановления и состояние устройства перед каждым заданием.
Практический совет: сначала используйте отдельный лабораторный хост или VM с контролируемым USB passthrough. Снимите базовый образ, отключите доступ к рабочим данным и сети, проверьте раскладку, тайминги, stop condition, журналы и возврат состояния.
2. Обзор популярных устройств BadUSB для пентестинга
Устройства для USB-пентестинга заметно различаются по возможностям. Рассмотрим модели и их реальные роли в наборе пентестера.
USB Rubber Ducky
USB Rubber Ducky — распространённое устройство для проверки инъекции HID-команд. Сценарии пишут на DuckyScript. Пример ниже открывает Блокнот и вводит текст: он демонстрирует автоматизированный ввод, скорость которого не ограничена скоростью печати человека.
REM Demonstracja szybkosci wstrzykiwania - otwiera Notatnik
DELAY 1000
GUI r
DELAY 500
STRINGLN notepad
DELAY 1000
STRINGLN Ten tekst wpisalo urzadzenie HID w ulamku sekundy.
Команды имеют конкретное значение: GUI r нажимает Windows+R, STRINGLN вводит строку и завершает её Enter, DELAY задаёт задержку в миллисекундах. Учитывайте раскладку цели: устройство передаёт коды клавиш, поэтому несоответствие раскладок меняет результат. Современный USB Rubber Ducky с DuckyScript 3.0 поддерживает также накопитель, настройку VID/PID и Keystroke Reflection для передачи данных через состояние клавиатурных индикаторов. Эмуляция Ethernet, доступная у Bash Bunny, здесь не заявлена.
-
Эмуляция: HID-клавиатура и накопитель
-
Язык сценариев: DuckyScript 3.0
-
Цена в SAPSAN на 29.10.2026: 675 zł
-
Применение: автоматизированный ввод, тесты социальной инженерии, Keystroke Reflection
Hak5 Bash Bunny
Bash Bunny Mark II способен одновременно эмулировать клавиатуру, Ethernet-адаптер и накопитель. Пример выбора комбинации — ATTACKMODE HID RNDIS_ETHERNET STORAGE. Это позволяет строить многоэтапные сценарии. В QuickCreds используется эмуляция сетевого адаптера и Responder для получения данных NTLM-аутентификации, в том числе NTLMv2, если целевая система выполняет соответствующий обмен. QuickCreds работает через сетевой режим; для отдельного HID-этапа нужен другой или дополненный сценарий. Заблокированный экран сам по себе не гарантирует ни успех, ни защиту от сетевого варианта.
-
Эмуляция: HID, Ethernet (RNDIS/ECM), накопитель, последовательный порт
-
Сценарии: Bash и DuckyScript; дополнительные программы, включая Python, зависят от установленной среды
-
Цена в SAPSAN на 29.10.2026: 1458 zł
-
Применение: комбинированные USB-сценарии, аудит сетей и Active Directory
OMG Cable
O.MG Cable внешне напоминает обычный USB-кабель, но содержит имплант с Wi-Fi и управлением через браузер. Он поддерживает ввод клавиатуры и мыши. Варианты Elite имеют аппаратный кейлоггер для совместимых FullSpeed USB-клавиатур со съёмным кабелем, рассчитанный на 650 000 нажатий. Geofencing позволяет связывать действия с обнаружением Wi-Fi-окружения. Self-destruct удаляет чувствительные данные и деактивирует имплант, но восстановление возможно с O.MG Programmer: это не необратимое физическое уничтожение кабеля. Дистанция управления зависит от радиосреды.
-
Эмуляция: HID-клавиатура и мышь с управлением по Wi-Fi
-
Функции: веб-панель, кейлоггер Elite, geofencing, self-destruct
-
Цена в SAPSAN на 29.10.2026: 968–1298 zł в зависимости от варианта
-
Применение: тесты с дистанционным управлением и компактным форм-фактором
Digispark
Digispark — небольшая плата на ATtiny85, подходящая для недорогих учебных экспериментов. Для программирования используется среда Arduino с соответствующим пакетом плат. После загрузчика остаётся около 6 КБ памяти программы. Библиотека DigiKeyboard позволяет эмулировать клавиатуру; плата не ограничена только этой USB-функцией — у проекта есть и другие библиотеки. Для простого теста инъекции ввода её возможностей может быть достаточно.
-
В рассматриваемом сценарии: HID-клавиатура
-
Программирование: Arduino IDE
-
Цена в SAPSAN на 29.10.2026: 28 zł
-
Применение: обучение и бюджетные лабораторные тесты
WHID Injector и Packet Squirrel
WHID Injector, или Cactus WHID, объединяет HID-ввод и управление по Wi-Fi в корпусе USB-устройства. Открытый проект использует ATmega32U4 и ESP8266. Цена в SAPSAN на 29.10.2026 — 169 zł. Это устройство класса keystroke injection.
Packet Squirrel Mark II относится к другому классу: это сетевой имплант, а не HID-клавиатура. Его подключают в Ethernet между узлом и сетью для работы device-in-the-middle: захвата PCAP, сценариев DNS, VPN/SSH и удалённого доступа в пределах возможностей прошивки и сети. У Hak5 также есть отдельная линейка сетевых имплантов LAN Turtle Hub. Rubber Ducky и O.MG используют USB-ввод, Packet Squirrel работает на сетевом кабеле.
3. Сравнение устройств BadUSB: таблица для пентестеров
Основные возможности собраны в таблице для выбора под конкретную задачу. Цены SAPSAN указаны на 29.10.2026; таблица помогает сравнить оборудование по задачам и бюджету.
| Модель | Класс | Эмуляция / функция | Программирование | Цена SAPSAN |
|---|---|---|---|---|
| USB Rubber Ducky V2 | HID-инъекция | Клавиатура и накопитель | DuckyScript 3.0 | 675 zł |
| Bash Bunny Mark II | HID и сеть | HID, Ethernet RNDIS/ECM, накопитель, последовательный порт | Bash / DuckyScript; Python при наличии среды | 1458 zł |
| O.MG Cable | HID-инъекция, управление по Wi-Fi | Клавиатура и мышь, geofencing; кейлоггер в Elite | DuckyScript и веб-панель | 968–1298 zł |
| Digispark | Бюджетная HID-инъекция | Клавиатура в сценарии DigiKeyboard | Arduino IDE | 28 zł |
| WHID Injector | HID-инъекция по Wi-Fi | HID с дистанционным управлением | Веб-панель / Arduino | 169 zł |
| Packet Squirrel Mark II | Сетевой имплант | Ethernet MITM, PCAP, VPN/SSH; не HID | Bash / DuckyScript; дополнительные программы по среде | 780 zł |
Подбор под сценарий:
Для проверки реакции на оставленное USB-устройство может хватить Rubber Ducky или Digispark. Bash Bunny подходит для сочетания USB- и сетевых этапов, включая согласованные проверки аутентификации Active Directory; доступ к доменным данным не предоставляется автоматически. O.MG Cable полезен при необходимости дистанционного управления. Для проводного перехвата трафика нужен сетевой имплант, например Packet Squirrel Mark II, а не клавиатурный BadUSB.
Совет специалиста: Перед покупкой проверьте документацию, сообщество и репозиторий сценариев. Их актуальность влияет на время подготовки тестов в меняющихся системах.
4. Сложности и методы защиты от BadUSB
Пентестеру нужно понимать не только атаку, но и защиту: какие меры действительно действуют в проверяемой системе и какие лишь создают впечатление контроля.
-
Контроль USB и списки разрешённых VID/PID. Идентификаторы производителя и продукта передаются устройством и у программируемых устройств могут изменяться. Rubber Ducky и WHID можно настроить для подмены таких идентификаторов. Поэтому VID/PID — полезный фильтр, но не криптографическое подтверждение подлинности. Серийный номер и хеш дескрипторов дают дополнительные признаки, однако также не гарантируют защиту от имитации.
-
Физические блокираторы USB. Механическое закрытие портов или поддерживаемое отключение в BIOS/UEFI применяют как дополнение к программным политикам. Это полезно в средах повышенного риска, но ограничивает удобство работы и требует проверки фактического действия на конкретном компьютере.
-
USBGuard и Endpoint Protector. USBGuard в Linux позволяет задавать правила допуска устройств. По документации его ImplicitPolicyTarget по умолчанию равен block, а InsertedDevicePolicy — apply-policy: неизвестное устройство без разрешающего правила не должно автоматически допускаться. Endpoint Protector предоставляет централизованный контроль устройств, но поддерживаемые классы и поведение зависят от ОС и политики. Настройки каждого продукта нужно проверять отдельно.
-
Ограничения сигнатурного антивируса. Нажатие клавиши не является файлом, который можно проверить сигнатурным сканером. Однако дальнейшие процессы и сценарии могут наблюдаться средствами защиты: например, запуск PowerShell из explorer.exe вскоре после подключения USB. EDR и антивирус также могут анализировать скрипты и загруженные компоненты. Нельзя обещать ни полную невидимость HID-цепочки, ни гарантированное её обнаружение; это проверяют по телеметрии.
-
Обучение пользователей. Одна из трудностей защиты — использование привычного класса устройств, клавиатур. По внешнему виду или записи в списке устройств пользователь не всегда может отличить разрешённое оборудование от импланта.
-
События и поведенческое обнаружение. При включённом Audit PNP Activity Windows может записывать событие 6416 о распознавании внешнего устройства. Оно не является доказательством атаки само по себе. SIEM может сопоставлять подключение с запуском процессов и другой доступной телеметрией. DuckHunt исследует скорость ввода, а Beamgun реагирует на появление USB-устройств и имеет ограничения, описанные в его README. Это разные механизмы. Для временных эвристик возможны пропуски и ложные срабатывания: обычные макросы или другие автоматизированные источники ввода тоже требуют учёта.
-
Рабочая политика безопасности USB сочетает контроль устройств, обучение и физическую защиту. Проверяйте их совместное действие на конкретных сценариях.
5. Мой опыт работы с BadUSB в пентестах
Работа с BadUSB дала мне несколько практических наблюдений, которые выходят за пределы перечня характеристик производителя.
Первое: клиенты нередко недооценивают скорость автоматизированного HID-ввода. Команды могут поступать намного быстрее ручной печати, а подготовленный сценарий — начать работу через несколько секунд после подключения. Реальный результат зависит от задержек, готовности интерфейса и защит системы.
Второе: частая ошибка — не проверять сценарий на той же версии и конфигурации системы, что у клиента. Между Windows 10 и Windows 11 могут различаться интерфейс, политики и доступные компоненты. Для PowerShell я отдельно проверяю версию оболочки, параметры запуска и действующие политики.
Третье: Bash Bunny без понимания сетевых протоколов может дать меньше пользы, чем ожидает покупатель. Сложное оборудование требует соответствующих навыков. В узких заданиях недорогой Digispark способен дать тот же результат, что и более дорогой Bash Bunny: решает сценарий, а не цена устройства.
На практике я сочетаю USB Rubber Ducky для физических сценариев социальной инженерии и Bash Bunny для согласованных проверок Active Directory. O.MG Cable добавляю, когда нужен длительный доступ устройства к рабочему месту и дистанционное управление. Документирование каждого применения так же важно, как сам тест: без точных шагов воспроизведения клиенту трудно использовать результат.
Лабораторное USB/HID-оборудование SAPSAN
SAPSAN предлагает оборудование для разрешённых лабораторных проверок USB/HID и Ethernet с доставкой в страны Европы и США. В каталоге можно подобрать устройства для демонстраций HID, многоэтапных USB-сценариев и исследования проводных сетей.
В каталоге доступны USB Rubber Ducky, Bash Bunny Mark II, O.MG Cable, Digispark и WHID Injector. Packet Squirrel Mark II предназначен для проводных Ethernet-сценариев и не относится к BadUSB. Оборудование помогает собрать стенд под задачи проекта; полный ассортимент представлен на sapsan-sklep.pl. Любое применение требует действительной авторизации на конкретные активы и действия.
Часто задаваемые вопросы
Чем BadUSB отличается от обычного USB-накопителя?
Обычный накопитель обычно объявляет класс storage. BadUSB использует изменённый контроллер или специальную платформу, чтобы объявить HID, сеть либо другую функцию. Вредоносный файл на обычной флешке — отдельный вектор, а не обязательный признак BadUSB.
Какое устройство выбрать для первой лабораторной проверки HID?
USB Rubber Ducky удобен благодаря DuckyScript 3.0 и официальной документации; Digispark дешевле, но требует самостоятельного кода и больше проверки. Начните с безопасного payload, который только печатает маркер в текстовом редакторе на изолированном стенде.
Обнаружит ли антивирус BadUSB?
Единого ответа нет. HID-ввод может не создавать файла, но процессы, скрипты, сеть и второй этап дают сигналы для device control, журналирования и EDR. Проверяйте каждый слой и не объявляйте атаку «бесфайловой», если она загружает или создаёт данные.
Как законно использовать USB/HID-устройство?
До подключения получите письменную авторизацию стороны, которая вправе разрешить действия на всех затрагиваемых активах. В scope и RoE укажите устройство, цели, методы, данные, время, физический доступ, удалённое управление, условия остановки и очистку. Конкретную правовую оценку определяют применимое право и факты.
Подходит ли Digispark для профессиональной проверки?
Да, если область требует только базовой HID-эмуляции, а код, ревизия платы и результат проверены. Для Ethernet, storage, serial или управляемого удалённого сценария нужна платформа с соответствующими режимами; дороговизна сама по себе не делает доказательство профессиональным.
