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

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

Пиксельная графика розовой USB-флешки на чёрном фоне с красной надписью-предупреждением об этой флешке

BadUSB: что это такое, как работает и где применяется

Для поиска и проверки уязвимостей информационных систем и компьютерных сетей существуют специализированные аппаратные инструменты. Этичные хакеры, специалисты red team и эксперты по кибербезопасности используют их в ходе авторизованных тестов, чтобы оценить устойчивость инфраструктуры клиента к атаке. Те же устройства могут применять злоумышленники, создавая реальную угрозу для компаний. Один из таких инструментов — BadUSB. Как он работает и какой вред способен причинить после подключения к компьютеру? Разбираемся в статье.

Как выглядит и как работает BadUSB?

BadUSB внешне напоминает обычную флешку, но после подключения к USB-порту может выполнить опасные действия. Операционная система распознаёт его как Human Interface Device (HID) — устройство ввода, в данном случае клавиатуру. Такая виртуальная клавиатура автоматически «нажимает» заранее запрограммированную последовательность клавиш и выполняет команды на компьютере.


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

Как выглядит и как работает BadUSB

Примеры устройств BadUSB

Один из примеров — Malduino компании Maltronics, способный выполнять скрипты со скоростью более 9000 символов в минуту. Популярностью пользуется и USB Rubber Ducky, однако он примерно вдвое дороже устройств Malduino. Более доступная альтернатива — Malduino W, на котором скрипты BadUSB можно запускать удалённо или по команде. Через простой веб-интерфейс можно:

  • запускать;
  • редактировать;
  • удалять;
  • загружать различные скрипты с GitHub.

Программирование BadUSB: скрипты

Для BadUSB подготавливают скрипт и загружают его на карту памяти, установленную в устройстве. Затем скрипт компилируется в бинарный формат, который выполняет встроенный контроллер.

Flipper Zero — исключение: для него скрипт не нужно компилировать в бинарный формат, достаточно загрузить текстовый файл.


Пример простого скрипта BadUSB:


DELAY 1000

ALT F2

DELAY 1000

STRING gedit

DELAY 1000

STRING Вас

DELAY 1000

STRING взломали

ENTER

DELAY 1000

STRING Привет от

DELAY 1000

STRING SAPSAN

DELAY 1000

STRING !!! :)

После подключения BadUSB с таким скриптом* откроет текстовый редактор и автоматически введёт заранее заданный текст:

Вас взломали

Привет от SAPSAN !!! :)

*Этот скрипт предназначен для Linux с окружением GNOME. Параметр DELAY задаёт задержку в миллисекундах перед вводом следующей команды, поэтому текст может выглядеть так, будто его набирает человек.

 

@krystian.hutyra Поддержка DuckyScript 🦆 — прекрасная вещь. #flipperzero #rickroll #информатика #hacking #badusb ♬ Never Gonna Give You Up — Rick Astley

 

Примеры применения BadUSB: что может произойти?

Автоматический ввод текста — лишь безопасная демонстрация. Злоумышленники могут подготовить опасные скрипты для разных операционных систем, загрузить вредоносное ПО или извлечь данные из каталогов. Например, содержимое папки можно опубликовать через SimpleHTTPServer как веб-сервис на стандартном порту 8000, после чего пользователь с соответствующими правами получит к нему доступ.


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

Предыдущая статья Как обнаружить прослушку на рабочем месте?