Новый 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).

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

Волокна Windows позволяют выполнить вредоносный шеллкод незаметно для EDR

На проходящей в Сингапуре конференции Black Hat Asia были представлены два новых способа использования волокон Windows (fibers) для выполнения вредоносного кода. Один из них, Poison Fiber, допускает проведение атаки удаленно.

Автором обоих PoC является независимый ИБ-исследователь Даниел Джэри (Daniel Jary). По его словам, атаки Poison Fiber и Phantom Thread представляют собой улучшенные варианты opensource-разработок: они позволяют надежнее скрыть сторонний шеллкод или другую полезную нагрузку в системе, находящейся под защитой EDR.

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

Концепция волокон обеспечила более мелкое дробление, уже внутри потоков. При этом они существуют только в режиме пользователя, а планирование осуществляет поток, в контексте которого они выполняются.

Для ядра ОС волокна невидимы (к планировщику заданий обращаются потоки, они и считаются исполнителями всех операций), из памяти их извлечь трудно. Подобные свойства очень привлекательны для злоумышленников: они позволяют внедрить в систему вредоносный код в обход антивирусной защиты.

Волокна и по сей день используются некоторыми процессами Windows, а также облегчают перенос приложений с других платформ. Возможность злоупотреблений проверялась неоднократно; так, в 2022 году были опубликованы PoC-методы сокрытия в волокне шеллкода и маскировки стека вызовов с помощью спящего волокна (добавлен в набор Cobalt Strike).

Разработка Phantom Thread использует второй подход, но при этом возможность обнаружить зловреда сканированием памяти полностью исключена. С этой целью создается волокно, а затем патчится таким образом, чтобы выдать его за поток.

Второй PoC, созданный Джэри (Poison Fiber), перечисляет запущенные процессы Windows и фиксирует потоки, использующие волокна, а затем предоставляет возможность внедрить пейлоад или шеллкод в спящее волокно — такие всегда найдутся на стеке. Вредоносная инъекция защиту не насторожит, как случае с остановом потока, а исполнение запустит легальная программа.

«Атаки через волокна — это не повышение привилегий, не обход UAC, но доставка полезной нагрузки при этом привлекает намного меньше внимания, — пояснил исследователь для Dark Reading. — Их легко реализовать и труднее детектировать, поэтому волокна — прекрасный вариант для любого скрипт-кидди».

Публиковать другие подробности и PoC-коды Джэри пока не собирается, но советует ИБ-службам включить Windows Fibers в список потенциальных векторов атаки, а EDR-защиту постоянно проверять на готовность к новым угрозам.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

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