Компания CrowdStrike опубликовала результаты анализа атак на Solaris и Linux с целью внедрения импланта BPFDoor. Как оказалось, в первом случае злоумышленники пытаются закрепиться в системе через эксплойт уязвимости, опубликованной в 2019 году.
Кастомный бэкдор BPFDoor отличает умение мастерски избегать обнаружения: его с 2018 года используют в целевых атаках, а заметили только в прошлом году. Кибергруппа, владеющая этим зловредом (известна как Red Menshen, в CrowdStrike ее нарекли DecisiveArchitect), предположительно имеет китайские корни и выбирает мишенями телеком-провайдеров, правительственные ведомства, учебные заведения и логистические компании.
Командный трафик BPFDoor (JustForFun в версии CrowdStrike) тщательно скрывается: управление осуществляется с использованием VPS-серверов и прокси на взломанных роутерах Тайваня. При такой схеме вредонос может получать команды с любого IP-адреса, к тому же ему не нужно с этой целью открывать какие-либо порты — только сырой сокет.
Новое исследование показало, что после получения доступа к Solaris злоумышленники пытаются применить эксплойт CVE-2019-3010 — PoC-код, опубликованный три года назад. Соответствующая уязвимость привязана к компоненту XScreenSaver и позволяет рядовому юзеру повысить привилегии до root; патч вышел в октябре 2019 года.
Необходимые для эксплойта бинарники обычно загружаются через пару минут после развертывания бэкдора. Последний при исполнении перезаписывает командную строку в рабочей среде своего процесса, выбирая невинную альтернативу из десяти возможных, вшитых в код. Этот прием призван скрыть взаимодействие BPFDoor с оператором; так, при проверке состояния процессов (команда –ps) создание интерактивного шелла будет выглядеть, например, как запуск менеджера очередей Postfix.
В случае с Linux такой спуфинг спокойно проходит; в Solaris нужный механизм отсутствует, поэтому для достижения искомого эффекта DecisiveArchitect использует переменную окружения LD_PRELOAD. По данным CrowdStrike, в апреле этого года хакеры обновили свои техники и тактики и стали таким же образом прятать своего зловреда на Linux-машинах (при загрузке импланта в легитимный процесс /sbin/agetty).
Обнаружить BPFDoor в Linux нелегко: для обеспечения постоянного доступа к системе авторы атаки модифицируют доступные скрипты SysVinit — внедряют ссылку на небольшой файл сценария, который, в свою очередь, указывает на имплант. Более того, они используют разные имена файлов и пути поиска для BPFDoor и связанных с ним скриптов.
В результате простой просмотр кодов SysVinit вряд ли поможет найти бэкдор, его можно выявить, только отыскав все умышленно созданные привязки — а они в зараженных системах неодинаковы. Эксперты советуют с этой целью использовать EDR со средствами машинного обучения и функциями мониторинга админ-утилит и процессов Linux.
В отсутствие такого решения можно с помощью команды lsof поискать процессы с отрытым сырым сокетом. В стандартных установках Solaris эта утилита отсутствует, поэтому придется использовать другие команды, позволяющие получить дополнительную информацию о запущенных процессах (см. блог-запись CrowdStrike).
Исследователи также обнаружили в атаках DecisiveArchitect два скрипта, заточенных под Windows. Их назначение пока неизвестно, хотя хакеры взаимодействуют с Windows-машинами — на начальных этапах атаки. Кастомных имплантов при этом не выявлено.