Rubber Ducky - Комбайн для Badusb атак!

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Вступление

-Что такое BADUSB атака?.

-Кто такие hak5 и что в них за интересные проекты.

-Физический пентест и использование Badusb.



Смотрим уточку

-Распаковка и внешний вид девайса.

-Внутренности и микро платы.

-Принцип работы устройства.

-Первый запуск Rubber Ducky.

-Первые шаги в атаках.



Написание скриптов для кастомных атак

-Вкратце про duckyscript.

-Эмуляция нажатий клавиш.

-Таймауты и системные таймауты.

-Горячие клавиши и комбинации двух клавиш.

-Запись информации в переменную.

-Циклы в duckyscript.

-Операторы.

-Дополнительные функции языка от hak5.



Атаки на устройства

-Атаки на Windows/Linux

-Атаки на мобилки

-Атаки на роутеры

-Атаки на устройства с поддержкой физической клавиатуры.



Проводим пентест/физический пентест с помощью Rubber Ducky

-Настройка Rubber Ducky для атаки

-Атака на корпоративную сеть с помощью Rubber Ducky

-Массовые атаки на лоха



Итоги




Вступление

Всем привет друзья и враги , сегодня мы поговорим об таком векторе и виде атаки как Badusb , и об чудесном инструменте для проведения этих атак – Rubber Ducky!


Что такое BADUSB атака?
Badusb – вектор атаки на систему с помощью специального устройства которое эмулирует клавиатуру. Этот вектор атаки относиться к физическому пентесту. Устройство подключается к системе через USB порт , система принимает устройство за клавиатуру , и устройство начинает ввод системных команд на пользу злоумышленнику.

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

Существует множество различных способов использования BADUSB атаки, однако наиболее распространенный подход заключается в создании вредоносного устройства, которое маскируется под легитимное USB-устройство, такое как флэш-накопитель или клавиатура. Злоумышленник может разместить на таком устройстве вредоносное ПО, которое будет выполняться на целевой системе при подключении к ней.

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

Одним из самых распространенных видов устройств для проведения BADUSB атак является Rubber Ducky, созданный командой hak5. Rubber Ducky эмулирует клавиатуру и позволяет написать скрипты на языке duckyscript для выполнения различных вредоносных действий на целевой системе при подключении к ней.

Такое устройство можно и сделать самому , например в моей статье “Делаем Badusb из arduino” https://xss.is/threads/76979/ , где мы делали устройство для Badusb атак из простой платы ардуино Arduino micro pro за 3$ с алика.



Кто такие Hak5 и что в них за интересные проекты
Hak5 - компания которая занимается разработкой и производством различных устройств и программного обеспечения для проведения пентеста (тестирования на проникновение) и для кибербезопасности.

Компания была основана в 2005 году, и изначально специализировалась на создании видео-подкастов, посвященных темам кибербезопасности. В настоящее время, Hak5 также производит и продает устройства для пентеста.

Компания hak5 известна своими проектами в области кибербезопасности, такими как Rubber Ducky, WiFi Pineapple и Shark Jack.

Идея создания Rubber Ducky возникла в 2010 году, когда основатель hak5 Даррен Киттингс рассматривал возможности использования USB-устройств для проведения атак.

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

За несколько лет команда hak5 улучшила устройство, добавив поддержку языка duckyscript для написания скриптов, которые можно было использовать для выполнения различных вредоносных действий на целевой системе. Также в новой версии Rubber Ducky добавили type c ,

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



Некоторые устройства от Hak5:

Rubber Ducky
1683741218553.png





BASH BUNNY
1683741238076.png






SHARK JACK
1683741255176.png






WIFI PINEAPPLE
1683741906270.png







Физический пентест и использование Badusb
Физический пентест – тестирование на проникновение в реальный физический комплекс или здание. При физическом пентесте тестируют охрану , систему наблюдения , и систему защиты от посторонних.

