Я нашел этот небольшой исходный код руткита, реализованный как модуль ядра Linux.
https://github.com/mfontanini/Programs-Scripts/tree/master/rootkit
По сути, как вы можете видеть, он изменяет file_operations
структуру из инода файла и перезаписывает readdir
функцию, чтобы скрыть себя от ls
и lsmod
.
В таком случае, как можно будет обнаружить этот руткит?
решение1
Посмотреть proc/kallsyms. Он содержит большую часть символов ядра и обновляется динамически по мере добавления LKM.