02.02.2023

Simbiote — вредоносное ПО для Linux, использующее eBPF и LD_PRELOAD для скрытия

Исследователи из компаний Intezer и BlackBerry обнаружили вредоносное ПО, получившее кодовое имя Simbiote и используемое для внедрения бэкдоров и rootkit-ов на скомпрометированные серверы, работающих под управлением Linux. Вредоносное ПО было выявлено на системах финансовых учреждений ряда стран Латинской Америки. Для установки Simbiote в систему атакующий должен иметь root-доступ, который может быть получен, например, в результате эксплуатации неисправленных уязвимостей или утечки учётных записей. Simbiote позволяет закрепить своё присутствие в системе после взлома для проведения дальнейших атак, скрытия активности других вредоносных приложений и организации перехвата конфиденциальных данных.

Особенностью Simbiote является распространение в форме разделяемой библиотеки, которая подгружается во время запуска всех процессов при помощи механизма LD_PRELOAD и подменяет некоторые вызовы стандартной библиотеки. Обработчики подменённых вызовов скрывают связанную с бэкдором активность, например, исключают отдельные элементы в списке процессов, блокируют доступ к определённым файлам в /proc, скрывают файлы в каталогах, исключают вредоносную разделяемую библиотеку в выводе ldd (выполняется перехват функции execve и анализ вызовов с переменной окружения LD_TRACE_LOADED_OBJECTS), не показывают связанные с вредоносной активностью сетевые сокеты.

Для защиты от инспектирования трафика осуществляется переопределение функций библиотеки libpcap, фильтрация чтения /proc/net/tcp и загрузка в ядро eBPF-программы, которая препятствует работе анализаторов трафика и отбрасывает сторонние запросы к собственным сетевым обработчикам. eBPF-программа запускается в числе первых обработчиков и выполняется на самом низком уровне сетевого стека, что позволяет скрыть сетевую активность бэкдора в том числе от анализаторов, запущенных позднее.

Simbiote также позволяет обойти некоторые анализаторы активности в файловой системе, так как кража конфиденциальных данных может осуществляться не на уровне открытия файлов, а через перехват операций чтения из этих файлов в легитимных приложениях (например, подмена библиотечных функций позволяет перехватить ввод пользователем пароля или загружаемые из файла данные с ключом доступа). Для организации удалённого входа Simbiote перехватывает некоторые PAM-вызовы (Pluggable Authentication Module), что позволяет подключиться к системе через SSH с определёнными атакующими учётными данными. Предусмотрена также скрытая возможность повышения своих привилегий до пользователя root через установку переменной окружения HTTP_SETTHIS.


Источник.