Физический пентест довольно актуален при этапе “проникновение в локальную сеть”. Одним из методов физического пентеста является "бросание флешки", при котором специалист по безопасности оставляет специально подготовленную флешку в зоне доступа к системе, которую необходимо проверить. Если кто-то вставляет флешку в свой компьютер, это может привести к заражению компьютера вредоносной программой.

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

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


Можно выделить три основных этапа физического пентеста:

  1. Определение целей
  2. Разведка и подготовка
  3. Исполнение


Когда мы проникли в здание или в нужную нам локацию (офис , серверная , склад) мы можем использовать Rubber Ducky для автоматизации быстрых действий на пк , например: скрытая установка мальваря , дамп учетных данных пк , захват учетной записи и т.д.

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

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

Тем самым , провокация любопытного пиндоса прошла успешно) он засунул “флешку” в USBпорт на своем пк , тем самым установил мальварь на пк. Далее по сюжету они заразили целую сеть , и потом еще происходили много внеземной хрени) Не суть…

Если смотреть с точки анализа проблемы на эту ситуацию – мы можем понять , что социальная инженерия – всему голова , ведь самое уязвимое место в системе - это кожаные мешки мяса)



Смотрим уточку
Распаковка и внешний вид девайса

Я заказал устройство с офф сайта - https://shop.hak5.org/products/usb-rubber-ducky

Мне пришла новая Rubber ducky (второй ревизии) в синем конверте , вышло очень креативно , Hak5 постарались над дизайном.
1683741286908.png


В конверте было:

Rubber Ducky
1683741310526.png

1683741320179.png

1683741331898.png



Главное в упаковке , устройство которое напоминает обычную флешку , имеет USB type A и USB type C выходы.

Устройство имеет черный пластиковый корпус , который очень царапается при разборке корпуса) так что будьте с ним аккуратно) также железная крутилка , которая закрывает выход USB.



Наклейки
1683741340991.png


Стикеры от Hak5 , три капельки которых нету) используются для модификации , об этом поговорим в следующей главе.



Визитка
1683741348182.png

1683741354234.png



Красивая визитка с описанием вида устройства и линками на туториалы и мануалы по использованию устройства.





Разборка

  • Разжимаем пальцами железку.
  • Снимаем заглушку для второго порта USB type C.
  • Ногтем или тонким острым предметом раскрываем пластиковые части корпуса.


Теперь мы можем увидеть голую Badusb , как не странно , плата не очень похожая на плату флешки)
Это логично , ведь тут у нас целый процессор для отработки скриптов
1683741365757.png




Внутренности и плата

1683741378857.png

1683741386559.png



-Микроконтроллер (например, ATmega32u4)

-USB-коннектор type A

- USB-коннектор type C

-Память (например, EEPROM или флэш-память)

-Кнопка

-Светодиод

-HID контроллер



Микроконтроллер

Микроконтроллер (Процессор) – главная часть на плате , отрабатывающая запросы от других железок на плате , и заставляющая эти железки логично работать.

На новой ревизии стоит процессор Atmel 32UC3B1512



USB-коннектор type A

USB-коннектор type A – простой USB выход , для того чтобы устройство можно было подключить к пк, или к другим портам через адаптер типа:

-USB type A – USB type C

-USB type A – USB type B

-USB type A – Lightning



USB-коннектор type C

USB-коннектор type C - спецификация USB для универсального компактного двухстороннего 24-контактного разъёма для USB-устройств и USB-кабелей.

Порт для этого коннектора , в последнее время начали пихать повсюду… Мобилки , ноуты , телики , да даже бля тостеры!



Память

Устройство использует блок памяти , для сохранения байтов данных , которые должен отработать процессор.

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

В комплекте идет Micro SD карта на 128мб , не очень много но для начала пойдет.

При переходе устройства в режим накопителя (по дефолту нужно просто нажать на кнопку которая находиться на плате.) мы можем увидеть в проводнике нашу Micro SD карту , туда мы и будем заливать готовые .bin скрипты.



