Загрузка...

Rubber Ducky: как создать мощный инструмент взлома из "обычной флешки"

Тема в разделе Безопасность создана пользователем nitagas 16 авг 2023. 653 просмотра

Загрузка...
  1. nitagas
    nitagas Автор темы 16 авг 2023 8 22 мар 2020
    Что такое Rubber Ducky?

    Rubber Ducky – это устройство, выглядящее как обычная USB-флешка, но способное автоматически выполнять заданные действия на компьютере. В данной статье мы рассмотрим, как создать собственный Rubber Ducky на базе дешевого микроконтроллера.

    Rubber Ducky представляет собой флешку со встроенным микроконтроллером, эмулирующим USB-клавиатуру. При подключении к компьютеру она автоматически “нажимает” заранее запрограммированные клавиши, имитируя действия пользователя.

    Таким образом, злоумышленник может использовать Rubber Ducky для быстрого и незаметного выполнения вредоносных действий: установки ПО, кражи данных, изменения системных настроек и т.д.

    Создание собственного Rubber Ducky :da:
    Для создания своего Rubber Ducky нам понадобится:
    • Плата Digispark на ATtiny85
    • ПО Arduino IDE
    • Немного терпения
    В качестве “мозга” нашего устройства будет использован микроконтроллер ATtiny85 – маленький 8-битный чип фирмы Atmel. Он обладает достаточной вычислительной мощностью и памятью для решения наших задач.
    Для удобства мы воспользуемся готовой платой Digispark, на которую этот микроконтроллер уже установлен. Плата имеет разъем USB и позволяет легко запрограммировать ATtiny85.
    Для написания кода для микроконтроллера нам потребуется среда разработки Arduino IDE с установленными драйверами Digispark.

    Программирование Rubber Ducky

    Сначала нужно установить дравера, скачайте их по ссылке https://github.com/LilyGO/DigiSpark-ATtiny85-driver-install

    Для линукс командой
    Код
    sudo apt-get install libusb-1.0-0-dev

    Тут вы найдете подробности как установить libusb на linux https://askubuntu.com/questions/629619/how-to-install-libusb

    В Arduino IDE https://www.arduino.cc/en/software в окне настроек мы должны найти поле «Диспетчер URL-адресов дополнительных плат» и вставить внутрь следующий URL-адрес:

    Код
    http://digistump.com/package_digistump_index.json
    Подключаем плату Digispark и пишем следующий простой код:
    Код
    #define kbd_en_us

    #include “DigiKeyboard.h”

    void setup() {

    DigiKeyboard.update();

    DigiKeyboard.delay(5000);

    }

    void loop() {

    DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);

    delay(250);

    DigiKeyboard.println(“notepad”);

    delay(250);

    DigiKeyboard.println(F(“Hello World”));

    while(1);

    }
    Этот код при подключении к компьютеру вводит текст “Hello World” в notepad. Для эмуляции нажатия клавиш используются функции библиотеки DigiKeyboard. Вы можете поменять клавиатуру платы на ту которую использует ваш компьютер, по ссылке вы найдете все доступные раскладки. https://github.com/ernesto-xload/DigisparkKeyboard

    Раскладка меняется в коде вот тут #define kbd_en_us

    Загружаем код на плату и проверяем работу нашего DIY Rubber Ducky. При подключении к компьютеру в открытом текстовом редакторе должно появиться слово “Hello World”.

    Учтите, во время загрузки кода подключаем плату только когда arduino ide нас попросит об этом в консоле.

    Мы рассмотрели принцип работы Rubber Ducky и создали собственное подобное устройство при помощи дешевого микроконтроллера. Теперь вы можете использовать его для образовательных целей и исследований в области кибербезопасности. Главное помнить, что несанкционированное использование Rubber Ducky является незаконным.

    Видео инструкция -
     
Top