Новый rootkit для Linux подставляет вредоносный код в HTTP-трафик

Новый rootkit для Linux подставляет вредоносный код в HTTP-трафик

На ряде web-серверов обнаружен новый руткит, используемый для скрытной подстановки вредоносных вставок в отдаваемый сервером HTTP-контент. Руткит поражает 64-разрядные Linux-серверы, работающие под управлением Debian Squeeze с ядром 2.6.32-5-amd64.

После активации в ядро системы загружается специальный модуль, скрывающий следы присутствия руткита и осуществляющий подстановку в генерируемый локальным web-сервером HTTP-трафик iframe-блоков с кодом для эксплуатации уязвимостей в клиентских браузерах и установленных в них плагинах.

В отличие от обычно применяемой техники внедрения вредоносного кода в хранимые на сервере html-страницы, руткит позволяет оставить файлы в неизменном виде, осуществляя подстановку на стадии отдачи контента http-сервером. Так как компоненты руткита маскируются и скрываются от средств мониторинга, на первый взгляд вредоносная активность отсутствует. Первая информация о новом рутките была опубликована несколько дней назад в списке рассылки Full Disclosure. Администратор одной из поражённых систем привёл первичный разбор странной активности на своём сервере, из-за которой во вне данные уходили с подстановкой вредоносного iframe, но локально следов подстановки вредоносного кода не наблюдалось, в том числе используемый для отдачи контента nginx при проверке через strace отдавал в сетевой сокет корректные данные, пишет opennet.ru.

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

После загрузки руткита он осуществляет перехват управления некоторых функций ядра Linux (vfs_readdir, vfs_read, filldir64 и filldir), скрывая необходимые для работы руткита файлы на диске. Для скрытия загрузки модуля ядра осуществляется модификация списка активных модулей в соответствующей структуре данных ядра Linux. Перехват управления производится путем перезаписи нескольких байт непосредственно в начале кода перехватываемой функций (добавляется команда jmp rel32 и копируется рассчитанное в стеке смещение). Запуск руткита производится через загрузку модуля ядра Linux. Но так как команда "insmod /lib/modules/2.6.32-5-amd64/kernel/sound/module_init.ko" добавляется в конец файла /etc/rc.local, а в Debian файл /etc/rc.local завершается вызовом exit 0, команда загрузки модуля размещается после вызова exit, т.е. после перезагрузки руткит не активируется.

Подстановка вредоносного кода в трафик осуществляется путем перехвата функции tcp_sendmsg, используемой для построения исходящих TCP-пакетов. Обработчик руткита анализирует передаваемый контент и добавляет после строки с тегом body блок iframe. Для управления руткитом предусмотрен специальный интерфейс, получающий команды от удалённого управляющего сервера. В частности, после обращения руткита к управляющему серверу, тот возвращает блок данных, который следует внедрить в трафик, а также параметры подстановки. Например, поддерживается установка правил для какого именно хоста осуществить подстановку, определяется тип внедрения (JavaScript/iframe).

В Android-версии МАКС нашли трекеры и отправку файлов на apptracer.ru

Исследователь, проанализировавший APK-файл российского мессенджера МАКС через декомпилятор JADX, заявил об обнаружении в коде целого набора механизмов для сбора телеметрии, аудита разрешений устройства и загрузки файлов на внешние серверы.

Среди самых обсуждаемых находок — интеграция SDK MyTracker. По словам автора исследования, в коде присутствуют функции, связанные с анализом установленных приложений на устройстве, настройками геолокации и антифрод-модулями.

Также упоминаются механизмы рефлексивной загрузки компонентов, которые теоретически позволяют активировать отдельные функции через серверную конфигурацию.

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

Ещё одна находка связана с компонентом SampleUploadWorker. В коде обнаружены обращения к домену sdk-api.apptracer.ru и механизмы двухэтапной загрузки файлов через API initUpload и upload. Исследователь утверждает, что система поддерживает передачу файлов вместе с дополнительными метаданными, которые могут задаваться сервером.

Кроме того, в APK нашли модуль DpsInitProvider, который запускается ещё до старта основного приложения через механизм ContentProvider. Автор исследования считает, что такое решение усложняет статический анализ и позволяет инициализировать дополнительные сервисы на раннем этапе запуска.

Также в отчёте упоминаются компоненты для фоновой загрузки вложений, обработки событий чатов и сообщений через EventBus, а также различные подсистемы логирования и аналитики.

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

Разработчики МАКС на момент публикации не комментировали выводы исследования.

RSS: Новости на портале Anti-Malware.ru