До поры до времени система OS X не представляла интереса для троянописателей, и вредоносы под нее проходили под термином lamware (ламерское malware). Но, как бы ни хотелось маководам этого избежать, в прошлом году беда пришла и в их гламурненькие домики. 2012 год открыл сезон: FlashFake (aka FlashBack), Imuler, SabPab и Crisis - что объединяет эти страшные слова? Да то, что все эти вредоносные программы разработаны для атаки компьютеров с эмблемой надкусанного яблока. Об этих вредоносах и пойдет речь.
Первая эпидемия
ФЕЙКОВЫЙ ФЛЕШ
Небезызвестная компания «Лаборатория Касперского» в марте 2012-го обнаружила ботнет на базе ни много ни мало около 600 тысяч компьютеров с OS X. Среди общего количества больше половины из них находились на территории США. Четверка лидеров:
США - 303 449;
Канада - 106 379;
Великобритания - 68 577;
Австралия - 32 527.
Все они были заражены трояном, который получил название FlashFake. Такое имя было выбрано потому, что он маскировался под установщик Adobe Flash Player. Первые версии FlashFake были обнаружены в сентябре 2011-го.
FlashFake использовал для связи со своими командными серверами механизм DGA (Domain Generation Algorithm - алгоритм генерации доменных имен), генерировавший случайные доменные имена в зависимости от текущей даты, по пять штук в день. Этим не преминули воспользоваться сотрудники антивирусных компаний для развертывания sinkhole-маршрутизаторов, чтобы оценить примерное количество заражений. Жаль, что компания Dr.Web не сообщила об этом компании Apple - последняя подала запрос на отзыв одного из доменных имен, используемого Dr.Web для работы своего sinkhote-маршрутизатора... Помимо DGA, в коде FlashFake имелось 25 жестко заданных С&С.
Основная «заслуга» FlashFake состоит в том, что теперь для заражения малварью не требовалось каких-либо действий со стороны пользователя Мае - кроме, разумеется, посещения странички с вредоносными редиректами. До него трояны для OS X маскировались под установочные файлы, и для их успешной работы пользователь должен был ввести пароль администратора, что существенно снижало риск заражения. Поначалу и FlashFake использовал похожую методику, заражение происходило достаточно примитивным и старым как мир способом: при посещении пользователем вредоносного сайта выдавалось сообщение, что для корректного отображения страницы нужно установить последнюю версию Flash Player. Если пользователь решал, что ему это жизненно необходимо, и соглашался, устанавливался поддельный инсталлятор с расширением dpg или mpkg. К слову сказать, инсталлятор выглядел достаточно презентабельно и правдоподобно. В каталог /Library/Preferences помещался файл Preferences.dylib, который и осуществлял всю вредоносную деятельность. В качестве идентификатора зараженной системы использовался MD5-xeuj от UUID компьютера (Universally Unique Identifier - уникальный 16-байтный номер, генерируемый ОС). Чтобы затруднить жизнь сотрудников антивирусных компаний, вся коммуникационная деятельность между ботом FlashFake и командным сервером шифровалась по алгоритму RC4. Для защиты от подмены управляющий сервер должен был вернуть «правильный» отзыв, представляющий собой свой собственный адрес, подписанный RSA-2048 ключом злоумышленников с дайджестом MD5 и преобразованный в base64.
Понимая, что true malware должно запускаться автоматически, а не ждать, пока пользователь соблаговолит нажать кнопку «Установить», разработчики FlashFake с февраля 2012 года в, так сказать, второй версии начали использовать для распространения своего творения уязвимости виртуальной машины Java CVE-2011-354Л и CVE-2008-5353. Для их эксплуатации применялись вредоносные файлы rhlib.jar и clclib.jar соответственно. Кроме того, применялся еще файл ssign.jar, который не содержал в себе никаких эксплойтов, а просто был подписан недействительной подписью в надежде, что пользователь добавит эту подпись в список доверенных и тем самым разрешит выполнение кода.