USBArmyKnife – це унікальний інструмент, розроблений для тестування безпеки USB-пристроїв. Він поєднує в собі декілька важливих функцій, що дозволяють швидко виявляти вразливості та захищати систему від потенційних загроз через USB. У цій статті ви дізнаєтесь, як USBArmyKnife може допомогти в тестуванні безпеки USB-пристроїв, які основні функції пропонує цей інструмент для захисту від загроз, а також як налаштувати та використовувати його для проведення пентестів і виявлення вразливостей.
Дисклеймер: Ця стаття підготовлена виключно з ознайомлювальною метою. Уся інформація, представлена в матеріалі, базується на відкритих джерелах і не призначена для використання у незаконних або неетичних цілях
Цей пристрій компактний і універсальний, пропонує широкий набір функцій, таких як USB HID атаки, емуляція накопичувача, імітація мережевих пристроїв та експлойти Wi-Fi/Bluetooth (на базі ESP32 Marauder).
Контроль над запуском корисних навантажень можна здійснювати різними способами: підключенням і виконанням одразу, відкладеним запуском через Wi-Fi, таймером або через спеціально створений користувальницький інтерфейс. Завдяки веб-інтерфейсу Bootstrap, керувати і розгортати атаки легко навіть за допомогою телефону.
Крім того, можна розгортати агента для виконання команд навіть на заблокованих системах. Виведення послідовного інтерфейсу важко виявити, а перегляд екрана жертв здійснюється через спеціальне Wi-Fi-з’єднання пристроїв.
Армійський ніж USB є потужним інструментом для покращення набору інструментів локального доступу.
Сьогодні існує проблема з фізичним доступом/USB-атаками. Сама по собі кожна атака не дає достатнього рішення для досягнення більшості цілей.
Атаки через USB-клавіатуру (Ducky, HID&Run) вимагають входу в систему, і навіть найкращі інструменти не можуть вирішити цю проблему.
Мережеві атаки (отруйний кран тощо) можуть отримати хеш пароля, але часто потрібно щось складне, що висить через порт Ethernet, щоб отримати його назад для офлайн-злому.
Коли ви потрапляєте на коробку, які у вас ще є варіанти для викрадання даних, коли все, що відкриває сокет, надсилається до VT.
Потрібна була платформа фізичного доступу, яка дозволила б шахраю отримати найкращі частини кожної атаки та вирішити свої відповідні проблеми за допомогою іншої атаки. В ідеалі ця платформа була б настільки дешевою та прихованою, що її втрата не була б проблемою.
Хочете стати інтерфейсом USB Ethernet-адаптера PCAP і виходити через Wi-Fi? USB армійський ніж.
Хочете обернути свої атаки в власний інтерфейс або просто показати голлівудський інтерфейс, коли ваша атака спрацювала? USB армійський ніж
Хочете прихований накопичувач? USB армійський ніж
Хочете вимкнути автентифікацію всіх користувачів Wi-Fi, PCAP, повторне узгодження та надіслати це собі електронною поштою, коли машину залишили розблокованою для офлайн-злому? Армійський ніж USB
Хочете, щоб ваша атака знищила себе, коли її знайдуть? Армійський ніж USB
Що підключити до іншого апаратного забезпечення, датчиків руху тощо? Армійський ніж USB.
Хочете подивитися, що на екрані жертви через Wi-Fi? USB армійський ніж.
У цьому відео показано, як він працює.

У цьому відео показано, як функціонує USB PCAP, і є короткий пік у веб-інтерфейсі.

У цьому відео показано процес отримання доступу до машини жертви після успішного встановлення агента.

