
Простой инструмент для инъекции нажатий клавиш под Windows и Linux, который извлекает сохранённые данные Wi-Fi (SSID и пароль).

Вы когда-нибудь видели фильм, где хакер подключает, казалось бы, обычную USB-флешку к компьютеру и мгновенно похищает данные? Сегодня вы создадите устройство, которое делает именно это.
⚠️ Отказ от ответственности:
Весь контент в этом проекте предназначен исключительно для целей исследований в области безопасности.
Летом 2022 года я решил создать устройство, способное извлекать данные с целевого компьютера. Но как именно развернуть вредоносное ПО и эксфильтровать информацию? В следующих разделах я расскажу об основных шагах, лежащих в основе концепциях и технических нюансах, связанных с созданием собственного инструмента для инъекции нажатий клавиш. Хотя этот проект нацелен конкретно на учётные данные WiFi, полезную нагрузку можно легко модифицировать для более продвинутых или вредоносных целей — единственными ограничениями являются ваша креативность и технические знания.
Со временем проект разросся и включает в себя множество скриптов и инструментов. Изначально он был создан для демонстрации возможностей Rubber Ducky — в частности, бюджетной версии на базе Raspberry Pi Pico (RPi Pico). В настоящее время основными компонентами проекта являются:
Физический доступ к разблокированному компьютеру жертвы.
Компьютер должен иметь доступ в Интернет для отправки украденных данных с помощью SMTP для эксфильтрации по сети.
Знание пароля компьютера жертвы для эксплойта под Linux.
После создания pico-ducky вам остаётся только скопировать модифицированную полезную нагрузку (с вашими SMTP-данными для эксплойта Windows и/или с паролем Linux и именем USB-накопителя) на RPi Pico.
[!NOTE]
Можно собрать этот инструмент с помощью Rubber Ducky, но учтите, что RPi Pico стоит около $4.00, а Rubber Ducky — $80.00.
Однако, хотя pico-ducky — хорошее и бюджетное решение, Rubber Ducky предлагает такие вещи, как скрытность и использование последней версии DuckyScript.
Чтобы использовать Ducky Script для записи полезной нагрузки на RPi Pico, сначала нужно преобразовать его в pico-ducky. Следуйте этим простым шагам для создания pico-ducky.
Инструмент инъекции нажатий клавиш, после подключения к хост-машине, выполняет вредоносные команды, имитируя нажатия клавиш пользователем. Внешне он выглядит как USB-накопитель, но действует как клавиатура, вводящая заранее запрограммированную полезную нагрузку. Такие инструменты, как Rubber Ducky, могут печатать более 1000 слов в минуту. После создания любой, кто имеет физический доступ, может легко развернуть эту нагрузку.
Полезная нагрузка использует команду STRING для обработки инъекций нажатий клавиш. Она принимает один или несколько буквенно-цифровых/знаков препинания и будет вводить остаток строки в точности так, как написано, в целевую машину. ENTER/SPACE будут имитировать нажатие соответствующих клавиш клавиатуры.
Мы используем команду DELAY для временной приостановки выполнения полезной нагрузки. Это полезно, когда нагрузке нужно дождаться загрузки элемента, например, командной строки. Задержка полезна в самом начале, когда новое USB-устройство подключается к целевому компьютеру. Изначально компьютер должен выполнить ряд действий, прежде чем сможет принимать команды ввода. В случае HID время настройки очень мало. В большинстве случаев это занимает долю секунды, так как драйверы встроены. Однако в некоторых случаях более медленный ПК может дольше распознавать pico-ducky. Общая рекомендация — настроить время задержки в соответствии с вашей целью.
Эксфильтрация данных — это несанкционированная передача данных с компьютера/устройства. После сбора данных злоумышленник может упаковать их, чтобы избежать обнаружения при отправке по сети, используя шифрование или сжатие. Два наиболее распространённых способа эксфильтрации:
Этот подход использовался для эксплойта под Windows. Полную полезную нагрузку можно увидеть здесь.
Этот подход использовался для эксплойта под Linux. Полную полезную нагрузку можно увидеть здесь.
Для использования полезной нагрузки Windows (payload1.dd) не нужно подключать перемычку между выводами.