¿Estás preguntando cómo un programa en modo usuario puede escribir archivos? El modo de usuario (anillo 3) no significa sin privilegios, aunque el modo de núcleo (anillo 0, lo opuesto al modo de usuario) implica privilegios. Cada vez que sudo
a comando, está ejecutando el código de anillo 3 que puede modificar archivos arbitrarios. Los programas del usuario "root" se ejecutan en el anillo 3 de la misma manera que los de cualquier otra persona.
Un rootkit como este obviamente requiere privilegios (es decir, root) para poder instalar. Hace cosas como crear un usuario, lo que se puede hacer con el código del espacio de usuario (hay algunas llamadas al kernel, pero no es necesario instalar un módulo del kernel para hacerlo) pero un usuario sin privilegios no puede hacerlo. p>
Como nota al margen, los rootkits de modo de usuario son más débiles que los de modo de núcleo. Como cuestión práctica, el código de terceros esencialmente nunca hará una llamada al sistema directamente , porque las llamadas al sistema no son como las funciones "normales" y los detalles son específicos de la plataforma y la implementación, y pueden cambiar entre Revisiones importantes del kernel. Hacer llamadas directas directamente desde su código probablemente lo hará no portátil, y es fácil de arruinar. Sin embargo, es posible , y si lo haces, pasarás por alto el shim que el rootkit en modo de usuario ha configurado para manipular tus llamadas de sistema.