USB Army Knife — идеальный инструмент для атак с физическим доступом для пентестеров и редтимеров.
Огромная часть этой работы уже завершена, и я был занят работой с оборудованием, которое будет достаточно мощным для запуска этой новой платформы. Ясно одно: донгл, с которого начался этот проект, не сможет справиться с новыми функциями V2. Но мне, например, очень нравится его форм-фактор. Я уверен, что v2 превратит UAK в одну крошечную флешку, которая сама пишет скрипты, выбирает цель, управляет устройством, слышит комнату и, возможно, даже сможет общаться со своими собратьями...
Компактное и универсальное устройство, которое поражает своими обширными возможностями, включая USB HID-атаки, эмуляцию массового хранилища, имитацию сетевых устройств и WiFi/Bluetooth-эксплойты (благодаря нашему форку ESP32 Marauder).
Полный контроль над тем, как и когда выполняются ваши пейлоады. Подключите и выполняйте, оставьте и запускайте по WiFi, запускайте по таймеру или создайте интерфейс в стиле Голливуда. Управляйте и разворачивайте свои атаки без усилий, используя только телефон, через удобный веб-интерфейс на Bootstrap.
Хотите большего? Разверните агента и выполняйте команды, даже когда машина заблокирована. Работа через последовательный интерфейс делает исходящий трафик чрезвычайно сложным для обнаружения. Вы даже можете просматривать экран жертвы через выделенное WiFi-соединение устройства.
Оснастите себя USB Army Knife и поднимите свой набор инструментов для локального доступа на новый уровень.
«Ваше устройство — зло. Вы творите зло.» — Mr. Peoples через X
Сегодня существует проблема с атаками при физическом доступе/USB. По отдельности каждая атака не даёт достаточного решения для достижения большинства целей.
Нужна была платформа физического доступа, которая позволила бы подходящему злоумышленнику взять лучшее из каждой атаки и обойти их соответствующие проблемы с помощью другой атаки. В идеале эта платформа должна быть настолько дешёвой и скрытной, что потеря одной не была бы проблемой.
Именно поэтому я решил создать USB Army Knife.
Этот проект реализует множество атак на основе легко скрываемого USB/WiFi/BT-донгла. Атаки включают отправку BadUSB (USB HID-команды с использованием DuckyScript), появление в качестве устройств массового хранения, появление в качестве USB-сетевых устройств, а также выполнение WiFi- и Bluetooth-атак с помощью ESP32 Marauder. Атаки разворачиваются с помощью языка, похожего на Ducky, который вы, вероятно, уже знаете и любите. Этот язык был расширен множеством пользовательских команд и даже всей функциональностью ESP32 Marauder (улучшенной). Атаки включают:
| Название | Описание |
|---|---|
| Скрытое хранилище | Пример, показывающий, как маскироваться под два разных USB-устройства массового хранения. При первом подключении устройство появляется с полным содержимым micro SD-карты. При всех последующих попытках появляется другой «безобидный» диск. |
| Индикатор выполнения | На ЖК-экране устройства отображаются изображения с индикатором выполнения. Отлично подходит для атак в голливудском стиле или если вам нужен визуальный индикатор того, что атака развёрнута. |
| Ультимативный RickRoll | Внедрение нажатий клавиш для показа знаменитого видео Rickroll, а также использование ESP32 Marauder для трансляции текста песни по WiFi. |
| USB Ethernet PCAP | Превращает устройство в USB-сетевой адаптер и собирает PCAP первых нескольких секунд сетевого трафика. |
| Развёртывание последовательного агента | Разворачивает агента, если он ещё не установлен, и отправляет команды через последовательный порт. Вывод команд можно увидеть в веб-интерфейсе. |
| Захват экрана | Разворачивает агента; агент включает крошечный VNC-сервер. Теперь экран можно просматривать через веб-интерфейс. |
| Простой интерфейс | Простой, но мощный интерфейс для выбора скриптов/изображений и их запуска с помощью аппаратной кнопки. Показывает, как легко можно создавать сложные UI-взаимодействия. |
| Трансляция аудио с микрофона по WiFi | У M5Stack AtomS3U есть микрофон, который можно транслировать по WiFi. |
| Мгновенный крах Linux-машин | Развёртывание повреждённой файловой системы, которая вызывает панику на Linux-машинах с автоматическим монтированием. |
| Оборудование | Поддержка | Ссылки для покупки |
|---|---|---|
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 — тогда устройство не перегревается. Для этого устройства есть специальные инструкции по установке | |
Прежде всего, пожалуйста, ознакомьтесь с 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 have documentation for USB host mode and also example code. They do not have an example for the PTP protocol. You can collect a PCAP of your phone using PTP using USB PCAP there is even a WireShark dissector
Contributions are welcome! Please fork the repository and submit a pull request.
If you have any questions or suggestions, feel free to reach out to us:
This project is licensed under the MIT License - see the LICENSE file for details.
| Злой USB CDROM/NIC |
| Притворитесь USB-сетевыми картами, которым требуется драйвер с CDROM-устройства, появляющегося при подключении NIC. |
| Использование разных раскладок клавиатуры | Автоматическая поддержка разных раскладок клавиатуры без переписывания пейлоадов. |
T-Watch S3 ![]() |
| T-Watch S3 — это платформа умных часов с множеством встроенного оборудования, включая экран, WiFi, часы реального времени, микрофон, акселерометр, инфракрасный порт, тактильную обратную связь и LoRa-трансивер. Многое из этого уже поддерживается платформой USB Army Knife. Заводная головка часов действует как кнопка, а также есть мини-USB-порт для зарядки/HID-атак. Поскольку часы основаны на чипсете 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-пейлоадами (например, рикролл). Предупреждение Они слишком слабы для запуска веб-сервера. При покупке остерегайтесь, что их часто путают с очень похожим устройством, содержащим чипсет 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 ГБ — у вас может быть по-другому). |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK — это плата разработки, спроектированная Waveshare. Она имеет USB-A, ЖК-экран 1,14 дюйма, SD-карту и внешние порты (SWD, UART и I2C). Эта плата не работает на чипсете ESP32. Режим USB Ethernet (NCM) и использование всей SD-карты как диска в настоящее время не поддерживаются. ESP32 Marauder не может работать на этом устройстве! В Windows вам также может потребоваться настроить это устройство на использование драйвера WinUSB с помощью Zadig. Удерживайте кнопку при подключении, чтобы перевести устройство в режим прошивки. |