Інструмент USB ArmyKnife для кіберзахисту та тестування

18.10.2024 2 хвилин Автор: Cyber Witcher

USBArmyKnife – це унікальний інструмент, розроблений для тестування безпеки USB-пристроїв. Він поєднує в собі декілька важливих функцій, що дозволяють швидко виявляти вразливості та захищати систему від потенційних загроз через USB. У цій статті ви дізнаєтесь, як USBArmyKnife може допомогти в тестуванні безпеки USB-пристроїв, які основні функції пропонує цей інструмент для захисту від загроз, а також як налаштувати та використовувати його для проведення пентестів і виявлення вразливостей.

  • Дисклеймер: Ця стаття підготовлена виключно з ознайомлювальною метою. Уся інформація, представлена в матеріалі, базується на відкритих джерелах і не призначена для використання у незаконних або неетичних цілях

USB армійський ніж

Цей пристрій компактний і універсальний, пропонує широкий набір функцій, таких як USB HID атаки, емуляція накопичувача, імітація мережевих пристроїв та експлойти Wi-Fi/Bluetooth (на базі ESP32 Marauder).

Контроль над запуском корисних навантажень можна здійснювати різними способами: підключенням і виконанням одразу, відкладеним запуском через Wi-Fi, таймером або через спеціально створений користувальницький інтерфейс. Завдяки веб-інтерфейсу Bootstrap, керувати і розгортати атаки легко навіть за допомогою телефону.

Крім того, можна розгортати агента для виконання команд навіть на заблокованих системах. Виведення послідовного інтерфейсу важко виявити, а перегляд екрана жертв здійснюється через спеціальне Wi-Fi-з’єднання пристроїв.

Армійський ніж USB є потужним інструментом для покращення набору інструментів локального доступу.

Вступ

Сьогодні існує проблема з фізичним доступом/USB-атаками. Сама по собі кожна атака не дає достатнього рішення для досягнення більшості цілей.

  • Атаки через USB-клавіатуру (Ducky, HID&Run) вимагають входу в систему, і навіть найкращі інструменти не можуть вирішити цю проблему.

  • Мережеві атаки (отруйний кран тощо) можуть отримати хеш пароля, але часто потрібно щось складне, що висить через порт Ethernet, щоб отримати його назад для офлайн-злому.

  • Коли ви потрапляєте на коробку, які у вас ще є варіанти для викрадання даних, коли все, що відкриває сокет, надсилається до VT.

Потрібна була платформа фізичного доступу, яка дозволила б шахраю отримати найкращі частини кожної атаки та вирішити свої відповідні проблеми за допомогою іншої атаки. В ідеалі ця платформа була б настільки дешевою та прихованою, що її втрата не була б проблемою.

Ось чому було вирішино створити USB Army Knife

  • Хочете стати інтерфейсом 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 (рекомендовано)

LilyGo T-Dongle S3 — це плата розробки на базі ESP32-S3, виконана у форм-факторі USB-флешки. Вона має кольоровий РК-екран, фізичну кнопку, прихований адаптер для карти microSD (вбудований в роз’єм USB-A), а також адаптер SPI. Пристрій оснащений 16 МБ флеш-пам’яті. Завдяки чіпсету ESP32-S3, T-Dongle S3 може працювати як WiFi-станція, а також підтримує низку атак через WiFi і Bluetooth. Вартість плати є надзвичайно доступною. Існує дві версії пристрою: з екраном та без, але тестувалася тільки версія з екраном.

ESP32-S3 1,47 дюйма

Цей пристрій за дизайном, розміром і функціями схожий на LilyGo T-Dongle S3 і використовує той самий чіпсет. Очевидно, що це плата для розробників, оскільки вона не постачається з корпусом і має відкриту схему на нижній стороні. Де цей пристрій перевершує T-Dongle S3, так це те, що він має дуже великий високоякісний екран і 8 МБ додаткової оперативної пам’яті.

Чистий ESP32-S2

Найпростішим пристроєм для запуску коду USB Army Knife є чіп ESP32-S2, який підключається до USB-порту. Подібні пристрої часто можна знайти в корпусах, схожих на T-Dongle S3, і вони зазвичай рекламуються на таких платформах, як AliExpress, під назвою «USB Dongle Udisk для P4» для джейлбрейку Playstation 4. Ці пристрої не мають оперативної пам’яті, екрана, SD-карти, Bluetooth, світлодіодів або якісної апаратної кнопки.

Замість SD-карти для зберігання невеликих файлів використовується вбудована флеш-пам’ять. Незважаючи на мінімальні можливості, вони дуже дешеві і добре підтримують корисні навантаження HID+WiFi (наприклад, Rick Roll). Важливо зазначити, що ці пристрої не можуть запускати веб-сервери через обмежені ресурси.

При покупці потрібно бути уважним, щоб не сплутати їх із пристроями на базі чіпсета CH343P, які зовні дуже схожі, але не мають кнопки скидання. Обов’язково перевірте наявність кнопки, яку можна натиснути, використовуючи скріпку.

Початок роботи

Обладнання:

  • Підтримуваний пристрій, в ідеалі LilyGo T-Dongle S3 з екраном.

  • Для пристрою з картою SD вам знадобиться карта micro SD у форматі FAT32. (Для великих карт це має бути щонайбільше один розділ на 32 ГБ).

Програмне забезпечення:

Підготовка SD-карти

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-карти.

  1. Відредагуйте файли файлової системи флеш-пам’яті, вони зберігаються в каталозі «data».

  2. Розгорніть папку Platform у меню збірки з попереднього кроку.

  3. Натисніть «Завантажити образ файлової системи».

10. Після успішного завершення завантаження вийміть ключ і вставте картку micro SD, якщо вона є.

Оновлення кодової бази до останньої версії

Якщо ви хочете оновити наявну установку, вам потрібно:

  1. Використовуйте git pullдля отримання останніх змін до цього сховища

  2. Запустіть, git submodule update --recursiveщоб переконатися, що всі підмодулі оновлені

  3. Натисніть «Повне очищення» в меню збірки PlatformIO. На цьому етапі весь ваш код і залежності будуть оновлені, і ви можете продовжити кроки збірки вище.

Використання

  1. Підключіть USB-ключ до комп’ютера.

  2. Підключіться до точки доступу WiFi (iPhone14) за допомогою пароля ‘password’

  3. Отримайте доступ до веб-інтерфейсу ( http://4.3.2.1:8080 ), перейшовши за URL-адресою у своєму браузері.

  4. Переконайтеся, що веб-інтерфейс завантажено правильно. Ви повинні побачити поточний статус і час безвідмовної роботи. Якщо ні, оновіть сторінку.

  5. Використовуйте веб-інтерфейс для створення та керування атаками за допомогою DuckyScript.

Пристрої на основі ESP-S2 підтримують Wi-Fi, але не мають веб-інтерфейсу. Атаки управляються через файли DuckyScript.

Режим USB Host / підтримка мобільних пристроїв

Немає причин, чому USB Army Knife не може працювати в режимі USB-хоста. Це той самий режим, у якому працює комп’ютер. Таким чином USB Army Knife може видавати команди, ніби це комп’ютер. Оскільки більшість смартфонів підтримують PTP (протокол передачі зображень), це означає, що теоретично ви можете підключити USB Army Knife (з USB-адаптером) до телефону, щоб він знімав фотографії.

У Espressif є документація щодо режиму USB-хоста , а також приклад коду . У них немає прикладу для протоколу PTP. Ви можете зібрати PCAP свого телефону за допомогою PTP за допомогою USB PCAP, є навіть диссектор WireShark

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.