перейти к содержанию

🚚 Бесплатная доставка от $200

Specjalista IT przygląda się pendrive'om leżącym na biurku, dokładnie je analizując.

BadUSB-устройства в пентесте: практическое руководство

Термин BadUSB в строгом смысле означает перепрошивку firmware контроллера USB так, чтобы устройство эмулировало HID-клавиатуру и внедряло команды в систему без какой-либо авторизации (концепцию показали Карстен Нол и Якоб Лелль на BlackHat 2014). В практике пентеста под этим понятием скрывается целый класс инструментов keystroke injection - от микроконтроллера за пару долларов до кабеля с собственной панелью C2 по Wi-Fi. Это не академическая диковинка: в январе 2022 года ФБР выпустило оповещение FLASH о группе FIN7, которая рассылала по почте подготовленные USB-устройства (оборудование LilyGO), выдавая их за подарки от Amazon и министерства здравоохранения США, с программой-вымогателем BlackMatter/REvil в конце цепочки.

Содержание

Ключевые выводы

Пункт Подробности
Эмуляция HID как основа атаки Каждое устройство BadUSB работает как виртуальная клавиатура, что позволяет обойти большинство средств защиты.
Выбор устройства зависит от сценария Bash Bunny подойдёт для сложных аудитов, Digispark - для обучения и бюджетных тестов.
Одного антивируса мало Сигнатурный антивирус не видит бесфайловую инъекцию, но поведенческий EDR ловит цепочку после внедрения, а загруженная вторая ступень - это уже файл для сканирования.
Защита требует уровней безопасности Эффективная политика USB сочетает whitelisting VID/PID, USBGuard и физические блокировки портов.
Документация обязательна Каждое применение устройства BadUSB в аудите должно быть закреплено в письменном объёме работ.

1. Критерии оценки и выбора устройств BadUSB для пентеста

Выбор устройства BadUSB для конкретного задания начинается с анализа нескольких ключевых параметров. Без этого анализа возникают ситуации, когда дорогое оборудование не даёт ничего сверх того, что сделал бы более дешёвый аналог.

Возможности эмуляции устройства - это первый критерий. Часть устройств эмулирует только HID-клавиатуру. Другие способны одновременно выдавать себя за сетевую карту, накопитель и клавиатуру, что открывает совершенно иные векторы атаки.

Возможности конфигурации и программирования определяют гибкость в полевых условиях. Устройства с собственным скриптовым языком (Ducky Script, Bunny Script) позволяют быстро адаптировать payload под конкретную тестируемую среду.

Цена против возможностей - это практический аспект. Разброс цен велик. Клон Digispark стоит пару долларов (у нас 28 zł), USB Rubber Ducky - около 60-90 USD (675 zł), а Bash Bunny Mark II - около 210 USD (1458 zł). Бюджет задания должен напрямую отражаться на выборе оборудования - более дорогое устройство имеет смысл лишь тогда, когда объём аудита задействует его дополнительные режимы.

Простота использования и интеграция определяют, сколько времени займёт развёртывание устройства в тестовой среде. Для пентестеров, работающих в поле, важно время от подключения до выполнения payload.

Правовые и этические аспекты неотъемлемы. Каждое применение устройства BadUSB должно быть охвачено письменным объёмом работ и согласием владельца системы. Владеть оборудованием законно, использовать без согласия - нет.

Безопасность firmware - вопрос, который многие упускают. Устройства с открытым исходным кодом позволяют провести аудит кода. Дешёвые клоны из неизвестных источников могут содержать собственные бэкдоры.

Совет профессионала: Всегда сначала тестируй новое устройство BadUSB в изолированной виртуальной среде, прежде чем применять его в среде клиента. Ошибка в payload на рабочей машине может завершить задание быстрее, чем любая система защиты.

2. Обзор самых популярных устройств BadUSB для пентеста

Рынок устройств для USB-пентеста разнообразнее, чем подсказывает большинство списков "топ-5". Ниже рассмотрены модели, которые действительно попадают в руки пентестеров.

USB Rubber Ducky

