Es curioso como a veces resulta difícil obtener códigos de ejemplo con los que trabajar en ciertos proyectos. En esta ocasión, me surgió la necesidad de ocultar un proceso en Linux y no me quedó más remedio que estudiar el código fuente de algún rootkit. A lo largo de mi búsqueda de rootkits de código abierto, me encontré con Diamorphine, un rootkit LKM diseñado para sistemas Linux.
Un rootkit es una herramienta que permite a un hacker mantener el acceso no autorizado a un sistema o servidor remoto. Los rootkit por lo general tienen la "habilidad" ser invisibles para que el administrador no se percate de su existencia.
Si buscas un rootkit LKM de código abierto, Diamorphine es una buena opción.
Diamorphine está programado en C, ya que consiste en un rootkit LKM (Loadable Kernel Module), es decir, que se carga como un módulo del kernel Linux. Su único requisito es que para funcionar necesita que el kernel pertenezca a una de las ramas 2.6.x/3.x/4.x.
Dentro de las opciones que nos ofrece Diamorphine nos encontramos las siguientes funcionalidades:
- Ocultar procesos.
- Ocultar el módulo del kernel del rootkit.
- Asignar permisos de root a un usuario.
- Ocultar ficheros y carpetas que comienzan por el prefijo “mágico”.
Página del proyecto: https://github.com/m0nad/Diamorphine