Кнопка

По дефолту кнопка вводит устройство в режим накопителя , тем самым если мы хотим закинуть или изменить , удалить скрипт который установлен на Micro SD карту , пихаем устройство в USB порт , и быстро нажимаем кнопку.

Также функцию назначения кнопки можно изменять , вписав специальную функцию кода на языке duckyscript в .bin файл , который будет закинут на Rubber Ducky. Об этом мы поговорим в разделе про duckyscript.

Но есть одна проблема - кнопку не видно и не возможно нажимать когда Rubber Ducky в корпусе. Hak5 придумали решение проблемы – стикеры , помните я говорил про три стикера которых не было в стикер паке? Так вот , они в обратной стороны корпуса.

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

Силу нажатия можно регулировать количеством слоев стикеров , я поставил 3 , для меня это золотая середина.
1683741405794.png






Светодиод

Светодиод на плате предназначен для уведомления об статусе атаки.

Мигающий зеленый свет – скрипт работает, атака в процессе.

Зеленый свет – пауза , атака закончилась.

Красный цвет - Не найден файл inject.bin в корневом каталоге SD-карты или отсутствует SD-карта

Также с помощью функции в коде скрипта , можно изменять цвет индикатора , частоту мигания и еще много другого , это мы обсудим также в разделе про duckyscript.



HID контроллер

HID контроллер – один из главных модулей на плате , он отвечает за ввод команд на устройстве жертвы.

Также этот модуль в новых версиях Rubber Duckyс помощью новой функции в duckyscript умеет подменять HID идентификаторы , тем самым представляя себя устройству за такие HID аксессуары как клавиатура или накопитель.



Первый запуск Rubber Ducky

Открыли мы упаковку… посмотрели мы и внутри и снаружи…

Значит теперь пришло время проникновения)))



После того как вставили Rubber Ducky в USB порт , в проводнике у нас появиться новое устройство – накопитель.

Перейдя в накопитель мы увидим папку с документацией.
1683741422425.png



Теперь сохраняем себе эту папку на пк , и полностью удаляем все файлы с накопителя Rubber Ducky.



Принцип работы устройства

Когда вы подключаете Rubber Ducky к компьютеру, он распознается как устройство USB HID (Human Interface Device). Это позволяет Rubber Ducky эмулировать клавиатуру и мышь, и отправлять команды на ваш компьютер.

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

Далее эти символы отправляются на компьютер и там происходят уже заранее записаны в .bin файл команды.



Пройдемся по каждому этапу:

1.Создание скрипта с алгоритмом атаки

Для написания и конвертации скриптов на языке программирования есть вебсайт – текстовый редактор Payload studio. Редактор сделала сама компания Hak5 и в нем возможно писать только на duckyscript.

Переходим на https://payloadstudio.hak5.org/community/
1683741436775.png



Перед собой мы увидим текстовый редактор , сюда пишем свой код на duckyscript.



2.Конвертирование скрипта в .bin файл

Написав нужный нам код , нажимаем на кнопку Generate Payload , снизу слева.
1683741453279.png


Редактор сгенерировал нам готовый .bin файл с скриптом. Нажимаем кнопку Download , и скачиваем файл прямо из браузера.



3.Установка скрипта на модуль памяти Rubber Ducky

После подключения Rubber Ducky к пк , нажимаем кнопку на плате , чтобы перевести устройство в режим флэш накопителя.

Еще можно разобрать корпус Rubber Ducky , аккуратно вынимаем Micro SD карту из слота , и вставляем в пк.

Теперь в проводнике мы увидим новый накопитель , теперь сюда закидываем скаченный из браузера файл , файл обязательно должен иметь название inject.bin

(В накопителе Rubber Ducky должен быть только один файл – inject.bin)



4.Атака типа Badusb

После того как мы закинули файл inject.bin с нашим скриптом на Rubber Ducky , мы можем приступать к атакам.

