Кампания TerminalFix прячет исполняемый код в пикселях PNG-изображений

Кампания TerminalFix прячет исполняемый код в пикселях PNG-изображений

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

Описание

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

Упаковка получилась нестандартной. Чаще всего авторы подобных схем меняют только младшие биты пикселей. Изображение остаётся почти неотличимым от исходного, но объём спрятанного ограничен долями процента от размера файла. Здесь поступили иначе: в пиксели записали все доступные биты. Исходная картинка потеряна полностью. При открытии файл выглядит как цветной шум из случайных полос и пятен. Восстановить первоначальный снимок уже нельзя. Зато под нагрузку отдан весь доступный объём. Первый файл при размере около сотни пикселей по каждой стороне укрывает программу весом почти пятьдесят килобайт.

Вторая и третья картинки делят библиотеку на две части, как подтвердили в Microsoft Security Research, и каждая из них тоже заполняет все биты. Компания передала набор индикаторов, по которым можно искать такие файлы. Проверка первого изображения показала: лишних данных в конце нет, служебные поля не тронуты, структура собрана по правилам формата. Значит, скрытый код лежит именно в пикселях. Для настройки средств защиты это меняет подход. Искать посторонние вставки в заголовке или в конце файла бессмысленно, сигнал придётся искать в самой графике.

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

Дальше цепочка разворачивается так. Пользователь открывает вложение или переходит по ссылке, и на устройство попадает небольшой загрузчик. Он читает картинку, извлекает из неё программу и запускает её. Для запуска применяют подмену библиотеки. Злоумышленники берут подписанный файл Microsoft и заставляют его подгрузить чужой код вместо собственного. Цифровая подпись остаётся действительной, поэтому защитные средства видят доверенную программу и реже вмешиваются.

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

Небольшие организации страдают чаще. Длительные исходящие соединения к незнакомым адресам там почти не отслеживают, а разбираться с последствиями приходится собственными силами. Подобные схемы встречаются в атаках на промышленность, сферу услуг и государственные учреждения, где ценится не разовая кража, а длительное присутствие в сети. О данных об атрибуции авторы разбора не сообщают. Сам набор приёмов - подмена библиотеки, обратный туннель, многоэтапная доставка - указывает на подготовленную группу, а не на одиночку.

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

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

Скрывать код внутри графики и документов стали заметно чаще. Причина проста: исполняемые файлы проверяют строго, а изображения проходят контроль формально. Наборы индикаторов из разбора TerminalFix помогут закрыть конкретную кампанию, однако сам приём останется в арсенале. Новые варианты появятся с частичным заполнением битов, разбивкой нагрузки на большее число файлов и маскировкой под распространённые форматы.

Индикаторы компрометации

Комментарии: 0