
USB Army Knife — идеальный инструмент для атак с физическим доступом для пентестеров и редтимеров.
🚀 USB Army Knife v2 готовится — и это зверь
После двух лет активной разработки v1, v2 призван превратить USB Army Knife в полноценную red-team платформу в вашем кармане. Этим летом грядёт большое объявление, но я хотел немного подразнить:
- Совершенно новый веб-интерфейс — компактнее, быстрее, элегантнее и многоязычный, со встроенным VNC-просмотрщиком, позволяющим наблюдать за целью и управлять ею прямо из браузера. Он не будет привязан к каким-либо веб-инструментам, как сейчас, поэтому любой сможет его изменить.
- Новый движок сценариев UAK — совместим с DuckyScript v3, но выходит далеко за рамки возможностей DuckyScript 3 благодаря полной поддержке строк и кодов возврата. Это делает написание более аккуратных и надёжных пейлоадов гораздо проще.
- Новый кросс-платформенный агент для Windows, Linux и macOS — живой VNC, захват микрофона и, возможно, даже сетевой доступ через USB-последовательное соединение.
- Множество новых возможностей — совершенно новые функции в сети, работе с файлами, captive portal, Bluetooth и многих других! USB 2.0 для более высокой пропускной способности с контейнерами только для чтения и чтения-записи!
- Готовность к ИИ — MCP-сервер с настоящим валидатором сценариев UAK, чтобы ваши ИИ могли писать и проверять пейлоады до того, как они попадут на устройство.
Это лишь намёк, и впереди ещё ОЧЕНЬ много работы! Но я надеюсь, что v2 превратит UAK в одну крошечную флешку, которая сама пишет сценарии, выбирает цель, управляет устройством, слышит комнату и, возможно, даже сможет общаться с собратьями...
Компактный и многофункциональный, этот девайс обладает впечатляющими возможностями, включая USB HID-атаки, эмуляцию массового хранилища, имитацию сетевых устройств и WiFi/Bluetooth-эксплойты (благодаря нашей форкнутой версии ESP32 Marauder).
Полный контроль над тем, как и когда запускаются ваши пейлоады. Подключите и выполняйте, оставьте устройство и запускайте по WiFi, работайте по таймеру или создайте интерфейс в стиле Голливуда. Управляйте и разворачивайте атаки без усилий, используя только телефон и удобный веб-интерфейс на Bootstrap.
Хотите большего? Установите агента и выполняйте команды, даже когда машина заблокирована. Работа через последовательный интерфейс делает исходящий трафик невероятно трудным для обнаружения. Вы даже можете просматривать экран жертвы через выделенное WiFi-соединение устройства.
Вооружитесь USB Army Knife и выведите свой набор инструментов локального доступа на новый уровень.
«Ваше устройство — зло. Вы творите зло.» — Mr. Peoples через X
Сегодня существует проблема с атаками, требующими физического доступа/USB-атак. По отдельности каждая атака не даёт достаточного решения для достижения большинства целей.
Нужна была платформа физического доступа, которая позволила бы подходящему злоумышленнику взять лучшее из каждой атаки и обойти соответствующие проблемы с помощью другой атаки. В идеале эта платформа должна быть настолько дешёвой и скрытной, что её потеря не была бы проблемой.
Именно поэтому я решил создать USB Army Knife.
Это видео показывает, как работает ультимативный рикролл
https://github.com/user-attachments/assets/f373e18e-5cad-4871-9f2a-17523fa33398
Это видео показывает, как работает функция USB PCAP, и даёт короткий взгляд на веб-интерфейс
https://github.com/user-attachments/assets/0d5b1485-b808-46c6-aaf7-7cf016088b8f
Это видео показывает, как получить доступ к машине жертвы после установки агента
https://github.com/user-attachments/assets/3c866d29-ef26-4eaf-943b-1206b8c40101
Этот проект реализует множество атак на базе легко скрываемого USB/WiFi/BT-донгла. Атаки включают отправку BadUSB (USB HID-команд с помощью DuckyScript), имитацию массовых хранилищ, имитацию USB-сетевых устройств, а также проведение WiFi- и Bluetooth-атак с использованием ESP32 Marauder. Атаки разворачиваются с помощью Ducky-подобного языка, который вы, вероятно, уже знаете и любите. Этот язык дополнен множеством пользовательских команд и даже всей функциональностью ESP32 Marauder (улучшенной). Атаки включают:
Прежде всего, пожалуйста, ознакомьтесь с wiki, где есть пошаговое руководство и всевозможные советы для начала работы.
Есть два способа прошить прошивку USB Army Knife на ваше устройство:
Устройства на базе ESP-S2 поддерживают WiFi, но не имеют веб-интерфейса. Атаки управляются через DuckyScript-файлы. Устройства RP2040 не имеют функциональности ESP32 Marauder
Нет причин, по которым USB Army Knife не мог бы работать и в режиме USB-host. Это тот же режим, в котором работает компьютер. Таким образом, USB Army Knife может отдавать команды, как если бы он был компьютером. Поскольку большинство смартфонов поддерживают PTP (протокол передачи изображений), теоретически вы можете подключить USB Army Knife (через USB-адаптер) к телефону и вытащить с него фотографии.
У Espressif есть документация по режиму USB host, а также пример кода. У них нет примера для протокола PTP. Вы можете собрать PCAP вашего телефона по протоколу PTP с помощью USB PCAP; существует даже диссектор для WireShark.
Вклад приветствуется! Пожалуйста, сделайте форк репозитория и отправьте pull request.
Этот проект лицензирован в соответствии с MIT License - подробности см. в файле LICENSE.
| Название | Описание |
|---|
| Covert Storage | Пример, показывающий, как замаскироваться под два разных USB-устройства массового хранения. При первом подключении устройство появляется со всем содержимым micro SD-карты. При всех последующих попытках появляется другой «безобидный» диск. |
| Progress Bar | Изображения отображаются на ЖК-экране устройства, показывая индикатор выполнения. Отлично подходит для атак в голливудском стиле или если вам нужен визуальный индикатор того, что атака развёрнута. |
| Ultimate RickRoll | Вводит нажатия клавиш, чтобы показать знаменитое видео Rickroll, а также использует ESP32 Marauder для трансляции текста песни через WiFi. |
| USB Ethernet PCAP | Превращает устройство в USB-сетевой адаптер и собирает PCAP первых нескольких секунд сетевого трафика. |
| Deploy the serial agent | Устанавливает агента, если он ещё не установлен, и отправляет команды через последовательный порт. Вывод команд можно увидеть в веб-интерфейсе |
| Pull the screen | Устанавливает агента, который включает крошечный VNC-сервер. Теперь экран можно просматривать через веб-интерфейс |
| Simple UI | Простой, но мощный интерфейс для выбора сценариев/изображений и их запуска аппаратной кнопкой. Показывает, как можно легко создавать сложные сценарии взаимодействия с интерфейсом. |
| Stream Mic audio over WiFi | M5Stack AtomS3U имеет микрофон, звук с которого можно транслировать через WiFi. |
| Instantly crash Linux boxes | Разворачивает битую файловую систему, которая вызывает панику на Linux-машинах с авто-монтированием. |
| Evil USB CDROM/NIC | Притворяется USB-сетевым адаптером, которому требуется драйвер с CDROM-устройства, появляющегося при подключении адаптера. |
| Use different keyboard layouts | Автоматическая поддержка различных раскладок клавиатуры без переписывания ваших пейлоадов |
| Оборудование | Поддержка | Ссылки для покупки |
|---|
LilyGo T-Dongle S3 (Рекомендуется)![]() | LilyGo T-Dongle S3 — это плата разработчика на базе ESP32-S3 в форме USB-флешки. Она оснащена цветным ЖК-экраном, физической кнопкой, скрытым адаптером micro SD-карты (внутри разъёма USB-A), а также SPI-адаптером. Имеет 16 МБ флеш-памяти. Она основана на чипсете ESP32-S3, который позволяет ей работать в качестве WiFi-станции, а также поддерживать ряд WiFi- и Bluetooth-атак. Она невероятно дёшева! Существует две версии этого устройства: с экраном и без. Тестировалась только версия с экраном. | |
Evil Crow Cable Wind ![]() | Evil Crow Cable Wind — это вредоносный имплантированный USB-кабель со скрытым внутри ESP32-S3, выпускаемый в нескольких вариантах. Один конец можно использовать для активных USB-атак, а другой предназначен для зарядки устройства. Благодаря уникальной конструкции это одно из самых скрытных устройств, способных работать с USB Army Knife. По этой причине устройство не имеет экрана, SD-карты, светодиодов или удобной аппаратной кнопки (внутри есть одна, для которой нужен магнит). Вместо SD-карты для хранения файлов используется флеш-память. ПРИМЕЧАНИЕ Хотя на этих устройствах можно запустить беспроводную точку доступа, устройство может сильно нагреваться. Чтобы противодействовать этому, USB Army Knife поддерживает троттлинг температуры и отключает WiFi при перегреве устройства. Чтобы полностью избежать этой проблемы, следует подключаться к существующей беспроводной сети (вместо создания точки доступа) или отключать WiFi — тогда устройство не перегревается. Для этого устройства есть специальные инструкции по установке | |
T-Watch S3 ![]() | T-Watch S3 — это платформа умных часов с кучей аппаратного обеспечения внутри, включая экран, WiFi, часы реального времени, микрофон, акселерометр, инфракрасный порт, тактильную обратную связь и LoRa-трансивер. Многое из этого уже поддерживается платформой USB Army Knife. Заводная головка часов работает как кнопка, а для зарядки/HID-атак есть мини-USB-порт. Поскольку часы основаны на чипсете ESP32-S3, они могут работать как WiFi-станция, а также поддерживать ряд WiFi- и Bluetooth-атак. Важно отметить, что здесь нет слота для SD-карты, и для хранения файлов используется флеш-память. Поэтому сценарии атак и любые результаты ограничены ~10 МБ. Прошивка этой платформы немного сложнее — обратитесь к Wiki за инструкциями по запуску устройства. Для этого устройства есть специальные инструкции по установке | |
Waveshare ESP32-S3 1.47inch ![]() | Это устройство похоже по дизайну, размеру и функциям на LilyGo T-Dongle S3 и использует тот же чипсет. Это явно плата разработчика, так как она поставляется без корпуса и имеет открытую схемотехнику на нижней стороне. Где это устройство превосходит T-Dongle S3, так это очень большой качественный экран и дополнительные 8 МБ ОЗУ. | |
M5Stack AtomS3U ![]() | Это плата разработчика на ESP32-S3 с двумя внешними интерфейсами сзади. Она не имеет экрана или SD-карты, но у неё есть светодиод и кнопка. Вместо SD-карты для хранения файлов используется флеш-память. Необычно то, что в ней также есть цифровой микрофон и ИК-светодиод, которые в настоящее время не поддерживаются. Чтобы перевести устройство в режим загрузки, удерживайте RESET (кнопку на боковой стороне устройства), пока не загорится зелёный светодиод. | |
ESP32 Udisk ![]() | Самое простое устройство, способное запускать код USB Army Knife, — это чип ESP32-S2, подключённый к USB-порту. Часто их можно найти в корпусах, очень похожих на T-Dongle S3, и они, как правило, рекламируются на сайтах вроде AliExpress как джейлбрейки для Playstation 4 под названием «USB Dongle Udisk for P4». Эти устройства не имеют ОЗУ, экрана, SD-карты, Bluetooth, светодиодов и хорошей аппаратной кнопки. Вместо SD-карты для хранения крошечных файлов используется флеш-память. Эти устройства невероятно дёшевы и часто хорошо справляются с запуском HID+WiFi-пейлоадов (например, Rick Roll). Предупреждение Они слишком слабы для запуска веб-сервера. При покупке остерегайтесь: их часто путают с очень похожим устройством, которое включает чипсет CH343P и не имеет кнопки сброса. Убедитесь, что покупаемое устройство имеет кнопку, которую можно нажать скрепкой. Убедитесь, что вы прошиваете это устройство конфигурацией Generic-ESP32-S2. | |
Pocket-Dongle-S3 ![]() | Устройство, очень похожее на LilyGo T-Dongle S3, но с другим форм-фактором SD-карты и кнопки. Устройство не имеет светодиода или слота интерфейса QWIIC. Внутри это устройство использует более старый интерфейс SD-карты, поэтому ожидайте низкой скорости передачи данных. | |
ESP32 Key ![]() | Очень похож на ESP32 UDisk (см. это описание для списка того, чего он не умеет) — это ESP32-S2 на плате. Это, вероятно, самое дешёвое устройство, которое едва может запустить USB Army Knife, и цена соответствующая. Чтобы перевести устройство в режим прошивки, нужно удерживать кнопку при подключении. Убедитесь, что вы прошиваете это устройство конфигурацией Generic-ESP32-S2. | |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEK — это плата разработчика, разработанная Waveshare. Она имеет USB-A, 1,14-дюймовый ЖК-экран, SD-карту и внешние порты (SWD, UART и I2C), но не имеет светодиода. Удерживайте кнопку при подключении, чтобы перевести устройство в режим прошивки. У этого устройства есть некоторые проблемы с SD-картами (совместимость и низкая скорость). Возможно, вам придётся использовать разделы на 8 ГБ и перепробовать несколько марок карт, чтобы найти совместимую (у меня работала карта Kingston на 64 ГБ с разделом 9 ГБ, YMMV). | |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK — это плата разработчика, разработанная Waveshare. Она имеет USB-A, 1,14-дюймовый ЖК-экран, SD-карту и внешние порты (SWD, UART и I2C). Эта плата не работает на чипсете ESP32. Режим USB Ethernet (NCM) и использование всей SD-карты в данный момент не поддерживаются. ESP32 Marauder не может работать на этом устройстве! В Windows вам также может понадобиться настроить это устройство на использование драйвера WinUSB с помощью Zadig. Удерживайте кнопку при подключении, чтобы перевести устройство в режим прошивки. |