В сентябре 2014 года вирусные аналитики компании «Доктор Веб» исследовали сразу несколько новых угроз для операционной системы Apple Mac OS X. Одна из них — это сложный многофункциональный бэкдор, добавленный в вирусные базы под именем Mac.BackDoor.iWorm.
Данная программа позволяет выполнять на инфицированном «маке» широкий набор различных команд, поступивших от злоумышленников. Полученные в результате статистического анализа данные свидетельствуют о наличии более 17 000 уникальных IP-адресов инфицированных троянцем «маков».
При создании данной вредоносной программы злоумышленники использовали языки программирования С++ и Lua, при этом в архитектуре бэкдора широко применяется криптография. В процессе установки троянец распаковывается в папку /Library/Application Support/JavaW, после чего дроппер собирает «на лету» файл plist для обеспечения автоматического запуска этой вредоносной программы.
В момент первого запуска Mac.BackDoor.iWorm сохраняет свои конфигурационные данные в отдельном файле и пытается прочитать содержимое папки /Library, чтобы получить список установленных в системе приложений, с которыми бэкдор не будет в дальнейшем взаимодействовать. Если «нежелательные» директории обнаружить не удается, бот получает с использованием нескольких системных функций наименование домашней папки пользователя Mac OS Х, от имени которого он был запущен, проверяет наличие в ней своего конфигурационного файла и записывает туда данные, необходимые ему для дальнейшей работы. Затем Mac.BackDoor.iWorm открывает на инфицированном компьютере один из портов и ожидает входящего соединения, отправляет запрос на удаленный интернет-ресурс для получения списка адресов управляющих серверов, после чего подключается к удаленным серверам и ожидает поступления команд для последующего выполнения. Примечательно, что за списком адресов управляющих серверов бот обращается к поисковому сервису сайта reddit.com, указывая в качестве запроса шестнадцатеричные значения первых 8 байт хэш-функции MD5 от текущей даты. По результатам поиска reddit.com отдает веб-страницу со списком управляющих серверов ботнета и портов, которые злоумышленники публикуют в виде комментариев к теме minecraftserverlists от имени пользователя vtnhiaovyd.
Троянец пытается установить соединение с командными серверами, перебирая в случайном порядке первые 29 адресов из полученного списка и отправляя запросы на каждый из них. Повторные запросы к сайту reddit для получения нового перечня отправляются раз в 5 минут.
В процессе установки соединения с управляющим сервером, адрес которого выбирается из списка по специальному алгоритму, троянец пытается определить, не добавлен ли этот адрес в список исключений, и обменивается с ним специальным набором данных, по которым с использованием ряда сложных математических преобразований проверяется подлинность удаленного узла. Если проверка прошла успешно, бот отправляет на удаленный сервер номер открытого на инфицированном компьютере порта и свой уникальный идентификатор, ожидая в ответ поступления управляющих команд.
Mac.BackDoor.iWorm способен выполнять два типа команд: различные директивы в зависимости от поступивших бинарных данных или Lua-скрипты. Набор базовых команд бэкдора для Lua-скриптов позволяет выполнять следующие операции:
- получение типа ОС;
- получение версии бота;
- получение UID бота;
- получение значения параметра из конфигурационного файла;
- установка значения параметра в конфигурационном файле;
- очистка конфигурационных данных от всех параметров;
- получение времени работы бота (uptime);
- отправка GET-запроса;
- скачивание файла;
- открытие сокета для входящего соединения с последующим выполнением приходящих команд;
- выполнение системной команды;
- выполнение паузы (sleep);
- добавление нода по IP в список «забаненных» узлов;
- очистка списка «забаненных» нодов;
- получение списка нодов;
- получение IP-адреса нода;
- получение типа нода;
- получение порта нода;
- выполнение вложенного Lua-скрипта.
Собранная специалистами компании «Доктор Веб» статистика показывает, что в бот-сети, созданной злоумышленниками с использованием Mac.BackDoor.iWorm, на 26 сентября 2014 года насчитывалось 17 658 IP-адресов зараженных устройств. Наибольшее их количество — 4610 (что составляет 26.1% от общего числа) приходится на долю США, на втором месте — Канада с показателем 1235 адресов (7 %), третье место занимает Великобритания: здесь выявлено 1227 IP-адресов инфицированных компьютеров, что составляет 6.9% от их общего числа.