Для проведения атаки , стоит просто уточке войти в любой USB порт , тогда при получении напряжения Rubber Ducky начнет атаку.

Помним – если хотим вставить утку в свой пк чтобы изменить/удалить скрипт , тогда либо вынимаем Micro SD карту из слота ,и далее работаем с ней в проводнике , либо после того как вставили утку , быстро нажимаете кнопку на плате для перехода в режим накопителя.



Первые шаги в атаках

После ознакомления с чудо девайсом , поговорим об атаках.

Атаки можно проводить на всех устройствах , которые поддерживают ввод информации физической клавиатуры.

Большинство атак происходит через алгоритм:

-открой командную строку

-Введи мою команду (скачай мой файл , или выполни код)

Еще Badusb можно использовать для брутфорса , например:

-брутфорс входа в систему (windows/Linux)

-брутфорс ПИН-кода , пароля мобильника (Android , IOS)

Когда мы проводим атаку на системе windows , для ввода команд , лучше использовать PowerShell.

Где взять готовые скрипты?

Готовые сборники скриптов на языке duckyscript вы сможете найти на Github , эти скрипты в народе называют payload.

Несколько репозиториев с ducky script payload-ами.

-

- https://github.com/topics/ducky-payloads

- https://github.com/FalsePhilosopher/badusb



Написание скриптов для кастомных атак
Вкратце про duckyscript

duckyscript - это язык программирования, который используется для написания скриптов для Rubber Ducky.

duckyscript позволяет написать скрипт, который будет имитировать нажатия клавиш на клавиатуре компьютера, а также другие действия, такие как задержки, нажатия на комбинации клавиш и запуск программ.

Также в новой версии duckyscript , Hak5 добавили много крутых функций в свой ЯП , например:

- Изменение режима атаки. HID, STORAGE , OFF

-Подмена идентификатора HID

-Определение атакуемой ОС

-Управление внутренним хранилищем

На вид ,код на языке duckyscript это набор команд и клавиш которые должен отработать процессор Rubber Ducky и отправить сигнал на HID модуль.

Но это не до конца так , когда начнете углубляться в изучение этого языка программирования , поймете что тут есть и запись данных в переменные , и логические операторы , и циклы , и функции и много всего интересного!



Перед изучением синтаксиса , запомните несколько базовых функций:

REM – комментарий в коде , при отработке скрипта интерпретатор будет игнорировать текст в строке после REM.

REM это строчка в которой этот текст будет комментарием



DELAY – это функция задержки , паузы между выполнением команд.

DELAY <время в мс>

Минимальное значение задержки равно 20.

В среднем , для адекватной роботы кода советую ставить значение задержки 100

Если атакуемая машина очень тормозит или имеет старое железо , значит значение задержки должно быть больше чтобы код сработал правильно.

В таком случае задержку ставим 800.



Эмуляция нажатий клавиш

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



STRING

STRING – функция которая используется для ввода текста как будто он вводится с клавиатуры.

Синтаксис и примеры:

Код: Скопировать в буфер обмена
Код:
STRING ls
STRING Hello world!


Представьте что прямо сейчас вы ввели текст Hello world на клавиатуре никуда не входив и не выходив.

Это и сделает строка STRING Hello world!



STRINGLN

Также одной из разновидностей функции STRING есть функция STRINGLN

Разница между этими функциями в том что функция STRINGLN после ввода нам нужного текста нажимает Enter.

Синтаксис и примеры:

Код: Скопировать в буфер обмена
STRINGLN ls

Если у себя на пк c линуксом открыть консоль и вставить Rubber Ducky с этим скриптом , тогда у нас отработается команда ls , и мы увидим все файлы в текущей директории.



ENTER , ESCAPE , PAUSE , BREAK , Fx

Для эмулирования нажатия таких системных клавиш как:

-ENTER

-ESCAPE

-PAUSE

-BREAK

-F1 F2 F3 F4 F5 F6 F7 F8 F9 F0 F11 F12