USB Rubber Ducky считается стандартом в тестах внедрения команд HID. Payload пишут на языке 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 ждёт заданное число миллисекунд. В реальном payload нужно учитывать раскладку клавиатуры цели - устройство отправляет коды клавиш, а не символы, поэтому payload, написанный под US-QWERTY, наберёт на клавиатуре с другой раскладкой бессмыслицу. Сам Ducky V2 уже не "только клавиатура": DuckyScript 3.0 добавляет режим накопителя, клонирование VID/PID и эксфильтрацию данных техникой Keystroke Reflection. Чего нет - так это эмуляции сетевой карты, и именно это отличает его от Bash Bunny.

  • Эмуляция: HID (клавиатура) + режим накопителя

  • Скриптовый язык: DuckyScript 3.0

  • Цена в SAPSAN: 675 zł (около 60-90 USD)

  • Применение: быстрое внедрение команд, тесты social engineering, эксфильтрация через Keystroke Reflection

Hak5 Bash Bunny

Bash Bunny Mark II - устройство более высокого класса, способное одновременно эмулировать клавиатуру, сетевую карту Ethernet и накопитель. Режимы объявляются одной строкой, например ATTACKMODE HID RNDIS_ETHERNET STORAGE. Это позволяет выстраивать сложные последовательности: в атаке QuickCreds устройство сначала выдаёт себя за сетевую карту, чтобы заставить заблокированную станцию пройти аутентификацию и перехватить хеш NTLMv2 (Responder), а затем переключается в режим клавиатуры, чтобы запустить payload. Переключение между режимами занимает секунды.

  • Эмуляция: HID, Ethernet (RNDIS/ECM), накопитель, последовательный порт

  • Скриптовый язык: Bash, Python, DuckyScript

  • Цена в SAPSAN: 1458 zł (около 210 USD)

  • Применение: продвинутые аудиты сети и Active Directory

OMG Cable

O.MG Cable выглядит точно как обычный кабель USB, но в корпусе у него микроконтроллер с Wi-Fi и собственная панель C2, управляемая из браузера. Это не "HID по Wi-Fi", а полноценный имплант: он внедряет клавиатуру и мышь, версия Elite имеет аппаратный кейлоггер, сохраняющий около 650 000 знаков, поддерживает геозонирование (payload срабатывает только в заданном месте) и самоуничтожение, которое делает кабель бесполезным после выхода за пределы зоны. Пентестер может управлять атакой из соседнего помещения.

  • Эмуляция: HID (клавиатура + мышь), управляемый по Wi-Fi

  • Функции: панель C2 в браузере, кейлоггер (Elite), геозонирование, самоуничтожение

  • Цена в SAPSAN: 968-1298 zł (в зависимости от версии)

  • Применение: тесты с сохранением физической дистанции, скрытая форма

Digispark

Digispark - миниатюрный микроконтроллер на базе ATtiny85, самый дешёвый и доступный из всех рассмотренных решений. Программируется в среде Arduino, имеет ограниченную память (около 6 КБ на payload) и эмулирует только клавиатуру. Продвинутых функций нет, но как обучающая платформа и инструмент для базовых тестов внедрения команд он хорошо подходит - особенно при узком объёме, где более дорогое оборудование ничего не добавляет.

  • Эмуляция: HID (клавиатура)

  • Программирование: Arduino IDE

  • Цена в SAPSAN: 28 zł (клоны от нескольких USD)

  • Применение: обучение, бюджетные тестовые среды

WHID Injector и Packet Squirrel

WHID Injector (Cactus WHID) сочетает внедрение HID с модулем Wi-Fi в форме флешки - более дешёвая, открытая альтернатива для удалённого управления payload, построенная на чипе ESP8266 (169 zł). Это по-прежнему устройство класса keystroke injection.

К иному классу относится Packet Squirrel Mark II - это сетевой имплант, а не устройство BadUSB. Он не внедряет клавиатуру; он вставляется в кабель Ethernet между станцией и сетью и работает как device-in-the-middle: перехватывает трафик (PCAP), выполняет DNS spoofing, поднимает VPN/SSH и даёт удалённый доступ к сети цели. Это преемник заслуженного LAN Turtle, который давно недоступен и так и не получил новой версии. Эту разницу стоит понимать: Rubber Ducky или O.MG атакуют через порт USB как клавиатура, а Packet Squirrel сидит на сетевом кабеле.

3. Сравнение устройств BadUSB: таблица для пентестеров

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

