Проведенный в Intezer анализ показал, что новый Linux-бэкдор использует не встречавшийся ранее способ перехвата функций для внедрения в легитимные процессы. Подмену подключаемой библиотеки при этом почти невозможно обнаружить.
Зловред с кодовым именем OrBit устанавливается в систему как временный либо постоянный имплант. Стойкость ему придает возможность перехвата ключевых функций; основными задачами новобранца являются кража учетных данных, регистрация tty-команд и обеспечение удаленного доступа к зараженной машине по SSH.
Атака начинается с ELF-файла — дроппера с полезной нагрузкой (libdl.so), которая извлекается и добавляется к библиотекам общего пользования, загружаемым линкером. (Уровень детектирования на VirusTotal в обоих случаях 11/60, по состоянию на 7 июля.)
Вредонос умеет перехватывать функции трех библиотек — libc, libcap и PAM (подключаемый модуль аутентификации). Загрузка вредоносного разделяемого объекта в память при этом может осуществляться двумя способами: через добавление его в конфигурационный файл, используемый загрузчиком, или патчинг самого бинарника.
Для кражи данных вредонос ставит хуки на функции чтения/записи и регистрирует все, что записывается в рамках запущенных процессов, в том числе команды bash и sh. Результаты сохраняются во временных файлах, которые OrBit создает в зараженной системе, притом в гораздо большем количестве, чем аналогичные зловреды.
Перехват функций — хорошо известный прием бесфайловых вредоносных программ, но для подмены разделяемого объекта в памяти они обычно модифицируют переменную окружения LD_PRELOAD. Такую технику используют, например, Linux-бэкдоры HiddenWasp, BPFDoor, Symbiote. Новобранца OrBit отличает от них новаторский способ хукинга — по словам Intezer, почти «непроницаемый» (hermetic), который позволяет зловреду закрепиться в системе и уклоняться от обнаружения, параллельно воруя информацию и открывая SSH-дверь.