Матеус Алвес (Matheus Alves), исследователь безопасности, специализирующийся на вредоносном ПО, опубликовал обновление проекта Singularity, развивающего открытый руткит для ядра Linux, распространяемый под лицензией MIT. Целью проекта является демонстрация методов, позволяющих скрыть своё присутствие после получения root-доступа и сохранить возможность скрытого выполнения привилегированных операций. Предполагается, что Singularity может быть полезен исследователям безопасности для тестирования и разработки утилит обнаружения и блокирования руткитов.
Руткит оформлен в виде модуля для ядер Linux 6.x и использует механизм ftrace для незаметного перехвата системных вызовов без изменения точек входа в системные вызовы и без модификации функций ядра. Singularity поддерживает скрытие своего присутствия в системе, а также скрытие заданных атакующим процессов и связанных с ними файлов и сетевой активности. Для удобства исследователей функциональность руткита разделена на модули.
Помимо типовых методов маскировки присутствия в системе, таких как скрытие необходимых процессов, файлов, каталогов и модулей ядра, в Singularity реализовано несколько продвинутых методов обхода механизмов защиты и затруднения обнаружения специализированными сканерами руткитов, такими как Falco, ghostscan, tracee, unhide, chkrootkit и rkhunter. Среди прочего, Singularity может скрывать свою активность от инструментов, использующих eBPF, удалять блокировки eBPF, препятствовать загрузке модулей ядра, противостоять анализу ввода/вывода через подсистему io_uring, а также обходить проверки целостности, осуществляемые модулем LKRG (Linux Kernel Runtime Guard).
Singularity inkluderer en reverse shell, som giver privilegeret fjernadgang til systemet ved at sende ICMP-pakker, samt handlere, der tillader processkjuling eller privilegieeskalering gennem specifikke manipulationer af signaler og miljøvariabler. For eksempel, for at skjule en proces fra /proc og outputtet fra værktøjer som ps, kan du udføre "kill -59 PID_process", og for at eskalere privilegier, skal du indstille miljøvariablen "MAGIC=mtz".
Руткит скрывает трафик reverse shell от сетевых анализаторов и позволяет обходить обработчики SELinux, срабатывающие на ICMP. Singularity также включает возможности для скрытия определённых сетевых соединений из таблиц /proc/net/nf_conntrack, netlink-обработчиков SOCK_DIAG/NETFILTER и утилит, подобных netstat, ss, lsof, tcpdump и wireshark. Доступны обработчики для чистки сообщений аудита и вывода в логи (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Имеются фильтры для противостояния анализаторам памяти, таким как Volatility, использующим /proc/kcore, /proc/kallsyms и /proc/vmallocinfo, а также возможности фильтрации прямого обращения к блочным устройствам для предотвращения низкоуровневого анализа содержимого ФС.

Kilde: opennet.ru