Модель Класс Эмуляция / функция Программирование Цена в SAPSAN
USB Rubber Ducky V2 Инъекция HID HID + режим накопителя DuckyScript 3.0 675 zł
Bash Bunny Mark II HID + сеть HID, Ethernet (RNDIS/ECM), storage, serial Bash / Python / DuckyScript 1458 zł
O.MG Cable Инъекция HID (Wi-Fi C2) HID клавиатура+мышь, кейлоггер, геозонирование DuckyScript + веб-панель 968-1298 zł
Digispark Инъекция HID (бюджет) HID (клавиатура) Arduino IDE 28 zł
WHID Injector Инъекция HID (Wi-Fi) HID + удалённый Wi-Fi Веб-панель / Arduino 169 zł
Packet Squirrel Mark II Сетевой имплант Ethernet MITM, PCAP, VPN/SSH (не HID) Bash / Python / DuckyScript 780

Подсказки по подбору устройства под сценарий:

Если аудит касается реакции сотрудников на брошенные USB-устройства, достаточно USB Rubber Ducky или Digispark. Если объём включает перехват доменной сессии или извлечение учётных данных из Active Directory, правильный инструмент - Bash Bunny. O.MG Cable подходит, когда пентестеру нужно сохранять физическую дистанцию от атакуемой станции. А когда тест касается проводной сети и перехвата трафика, берут не клавиатурный BadUSB, а сетевой имплант - Packet Squirrel Mark II.

Совет профессионала: При покупке устройства BadUSB проверь, поддерживает ли производитель активное сообщество и репозиторий payload. Оборудование без актуальных ресурсов быстро теряет полезность в меняющихся тестовых средах.

4. Вызовы и техники защиты от атак BadUSB

Знание методов защиты для пентестера так же важно, как знание техник атаки. Проводя тесты безопасности USB, нужно понимать, что работает на стороне защитника, а что лишь выглядит эффективной мерой.

  1. Контроль устройств USB и whitelisting VID/PID. Фильтрация по идентификаторам производителя (VID) и продукта (PID) - наиболее часто внедряемый механизм. Проблема в том, что эти идентификаторы - значения из firmware, полностью контролируемые атакующим: устройство можно настроить так, чтобы оно выдавало себя за VID/PID разрешённой клавиатуры (Rubber Ducky или WHID способны клонировать дескрипторы легитимного устройства). Поэтому whitelisting VID/PID - мера, усложняющая, а не блокирующая атаку; более сильная привязка использует серийный номер и хеш дескриптора, но и их можно подделать.

  2. Физические блокировки портов USB. Механические блокировки портов или их отключение в BIOS/UEFI - методы, которые защитники применяют как дополнение к программным политикам. Эффективны в средах высокого риска. Недостаток - значительное снижение эргономики работы пользователей.

  3. USBGuard и Endpoint Protector. USBGuard в Linux позволяет создавать политики, допускающие только заранее определённые устройства. Endpoint Protector работает в Windows и macOS, предлагая централизованно управляемые политики USB. Оба инструмента требуют правильной настройки, потому что настройки по умолчанию часто не блокируют новые устройства HID.

  4. Ограничения сигнатурных антивирусов. Сама инъекция бесфайловая - нажатия клавиш с виртуальной клавиатуры никогда не попадают на диск, поэтому сигнатурному сканеру нечего анализировать. Но это не значит, что защитник беспомощен: поведенческий EDR обнаруживает цепочку после внедрения (например, explorer.exe, запускающий PowerShell через секунды после подключения USB), сверхчеловеческий и равномерный темп "набора" выдаёт автомат, а любая загруженная вторая ступень атаки - это уже файл для сканирования. Это различие - сигнатуры слепы, поведенческий анализ нет - пентестеру стоит чётко описать в отчёте.

  5. Обучение пользователей. Самый трудный аспект защиты от BadUSB в том, что атаки опираются на эмуляцию клавиатуры, то есть устройства, необходимого для обычной работы. У пользователей нет простого способа отличить атакующее устройство от настоящей клавиатуры без дополнительных инструментов.

  6. Мониторинг событий и поведенческое обнаружение. Подключение новой "клавиатуры" порождает в Windows событие 6416 (распознавание нового внешнего устройства) - особенно подозрительно, когда вторая клавиатура регистрируется на станции, у которой уже есть одна. SIEM также может коррелировать аномальное создание процессов (PowerShell, запущенный через секунды после подключения USB) с темпом клавиш. Существуют готовые инструменты: DuckHunt и Beamgun отслеживают ритм набора и подключения USB и способны заблокировать станцию после обнаружения инъекции. Это обнаружение, а не предотвращение - замедленный, "дрожащий" payload способен его обойти, а быстрая вставка из буфера обмена порождает ложные срабатывания.

  7. Эффективная политика безопасности USB требует сочетания контроля устройств, обучения пользователей и физической защиты портов. Ни один из этих элементов по отдельности недостаточен.