Цей проєкт дозволяє здійснювати різноманітні атаки, засновані на використанні USB, Wi-Fi та Bluetooth, із можливістю приховування пристрою. Серед атак — надсилання команд через BadUSB (USB HID за допомогою DuckyScript), емуляція пристроїв масової пам’яті та мережевих USB-пристроїв, а також атаки на Wi-Fi та Bluetooth за допомогою ESP32 Marauder. Атаки реалізовані на основі мови DuckyScript, розширеної додатковими користувацькими командами та повними можливостями ESP32 Marauder.
Напади включають:
Атаки USB HID : надсилайте власні команди HID за допомогою DuckyScript, підтримує BadUSB і USB HID і атаки в стилі запуску.
Запам’ятовуючий пристрій : емулюйте накопичувач USB.
Мережевий USB-пристрій : відображається як мережевий USB-пристрій.
Атаки Wi-Fi та Bluetooth : використовуйте ESP32 Marauder для атак Wi-Fi та Bluetooth.
LilyGo T-Dongle S3 — це плата розробки на базі ESP32-S3, виконана у форм-факторі USB-флешки. Вона має кольоровий РК-екран, фізичну кнопку, прихований адаптер для карти microSD (вбудований в роз’єм USB-A), а також адаптер SPI. Пристрій оснащений 16 МБ флеш-пам’яті. Завдяки чіпсету ESP32-S3, T-Dongle S3 може працювати як WiFi-станція, а також підтримує низку атак через WiFi і Bluetooth. Вартість плати є надзвичайно доступною. Існує дві версії пристрою: з екраном та без, але тестувалася тільки версія з екраном.
Цей пристрій за дизайном, розміром і функціями схожий на LilyGo T-Dongle S3 і використовує той самий чіпсет. Очевидно, що це плата для розробників, оскільки вона не постачається з корпусом і має відкриту схему на нижній стороні. Де цей пристрій перевершує T-Dongle S3, так це те, що він має дуже великий високоякісний екран і 8 МБ додаткової оперативної пам’яті.
Обладнання:
Підтримуваний пристрій, в ідеалі LilyGo T-Dongle S3 з екраном.
Для пристрою з картою SD вам знадобиться карта micro SD у форматі FAT32. (Для великих карт це має бути щонайбільше один розділ на 32 ГБ).
USB Army Knife може мати труднощі з роботою на великих SD-картах або з новими файловими системами. Для досягнення максимальної сумісності рекомендується використовувати розділ FAT32 на карті об’ємом до 32 ГБ або менші ємності. Якщо вам потрібно розбити SD-карту на розділи, можна скористатися інструкціями з розділення SD-карти у Windows, описаними в цій статті.
Примітка: При першому запуску, якщо пристрій не зможе знайти SD-карту з підтримуваною файловою системою, він запропонує відформатувати її. Однак після цього файлова система, створена на SD-карті, може бути несумісною з Windows. Тому рекомендується відформатувати SD-карту безпосередньо через сам пристрій для уникнення проблем.
1. Клонуйте репозиторій:
git clone https://github.com/i-am-shodan/USBArmyKnife.git
2. Тепер ви клонували репо, яке вам потрібно, щоб витягнути підмодулі. Виконайте цю команду в каталозі, який ви щойно клонували. Якщо ви цього не зробите, ви отримаєте помилки, пов’язані з ESP32Maurauder
git submodule update --init
3. Відкрийте проект у Visual Studio Code
4. Додатково: додайте додаткові розкладки клавіатури, які вам потрібні, відредагувавши файл platform.ini
5. Клацніть піктограму PlatformIO (іконка прибульця)
6. (Вийміть ключ, якщо він був вставлений) Натисніть і утримуйте апаратну кнопку , вставте пристрій, зачекайте 1 секунду та відпустіть кнопку. Тепер ви повинні побачити новий COM-порт/послідовний пристрій, підключений до вашої машини
7. У меню розгорніть пристрій, який потрібно прошити.
Для T-Dongle S3 вам слід розгорнути «LILYGO-T-Dongle-S3»
Для загального ESP32-S2 вам слід розгорнути «Generic-ESP32-S2»
Після вибору пристрою заповнення меню збірки може зайняти кілька секунд
8. Натисніть “Завантажити”
9. Тільки якщо ваш пристрій НЕ має SD-карти.
Відредагуйте файли файлової системи флеш-пам’яті, вони зберігаються в каталозі «data».
Розгорніть папку Platform у меню збірки з попереднього кроку.
Натисніть «Завантажити образ файлової системи».
10. Після успішного завершення завантаження вийміть ключ і вставте картку micro SD, якщо вона є.
Якщо ви хочете оновити наявну установку, вам потрібно:
Використовуйте
git pullдля отримання останніх змін до цього сховища
Запустіть,
git submodule update --recursiveщоб переконатися, що всі підмодулі оновлені
Натисніть «Повне очищення» в меню збірки PlatformIO. На цьому етапі весь ваш код і залежності будуть оновлені, і ви можете продовжити кроки збірки вище.
Підключіть USB-ключ до комп’ютера.
Підключіться до точки доступу WiFi (iPhone14) за допомогою пароля ‘password’
Отримайте доступ до веб-інтерфейсу ( http://4.3.2.1:8080 ), перейшовши за URL-адресою у своєму браузері.
Переконайтеся, що веб-інтерфейс завантажено правильно. Ви повинні побачити поточний статус і час безвідмовної роботи. Якщо ні, оновіть сторінку.
Використовуйте веб-інтерфейс для створення та керування атаками за допомогою DuckyScript.
Пристрої на основі ESP-S2 підтримують Wi-Fi, але не мають веб-інтерфейсу. Атаки управляються через файли DuckyScript.
Немає причин, чому USB Army Knife не може працювати в режимі USB-хоста. Це той самий режим, у якому працює комп’ютер. Таким чином USB Army Knife може видавати команди, ніби це комп’ютер. Оскільки більшість смартфонів підтримують PTP (протокол передачі зображень), це означає, що теоретично ви можете підключити USB Army Knife (з USB-адаптером) до телефону, щоб він знімав фотографії.
У Espressif є документація щодо режиму USB-хоста , а також приклад коду . У них немає прикладу для протоколу PTP. Ви можете зібрати PCAP свого телефону за допомогою PTP за допомогою USB PCAP, є навіть диссектор WireShark