Есть также готовые функции , и это просто название клавиши только с КАПСЛОКОМ.

Например , 2 строки:

Код: Скопировать в буфер обмена
Код:
STRING LS

ENTER

Заменяют строку STRINGLN , или наоборот.



SHIFT, ALT, CONTROL CTRL, COMMAND, WINDOWS

Для эмулирования нажатия таких клавиш как:

-SHIFT

-ALT

-CONTROL CTRL

-COMMAND

-WINDOWS GUI

Есть также готовые функции , и это просто название клавиши только с КАПСЛОКОМ.

GUI это в большинстве случаев клавиша WIN (Windows) , и самая популярная связка этой клавиши с другой , это win + r (выполнить)

Когда нам надо эмулировать комбинацию из двух клавиш , нам надо писать строку таким способом:

GUI r

REM эта строка открывает окошко выполнить когда атакуемая система windows

По такому принципу работают все комбинации.

Несколько популярных комбинаций на заметку:

Код: Скопировать в буфер обмена
Код:
GUI r

BACKSPACE

CTRL a

CTRL c

CTRL v

ALT F4


CAPSLOCK, NUMLOCK , SCROLLLOCK

Для использования (ввода текста) через эти клавиши , в коде пишем название клавиши , и тогда она будет включена в нашей виртуальной клавиатуре.

Примеры:

Код: Скопировать в буфер обмена
Код:
ATTACKMODE HID STORAGE

DELAY 2000

CAPSLOCK

STRING abc123XYZ





Таймауты

Команда DELAY в языке duckyscript используется для задержки выполнения следующей команды на определенное количество времени.

Это может быть полезно, если вы хотите создать задержку между командами или задержать выполнение следующей команды до тех пор, пока не завершится предыдущая команда.

Синтаксис команды DELAY:

DELAY [время в миллисекундах]

Например, чтобы задержать выполнение следующей команды на 3 секунды, необходимо ввести команду DELAY 3000 (3 секунды = 3000 миллисекунд).

DELAY 5000

REM Задержка 5 секунд

В этом примере мы используем переменную DELAY, которую предварительно задали в скрипте, чтобы задержать выполнение следующей команды на 5 секунд.

Задержки могут быть полезными в том случае, если вы хотите, чтобы выполнение скрипта было более реалистичным и не выглядело как автоматическое действие. Например, если вы создаете скрипт для взлома пароля, то можно добавить небольшие задержки между набором символов, чтобы скрипт выглядел более естественно и не вызывал подозрений. Однако, учтите, что слишком большие задержки могут привести к тому, что выполнение скрипта займет слишком много времени.



Горячие клавиши и комбинации двух клавиш

Комбинации клавиш помогут нам работать с атакуемой системой быстрее , ведь множество ОС имеют свои горячие клавиши для удобного и быстрого взаимодействия с системой.

Комбинация с помощью пробела

Примеры:

Код: Скопировать в буфер обмена
Код:
GUI r

CTRL a

CTRL c

CTRL v

ALT F4

Комбинация с помощью –

Примеры:

Код: Скопировать в буфер обмена
Код:
CTRL-ALT

CTRL-SHIFT

ALT-SHIFT

COMMAND-CTRL

COMMAND-CTRL-SHIFT

COMMAND-OPTION

COMMAND-OPTION-SHIFT




Запись информации в переменную

Также в языке программирования duckyscript можно использовать переменные.

Переменные - это именованные контейнеры для хранения значений в duckyscript.

Они используются для упрощения написания скрипта и повышения его гибкости.

Переменные содержат целые числа без знака со значениями в диапазоне от 0 до 65535. Логические значения могут быть представлены ключевыми словами TRUE и FALSE или любым ненулевым целым числом для значений true и 0false.

Все переменные имеют глобальную область видимости — это означает, что на них можно ссылаться в любом месте полезной нагрузки.

VAR