5. Мой опыт работы с устройствами BadUSB в пентестах

Я работаю с устройствами BadUSB достаточно долго, чтобы иметь несколько наблюдений, которых не найти в документации производителя.

Во-первых: эффективность этих инструментов в реальных аудитах значительно выше, чем большинство клиентов предполагает до теста. Команды, внедряемые через HID, поступают в систему со скоростью опроса интерфейса, а не со скоростью человека, печатающего на клавиатуре. На практике payload запускается в течение нескольких секунд после подключения устройства.

Во-вторых: самая частая ошибка пентестеров - не тестировать payload на точно такой же версии операционной системы, как у клиента. Payload, написанный под Windows 10, может вести себя иначе на Windows 11, особенно когда запускает команды PowerShell с флагами безопасности, изменёнными Microsoft.

В-третьих: Bash Bunny в руках пентестера со слабым пониманием сетевых протоколов - устройство, которое делает меньше, чем стоит. Продвинутое оборудование требует продвинутых знаний, чтобы применять его осмысленно. Я видел задания, где Digispark за 15 USD достигал того же эффекта, что и Bash Bunny за 120 USD, потому что объём аудита был узким.

Что действительно работает: сочетание USB Rubber Ducky для физических тестов social engineering и Bash Bunny для аудитов Active Directory. O.MG Cable я добавляю только тогда, когда аудит требует присутствия устройства у станции в течение более долгого времени и удалённого управления. Документирование каждого применения так же важно, как сама атака - отчёт без точных шагов воспроизведения бесполезен для ИТ-отдела клиента.

Оборудование BadUSB для пентестеров в ассортименте Sapsan-sklep

Sapsan-sklep как европейский дистрибьютор оборудования для кибербезопасности предлагает устройства BadUSB, рассмотренные в этой статье, с доставкой по всему Европейскому союзу и в США.

https://sapsan-sklep.pl

В нашем ассортименте вы найдёте полный класс keystroke injection: USB Rubber Ducky (675 zł), Bash Bunny Mark II (1458 zł), O.MG Cable (от 968 zł), бюджетный Digispark (28 zł) и WHID Injector (169 zł). Для тестов проводной сети доступен имплант Packet Squirrel Mark II (780 zł). Все устройства предназначены исключительно для легальных тестов безопасности с письменного согласия владельца системы. Полный ассортимент: sapsan-sklep.pl.

FAQ

Чем BadUSB отличается от обычной флешки?

BadUSB - это устройство с перепрошитой firmware, которое эмулирует HID-клавиатуру и внедряет команды в систему. Обычная флешка лишь хранит данные и не выполняет никаких действий при подключении.

Какое устройство BadUSB выбрать для первого аудита USB?

USB Rubber Ducky - наиболее часто рекомендуемый выбор для пентестеров, начинающих тесты безопасности USB. Простой скриптовый язык и большая база готовых payload сокращают время входа до минимума.

Обнаружит ли антивирус атаку BadUSB?

Сигнатурный антивирус не обнаружит саму инъекцию - команды с виртуальной клавиатуры система воспринимает как обычный ввод, а атака бесфайловая. Зато её обнаруживает поведенческий EDR, по последствиям: необычной цепочке процессов и загруженной второй ступени атаки, которая уже является обычным файлом.

Как законно использовать устройства BadUSB?

Каждое применение устройства BadUSB требует письменного согласия владельца тестируемой системы и должно быть охвачено объёмом задания по пентесту. Использование без согласия незаконно независимо от намерений.

Подходит ли Digispark для профессиональных аудитов?

Digispark подходит для простых тестов внедрения HID и для обучающих сред. Для профессиональных аудитов, включающих сетевую эмуляцию или сложные payload, необходимо устройство класса Bash Bunny.

Предыдущая статья Роль Flipper Zero в пентестах: практическое руководство
Следующая статья Что такое этичный хакер? Руководство для ИТ-специалистов