Представлен открытый руткит Singularity для ядра Linux
Специалист по ИБ Матеус Алвес (Matheus Alves) представил проект Singularity. Это руткит с открытым исходным кодом на C для ядра Linux, распространяемый под лицензией MIT.
Целью этого проекта является демонстрация методов, позволяющих скрыть своё присутствие в Linux после получения root‑доступа, а также сохранить возможность скрытого выполнения привилегированных операций в системе.
По заверению автора, решение Singularity может быть полезно исследователям безопасности для тестирования и разработки утилит обнаружения и блокирования руткитов в Linux.
Руткит Singularity собран в виде модуля для ядер Linux 6.x и использует механизм ftrace для незаметного перехвата системных вызовов без изменения точек входа в системные вызовы и без модификации функций ядра Linux.
Проект Singularity поддерживает скрытие своего присутствия в системе, а также скрытие заданных атакующим процессов и связанных с ними файлов и сетевой активности. Для удобства исследователей функциональность руткита разделена на модули.
Помимо типовых методов маскировки присутствия в системе, таких как скрытие необходимых процессов, файлов, каталогов и модулей ядра, в Singularity реализовано несколько продвинутых методов обхода механизмов защиты и затруднения обнаружения специализированными сканерами руткитов. Это, например, Falco, ghostscan, tracee, unhide, chkrootkit и rkhunter.
Также проект Singularity может скрывать свою активность от инструментов, использующих eBPF, удалять блокировки eBPF, препятствовать загрузке модулей ядра, противостоять анализу ввода/вывода через подсистему io_uring, а также обходить проверки целостности, осуществляемые модулем LKRG (Linux Kernel Runtime Guard).
В Singularity присутствует reverse shell, предоставляющий привилегированный
Читать на habr.com