Представь: ты втыкаешь в USB какую-то флешку, и вдруг в браузере открывается окно, где грустный клоун крутит ручку шарманки. Когда мелодия кончается, флешка делает «бам» и… в лучшем случае обсыпает тебя конфетти. Из этой статьи ты узнаешь, как скрестить девайс для атак BadUSB с устройством самоуничтожения и заодно научишься кое-каким мейкерским приемам.

INFO

Это перевод статьи Mr. Self Destruct. A USB keystroke injector with software-triggered 5v payloads исследователя MG. Перевел Андрей Письменный.

Если говорить об этом устройстве как о флешке, которая может испускать дым, то, конечно, полезных применений у нее будет немного — разве что использовать в качестве декораций в кино про хакеров для особо драматичной сцены (да и видео с PoC выходит отличным!). Однако есть масса способов усовершенствовать полезную нагрузку. Например, можно заменить ее на «звуковую гранату», которая подарит немного веселья команде безопасности и сдержит их импульс немедленно выдернуть посторонний предмет из компьютера. После подключения инъектор нажатий на клавиши отработает как тебе нужно, а потом завоет сирена и не будет выключаться до тех пор, пока батарейка не умрет. Это возможно потому, что софт контролирует переключатель, способный подавать столько питания, сколько дает порт USB.

В общем, тут можно использовать много вариантов небольших схемок. А если ты можешь поставить корпус побольше, например взять формат сменных дисков на 2,5 дюйма, то выбор становится еще богаче. Это отлично сочетается с устройствами, которые работают от батарейки. Например, боевые девайсы для работы с Wi-Fi (взлом, глушилки и прочее), которые будут получать питание от батарейки, только когда их принесут в целевую зону.

INFO

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

 

Мотивация

Этот небольшой проект начался с того, что я наткнулся в твиттере на нелепую картинку: на ней была изображена петарда, спрятанная внутри флешки. У всех, кто видел эту картинку, была примерно одна реакция: весело, конечно, но зло. Я стал раздумывать о возможности совместить что-то подобное с Rubber Ducky, чтобы иметь и программный пейлоад, и физический.

Не буду останавливаться на неудачных экспериментах, которыми я занимался, пока искал разные подходы и делал улучшения. Большая часть этих твиков требовала умений, которыми я не владею. Но какое же веселье, если не спотыкаешься на каждом шагу? Я раньше никогда не протипировал печатных плат, не писал прошивок, не работал ни с Android, ни с чипами AVR.

INFO

В этом проекте нет ничего особенно нового: я просто объединил разные наработки других людей. Мне помогали и вдохновляли: @evanbooth, @notdan, @Viss, @gsuberland и @deviantollam.

Изначально я планировал использовать Hak5 Rubber Ducky, который стоит 50 долларов. Единственный выходной интерфейс у него — это LED на 3,3 В. Я подыскал миниатюрный MOSFET, который выдерживал 3 А и более при минимальном напряжении переключения около 1 В. Идеально: я мог подключиться к питанию светодиода и переключать что угодно, для чего хватит мощности USB.

Нужно было только найти способ управлять светодиодом, потому что Duckyscript делать этого не позволяет. Однако даже с кастомной прошивкой я смогу получить только очень ограниченный контроль над светодиодом. Потом я обнаружил проекты типа «USB Rubber Ducky за доллар» (или 3–5 долларов), в которых использовался чип ATtiny85. Это куда более удачный подход. В качестве бонуса в большинстве схем заодно получаешь два незанятых порта GPIO!

В поисках наименее затратного способа получить такое устройство, который бы не растянулся на месяцы в ожидании товара из Китая, я понял, что Digispark за 5 долларов — это практически готовые платы, и они продаются на Amazon. Там же обнаружилось несколько клонов Digispark по 3 доллара за штуку и по 1,5 доллара — на eBay. Причем у них есть не только нужный мне ATtiny85, но и большинство других компонентов, необходимых для проекта.

 

Список деталей

Вот как в итоге выглядит список деталей.

 

Основные детали

  • Здравый смысл — 1 шт. Старайся оберегать себя и других от разнообразных опасностей;
  • ATtiny85 — 1 шт. (с клона Digispark);
  • сопротивление на 68 Ом — 2 шт. (с клона Digispark);
  • сопротивление на 1,5 кОм — 1 шт. (с клона Digispark);
  • стабилитрон на 3,6 В — 2 шт. (с клона Digispark);
  • МОП-транзистор (MOSFET) IRLML2502 — 1 шт. (тут есть разные варианты. Например, ZXMN2F34FHTA тоже будет неплохо работать);
  • сопротивление примерно на 680 Ом (см. важное примечание о безопасности в инструкции по сборке).
 

Опциональные детали и инструменты

  • Старая флешка в выдвижном исполнении. Нам пригодится ее корпус и штекер USB;
  • печатная плата для прототипирования SMTpad 50x50 (это то, что использовал я, наверняка более опытные товарищи найдут более удачный способ собрать схему);
  • медная лента (я использовал ее для замыкания соединений на плате);
  • припой, паяльная паста, канифоль;
  • паяльник или паяльная станция.
 

Детали для пейлоада

  • Тут все полностью зависит от того, что ты собираешься добавлять. Пейлоад будет получать напряжение в 5 В на ту продолжительность времени, которую ты настроишь (по крайней мере, пока устройство подключено, если нужно — добавляй батарейку).
  • Для чего-то типа «звуковой гранаты» можно напрямую подключать коннекторы 5 В.
  • Для чего-то драматичного вроде дымовых шашек… эту информацию я, пожалуй, опущу, чтобы кто-нибудь из читателей не наделал глупостей. Прости, но мне придется еще в паре мест проделать с текстом такую подлянку.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    6 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии