Para el ejemplo de hoy primero haremos un pequeño programa en C que ejecuta comandos de la terminal (el ejecutable lo generara nuestro usuario root). Luego le daremos el permiso de SUID y veremos como varia al activar el bit.
Aplicación:
Bueno para generar nuestro programa en C es solo esta pequeña porción de código que pueden verlo aqui.
Luego compilamos y ejecutamos el programa:
- $ gcc filesuid.c -o filesuid
- $ ./filesuid
Lo cual luego solo debes ingresar el comando que realizamos ejecutar y listo. En este caso ejecutaremos primero el comando ls -l para ver la informacion de los archivos y luego el comando whoami que lo que hace es mostrar el nombre del usuario en el que estamos.
- my_shell > ls -l
- my_shell > whoami
Como resultado nos muestra los permisos que tiene el archivo "filesuid" que es nuestro ejecutable y aqui debemos ver el simbolo X resaltado, que hace referencia a que el archivo puede ser ejecutado por el usuario, ademas seguido del siguiente comando nos indica que somos el usuario root, pues en realidad es así.
Continuando con el ejemplo ahora desde otra terminal veamos lo mismo pero con otro usuario, en este caso mi usuario se llama paolo, ejecutamos:
Continuando con el ejemplo ahora desde otra terminal veamos lo mismo pero con otro usuario, en este caso mi usuario se llama paolo, ejecutamos:
- $ ls -l
- $ ./filesuid
- my_shell > whoami
En este caso al ejecutar whoami nos indica que somos el usuario paolo. Para salir del programa escriban salir.
Ahora asignemos el bit SUID a nuestro ejecutable, desde la terminal del usuario root, ejecutamos los siguientes comandos:
- $ chmod 4755 filesuid
4: activa el bit suid; 7: activa los bits rwx para el usuario; 5: activa los bits r-x para el grupo; 5 activa los bits r-x para los demas miembros; - $ ls -l
vemos los permisos del ejecutable y notaremos que en vez de un x, aparece una s ( esto indica que el bit suid esta activo)
El bit suid es el que esta resaltado, donde la s minúscula indica que esta activo. |
Por ultimo en nuestra terminal de otro usuario (no root) ejecutamos nuestro archivo que ya esta activado el bit suid:
- $ ls -l
- $ ./filesuid
- my_shell > whoami
En el cual nos muestra que somos root cuando estamos como usuario paolo. Pues una vez aqui y con los permisos de root existen las vulnerabilidades por tener archivos -como en el ejemplo- con el bit SUID activo.
No hay comentarios.:
Publicar un comentario