VAR – функция которая позволяет создавать переменные и работать с ними.

Чтобы создать переменную с помощью функции VAR , пишем следующую строку:

VAR $A = 1337

Это значит что мы создаем переменную с именем A и помещаем туда такую информацию как число 1337

DEFINE

DEFINE – функция которая позволяет создавать локальные переменные.

Чтобы использовать ее для замены данных пишем такую строчку:

DEFINE FOO Hello, World!
1683741496113.png



Это можно перевести на человеческий язык как:

Замени словом FOO слово Hello , World!

Применим на практике такой код:

Код: Скопировать в буфер обмена
Код:
DEFINE FOO Hello, World!

GUI r

DELAY 500

STRING FOO

Запустив его на атакуемой машина под управлением ОС windows , строка STRING FOO напишет не FOO , а то значение которым мы заменили слово FOO , в нашем случае это значение Hello world!





Циклы в duckyscript

Цикл в программировании – функция , которая позволяет повторять какое то действия , зависимо от условия и количества повторений.

WHILE

Цикл WHILE в duckyscript используется для повторения действий.

Конструкция кода с циклом WHILE будет построена так:



WHILE (<условие>)

<действие которое будет повторятся>

END_WHILE



Пример кода duckyscript с использованием цикла WHILE:

REM код в цикле 15 раз мигает светодиодом на плате

Код: Скопировать в буфер обмена
Код:
VAR $FOO = 15

WHILE ( $FOO > 0 )

LED_G

DELAY 500

LED_OFF

DELAY 500

$FOO = ( $FOO - 1 )

END_WHILE

LED_R



Этот код в цикле , 15 раз мигает светодиодом , разберем детально.

-строка VAR $FOO = 15 значит что мы присвоили переменной FOO значение 15

-строка WHILE ( $FOO > 0 ) значит , отрабатывать цикл пока значение переменной FOO не станет меньше 0

-строка $FOO = ( $FOO - 1 ) минусует каждый раз число 1 от значения переменной FOO

Тем самым начальное значение переменной FOO 15 , а после того как цикл прошел ,коло значение уже 14 , так весь код уменьшает значение пока оно не станет меньше 0.





Операторы

Условные операторы в программировании – правила кода , которые исполняют код если условие ровно True.

Перейдем к коду.

Конструкция условного оператора IF:

IF (<условие>) THEN

<код который будет выполнятся если условие правильное>

END_IF

Теперь посмотрим на код со стороны адекватного человека)))

Переводим код на понятный человеческий язык:

Если (<условие такое то>) тогда

Сделай то

Конец алгоритма

Конструкция условного оператора IF – ELSE:

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

Если первое условие не было выполнено , тогда проверь второе условие , и если оно правильное , выполни код.

Конструкция кода:

IF (<условие>) THEN

<код который будет выполнятся если условие правильное>

ELSE IF (<условие>) THEN

<код который будет выполнятся если условие правильное>

END_IF



Переводим код на понятный человеческий язык:

Если (<условие такое то>) тогда

Сделай то

Иначе(<условие такое то>) тогда

Сделай то

Конец алгоритма



Дополнительные функции языка от Hak5

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

Для определения атакующей операционной системы, в duckyscript добавили специальную функцию.

Импорт функции:

EXTENSION OS_DETECTION



Управление кнопкой и присвоение ей функций

Готовые алгоритмы роботы кнопки:

Код: Скопировать в буфер обмена
Код:
WAIT_FOR_BUTTON_PRESS

STRING Press the button...

WAIT_FOR_BUTTON_PRESS

STRING The button was pressed!



Код: Скопировать в буфер обмена
Код:
BUTTON_DEFBUTTON_DEF

BUTTON_DEF

STRING The button was pressed!

STOP_PAYLOAD

END_BUTTON



Код: Скопировать в буфер обмена
Код:
DISABLE_BUTTON

BUTTON_DEF

STRING This will never execute

END_BUTTON

DISABLE_BUTTON

