Como detectar y prevenir escalada de privilegios en GNU/Linux Publicada por Epsilon en GNU/Linux, Herramientas Seguridad .
Hoy en día es muy común la escalada de privilegios en sistemas GNU/Linux debido a diferentes fallos de seguridad que se descubren en el kernel de linux. Sin embargo existe una herramienta llamada NINJA que nos permite detener y prevenir este tipo de ataques, monitoreando toda la actividad de los procesos locales y además guardando un log con la informacion de todos los procesos ejecutados como root. Adicionalmente Ninja puede matar todo aquel proceso que haya sido creado por usuarios no autorizados.

Ninja actualmente se encuentra en la versión 0.1.3 y se instala desde los repositorios.
apt-get install ninja
La configuración de NINJA consta de el archivo de configuración y un archivo llamado whitelist donde se almacenaran los ejecutables el grupo y los usuarios que podrán correrlos, estos dos se encuentran en la carpeta /etc/ninja. Adicionalmente debemos crear un archivo que guardara el log de nuestra herramienta, para esto hacemos lo siguiente:
touch /var/log/ninja.log
chmod o-rwx /var/log/ninja.log
Ahora creamos un grupo llamado ninja(por favor tomen nota del GID):
addgroup ninja
El siguiente paso consiste en agregar nuestro usuario y el usuario root al grupo que acabamos de crear:
usermod -a -G tusuario
usermod -a -G root
usermod -a -G messagebus
Editamos el archivo de configuración:
gedit /etc/ninja/ninja.conf
Buscamos las siguientes lineas y hacemos los cambios respectivos
group= GID -> aquí debe ir el GID que guardaste cuando creaste el grupo ninja
daemon=yes
interval=0
logfile=/var/log/ninja.log // asegúrese de quitar el # del comentario
whitelist=/etc/ninja/whitelist
no_kill = no
no_kill_ppid = no
El turno es para la lista blanca abrimos el archivo y borramos la linea de SUDO ya que en Debian no se utiliza, quedaría de esta forma:
/bin/su:users:
/bin/fusermount:users:
/usr/bin/passwd:users:
/usr/bin/pulseaudio:users:
/usr/sbin/hald:haldaemon:
/usr/lib/hal/hald-runner:haldaemon:
Por ultimo agregamos ninja al inicio, adicionamos la siguiente linea en el archivo /etc/rc.local:
/usr/sbin/ninja /etc/ninja/ninja.conf
Solo nos queda reiniciar y probar que nuestro ninja este funcionando como debería.
Haciendo una pequeña prueba
Después de reiniciar, y ver que ninja se esta ejecutando haremos una pequeña prueba:

Cuando detecta un proceso prohibido:

Cabe resaltar que es fundamental leer toda la documentación del paquete ya que pueden haber configuraciones diferentes para cada situación y sistema. Recordemos que en el campo de la seguridad, no solo basta con instalar la aplicacion sino que también es importante personalizar la configuración, es decir, evitar las configuraciones por default.
Mas Información:
Pagina Oficial del NINJA







Enero 18th, 2010 at 4:16 PM
[...] This post was mentioned on Twitter by DragoN, DragoN. DragoN said: Detectando y previniendo escaladas de privilegios en GNU Linux http://tinyurl.com/y9eaxwc #FB [...]
Enero 19th, 2010 at 7:19 AM
Muy interesante, gracias por la informacion, asi tendremos un linux mas seguro
Por cierto, lo he instalado en debian lenny y no me ha creado ningun archivo en /etc; para los que os pase sabed que teneis ejemplos de configuracion en:
/usr/share/doc/ninja/examples/
De esta forma hay que crear la carpeta en /etc y colocar los archivos.
Por cierto hay un pequeño error en los comandos para añadir los usuarios al grupo ninja que hemos creado, a mi me ha funcionado asi:
usermod -a -G ninja tusuario
usermod -a -G ninja root
usermod -a -G ninja messagebus
Un saludo
JJ
Enero 19th, 2010 at 11:53 AM
Social comments and analytics for this post…
This post was mentioned on Twitter by DragonJAR: Detectando y previniendo escaladas de privilegios en GNU Linux http://tinyurl.com/y9eaxwc #FB…