Bueno, como algunos saben llevo algún tiempo programando un rootkit para Linux (el kernel) al que he llamado yarr, siglas de Yet Another Repetitive Rootkit, pero que creo que voy a cambiar por Yet Another Random Rootkit. Pero bueno, eso no viene al caso, lo que quería comentar es que ya casi tengo una primera aproximación de rootkit medianamente útil :). Por ahora oculta procesos y ficheros, lo típico. Aún me queda pulirlo un poco, resolver algunos problemillas, volver a pulirlo, organizarlo todo un poco, pulir guanmortaim y, por qué no, sacar la primera versión.
Pero voy a mostrar un poco de su efectividad. La siguiente prueba se ha hecho con un sistema Ubuntu 12.04 con un kernel 3.2.0-29-generic-pae y la última versión de unhide a día de hoy.
Lo primero lo cargamos como cualquier módulo.
Con un pequeño programita que cree para la prueba creamos un proceso que se intenta ocultar a sí mismo.
Aunque aquí no voy a poner nada del código (ni de yarr ni del programa éste), todo está publicado y lo puedes consultar, mirar, entender, copiar, modificar, mejorar... y aportar :P.
Como vemos se ha creado el proceso con PID 3033. Ahora lanzamos unhide de distintas formas.
Y bueno, vemos que ninguna de las técnicas detecta el proceso 3033 :D.
El proyecto lo tengo en mi github, así que lo puedes coger y estudiarlo/mejorarlo. Cualquier ayuda, tanto ideas, correcciones o lo que sea es bien recibido.
Saludos.