Linux-системы под угрозой: руткит Singularity научился скрывать следы в журналах ядра

Singularity rootkit

В мире информационной безопасности Linux появился новый опасный противник. Эксперты обнаружили развитие руткита Singularity, который теперь способен эффективно избегать обнаружения через стандартные интерфейсы журналирования ядра, такие как klogctl. Этот инструмент, позиционируемый разработчиком как "финальный босс" для защитников, представляет собой модуль ядра Linux (LKM), нацеленный на современные версии ядра 6.x и использующий продвинутые методы маскировки.

Основной новостью стало добавление функции фильтрации логов. Singularity в реальном времени очищает ключевые источники системной информации от любых упоминаний, связанных с его деятельностью. Модуль перехватывает данные из /proc/kmsg, /var/log/kern.log, syslog, auth.log и даже отладочных путей ядра, таких как /sys/kernel/debug/tracing/*. Любые строки, содержащие идентификаторы вроде "singularity", "matheuz" или "kallsyms_lookup_name", удаляются до того, как попадут в пользовательское пространство. Следовательно, стандартные инструменты анализа, включая dmesg и journalctl, становятся бесполезными для выявления вредоносной активности.

Однако сокрытие логов - лишь одна грань возможностей этого руткита. После загрузки модуль делает себя невидимым для системы и предотвращает свою выгрузку без перезагрузки. Он полностью скрывает связанные процессы от утилит вроде ps, top и htop, маскирует файлы и сетевые соединения, а также перехватывает трафик на выбранном порту. Для удалённого доступа реализована обратная оболочка, активируемая по ICMP-пакетам, что обеспечивает скрытый сеанс с правами root.

Обратная оболочка ICMP.

Особую опасность представляют механизмы противодействия системам мониторинга. Singularity агрессивно блокирует системные вызовы, связанные с eBPF, что мешает загрузке трассирующих и отладочных программ. Кроме того, он защищает механизм ftrace, препятствуя его отключению. Таким образом, руткит целенаправленно нейтрализует современные платформы безопасности, включая Tracee, bpftrace и некоторые коммерческие EDR-решения.

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

Практические тесты демонстрируют эффективность Singularity против широкого спектра инструментов. Руткит успешно обходит традиционные средства вроде chkrootkit и rkhunter, а также более современные системы на основе eBPF. В одном из опубликованных примеров он использовался для обхода возможностей EDR от Elastic за счёт комбинации сокрытия процессов, очистки логов и блокировки телеметрии.

Скрыть файлы и каталоги.

Автор проекта открыто заявляет, что его цель - "дать работу форензикам", то есть усложнить задачи цифровой криминалистики и охоты за угрозами в Linux-среде. При этом он признаёт, что руткит не является абсолютно необнаружимым. Настойчивый аналитик, использующий низкоуровневые методы, может найти следы его присутствия. Тем не менее, комплексный подход к stealth-технологиям значительно повышает порог входа для защитников.

Появление и развитие таких инструментов, как Singularity, служит серьёзным напоминанием для индустрии. Угрозы уровня ядра Linux стремительно эволюционируют. Как следствие, традиционная зависимость от журналов пользовательского пространства, стандартных утилит администратора и незащищённых механизмов наблюдения на основе eBPF и ftrace больше не обеспечивает достаточной безопасности. Защита критически важных Linux-систем требует многослойного подхода, глубокого мониторинга ядра и постоянного анализа актуальных тактик злоумышленников.

Комментарии: 0