STRING The button is disabled

WHILE TRUE

STRING .

DELAY 1000

END_WHILE


Код: Скопировать в буфер обмена
Код:
ENABLE_BUTTON

BUTTON_DEF

STRINGLN The button was pressed!

STRINGLN Continuing the payload...

END_BUTTON



Код: Скопировать в буфер обмена
Код:
WHILE TRUE

DISABLE_BUTTON

STRINGLN The button is disabled for the next 5 seconds...

STRINGLN Pressing the button will do nothing...

DELAY 5000



Код: Скопировать в буфер обмена
Код:
ENABLE_BUTTON

STRINGLN The button is enabled for the next 5 seconds...

STRINGLN Pressing the button will execute the button definition...

DELAY 5000

END_WHILE



Спойлер: А также использование переменных
$_BUTTON_ENABLED

IF ($_BUTTON_ENABLED == TRUE) THEN

REM The button is enabled

ELSE IF ($_BUTTON_ENABLED == FALSE) THEN

REM The button is disabled

END_IF



$_BUTTON_USER_DEFINED

IF ($_BUTTON_USER_DEFINED == TRUE) THEN

REM Pressing the button will run the user defined BUTTON_DEF

END_IF



$_BUTTON_PUSH_RECEIVED

REM Example $_BUTTON_PUSH_RECEIVED

STRING PUSH BUTTON N times within 5s

$CD = 15

WHILE ($CD > 0)

IF ($_BUTTON_PUSH_RECEIVED == TRUE) THEN

STRINGLN Passed

$_BUTTON_PUSH_RECEIVED = FALSE

END_IF

$CD = ($CD - 1)

STRING .

DELAY 200

END_WHILE

$_BUTTON_ENABLED = TRUE

$_BUTTON_PUSH_RECEIVED = FALSE



Управление LED индикатором

Как мы помним , у индикатора на плате есть 3 режима цвета и мигания.

Мигающий зеленый свет – скрипт работает, атака в процессе.

Зеленый свет – пауза , атака закончилась.

Красный цвет - Не найден файл inject.bin в корневом каталоге SD-карты или отсутствует SD-карта

Также с помощью специальных функций языка duckyscript , мы можем изменять цвет индикатора и частоту мигания.



LED_OFF

Это функция которая отключает свечение индикатора.

Чтобы отключить индикатор , добавьте в код строку:

LED_OFF



LED_R

Эта функция изменяет цвет свечения индикатора на красный.

Для использования в коде , пишем:

LED_R


LED_G

Эта функция изменяет цвет свечения индикатора на зеленый.

Для использования в коде , пишем:

LED_G



Вот и закончили мы мучительное путешествие по недрам программирования и скучного и непонятного процесса взаимосвязи кода и физических модулей Rubber Ducky.

Но за то поняли на что возможна уточка и ее язык программирования duckyscript.

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



Атаки на устройства
Атаки на Windows/Linux

Имея физический доступ к атакуемом ПК ,под управлением такой операционной системы как Windows или Linux , мы можем делать очень многое.

Самые популярные векторы атак на операционные системы Windows/Linux с помощью Rubber Ducky:

Дамп данных – к этому вектору относятся такие дампы информации как: дамп хэшей админов , дамп сохраненных wifi паролей , и дамп паролей Chrome.​
Информация сохраняется на внутреннем накопителе Rubber Ducky.​
Автоматизация действий злоумышленника – получив доступ к системе , на основе знаний которые мы получили в 3 главе , будем писать скрипт для автоматизации действий на атакуемом ПК.​
Приоритет атак в Badusb в том – что это очень быстро и тихо , то есть атака привлекает мало внимания.​
Суть Badusb атаки-, быстро выполнить алгоритм действий который написанный в скрипте.​
Скрытая установка и запуск файлов – один из самых главных векторов атак – Скачать
View hidden content is available for registered users!

View hidden content is available for registered users!
 
Сверху Снизу