Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Что такое BadUSB, знает, наверное, каждый. Долгое время к категории BadUSB причисляли исключительно девайсы вроде флешек. Но можно ли использовать в таком качестве, например, смартфон на Android? Можно — с помощью проекта Kali NetHunter, мобильной платформы, специально созданной для пентестеров. В этой статье я покажу, как превратить мобильник в полноценный аналог «злой флешки».
О BadUSB говорилось и писалось множество раз, в статьях и видеороликах давалась общая информация об этом классе атак, делался обзор существующих девайсов на рынке, и, конечно же, описывались схемы сборки самодельных устройств. Как ты знаешь, эта атака позволяет в кратчайшие сроки выполнить действия на целевом компьютере. Делается это так: в свободный USB-порт вставляется заранее подготовленная флешка или простой USB-кабель, который имеет встроенный микроконтроллер с особой прошивкой. Эти устройства идентифицируются системой в качестве HID (Human Interface Device), например как клавиатура. После чего по заранее написанному сценарию эмулируется ввод команд, как если бы их вбивал живой человек, сидящий за компьютером.
Предположим, что ты член команды Red Team. Плюсы таких устройств для тебя очевидны. Во‑первых, не нужно садиться за компьютер и привлекать к себе внимание, стуча по клавишам за чужим рабочим местом. Достаточно вставить неприглядную флешку или кабель в разъем USB. А во‑вторых, скорость автоматического ввода команд при помощи устройства BadUSB в разы выше, чем скорость, с которой способен печатать человек.
На самом деле атака с автоматическим вводом текста через USB-свистки появилась куда раньше, чем сам термин BadUSB. В 2010 году команда Hak5 представила своего знаменитого резинового утенка — Rubber Ducky.
Широко известный в узких кругах девайс Rubber Ducky
Это был специально спроектированный девайс, который напрямую никак не связан с темой BadUSB. Создатели желтой уточки разработали специальный скриптовый язык, на котором можно было писать сценарии. Впоследствии появился целый ресурс, где пользователи выкладывали свои скрипты.
Ресурс, на который пользователи выкладывали собственные скрипты
Bash Bunny
Интересная альтернатива «резиновой утке» — Bash Bunny. Это более изощренный вариант девайса для HID-атак. Помимо клавиатуры, он может эмулировать любые устройства для последовательного порта, файловые хранилища и адаптеры USB — Ethernet.
О других хакерских устройствах, которые может приобрести любой желающий, ты можешь прочитать в этой статье.
В большинстве случаев применение «утенка» и самодельных BadUSB-свистков сводится к получению удаленного доступа или экспорту паролей из системы. Авторы тематических статей и мамкины хакеры c ютуба зачастую используют одну и ту же схему: залить на файлообменник какой‑нибудь троян и запрограммировать девайс BadUSB на его скачивание и выполнение. Как говорится, дешево и сердито.
Минусы этого метода очевидны: во‑первых, серьезные специалисты могут использовать собственные приватные наработки, так что заливать такой код неизвестно куда — идея не самая разумная, а во‑вторых, на целевой машине может не оказаться доступа в интернет, и скрипт попросту не отработает как надо.
При таком раскладе самодельные бюджетные свистки становятся бесполезными. Пользователи оригинального утенка находятся в более привилегированном положении, и вот почему: у Rubber Ducky есть возможность установить SD-карту с достаточным объемом памяти. Кроме того, существует альтернативная прошивка под названием Twin Duck, которая превращает утку одновременно в два устройства: клавиатуру и Mass Storage Device. Таким образом, появляется возможность расположить необходимый софт непосредственно во внутренней памяти девайса и полностью избежать работы с сетью.
Лично я познакомился с BadUSB при совершенно других обстоятельствах. Это случилось, когда я установил на смартфон операционную систему Kali NetHunter. Среди прочих функций данной ОС в ней присутствует возможность исполнять утиные скрипты при подключении смартфона к компьютеру. И все бы ничего, но вариант с заливкой файлов куда‑то вовне меня совершенно не устраивал, и я решил довести алгоритм этой атаки до ума.
warning
Вся информация предоставлена исключительно в ознакомительных целях. Автор и редакция не несут ответственности за любой возможный вред, причиненный с использованием сведений из этой статьи.
Для начала разберемся с базовым выполнением ducky-скриптов. В графической оболочке NetHunter для этого существует свой раздел, но, по правде говоря, пользы от него мало. Поэтому запуск скриптов мы наладим самостоятельно.
В папке /sdcard/nh_files/modules
есть утилита duckhunter.py
, которая конвертирует скрипт на утином языке в shell-скрипт. В свою очередь, shell-скрипт работает с программой hid-keyboard, которая непосредственно взаимодействует с HID-гаджетом /dev/hidg0
, эмулирующим устройство ввода. Вот как выглядит утиная команда STRING usb
в сыром варианте:
echo u | hid-keyboard /dev/hidg0 keyboard
echo s | hid-keyboard /dev/hidg0 keyboard
echo b | hid-keyboard /dev/hidg0 keyboard
При запуске сконвертированного скрипта подключенный телефон начнет вводить текст на компьютере.
С этим разобрались, теперь перейдем к части эмуляции флеш‑накопителя. Для начала нам необходимо создать виртуальный образ, который мы будем монтировать и на котором будут находиться нужные для запуска файлы. Образ можно было бы создать простой командой:
dd if=/dev/zero of=demo.img bs=1M count=100 && sync
Но необходимо еще отформатировать накопитель и задать метку тома, поэтому более удобным вариантом будет использование утилиты DriveDroid.
Используем утилиту DriveDroid для создания виртуального образа диска
Создай в ней образ необходимого размера и смонтируй в качестве сменного накопителя, отформатируй его штатными средствами и задай метку, например DEMOUSB
. Скопируй файл (для примера пусть он называется file.exe
), который планируешь запускать, в корень получившейся флешки.
Источник: xakep.ru