Вредоносная программа Tengu для Linux маскируется под системный процесс и закрепляется пятью способами автозапуска

Вредоносная программа Tengu для Linux маскируется под системный процесс и закрепляется пятью способами автозапуска

Для серверов под управлением Linux, встраиваемых систем и устройств интернета вещей выявлена вредоносная программа Tengu. Это один компактный файл размером около 190 килобайт. Он не требует внешних библиотек и запускается на большинстве современных сборок Linux. Главное назначение Tengu - участие в распределённых атаках на отказ в обслуживании. Кроме того, программа служит точкой удалённого управления для злоумышленника.

Описание

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

Закрепление в системе продумано с запасом. Как показало исследование, программа прописывает себя сразу через несколько независимых механизмов автозапуска. Сначала она создаёт службу для менеджера системных служб systemd и описывает её как вспомогательную системную службу. Затем добавляет сценарии запуска для классической схемы инициализации и для встраиваемых прошивок OpenWrt. Дополнительно она ставит задачу в планировщик, срабатывающую при каждой перезагрузке. Наконец, она правит системный сценарий последних шагов загрузки и вставляет свою команду перед его завершением. Если уцелеет хотя бы один механизм, программа снова запустится после включения питания.

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

Боевая часть включает несколько режимов. Первый формирует сетевые пакеты напрямую, что позволяет подделывать адрес отправителя. Второй работает через обычные каналы передачи данных там, где прямой доступ недоступен. Третий перебирает чужие машины по протоколу удалённого доступа SSH (защищённый канал управления). Программа устанавливает соединение и пытается согласовать параметры защищённого канала. Подбора паролей в этом модуле анализ не выявил. Тем не менее массовые попытки соединения сами по себе создают нагрузку на чужие серверы и помогают искать новые жертвы. Модуль рассчитан на массовое сканирование диапазонов адресов и не требует участия человека.

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

Отдельный модуль собирает сведения о самом узле. Он читает данные о сетевых маршрутах, настройках разрешения имён, процессоре, объёме памяти и времени работы. Эти сведения помогают оператору выбирать цели и распределять задачи. Собранные данные отправляются оператору вместе с отчётом о состоянии машины. В коде также найдена таблица имён и путей, связанных с другими семействами вредоносных программ для Linux. В неё входят упоминания Mirai и родственных ботнетов.

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

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

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

YARA

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