- Introducción los permisos de Linux
- Problemas con los permisos /etc/passwd (este POST)
- Escalada mediante error en el SUID
En el primer articulo hablamos de un permiso especial, que se salia de la lectura, escritura y ejecución, que era el SUID que nos permitía ejecutar un archivo con los permisos del creador (muchas veces root) por lo que nos ponía en un grave problema de seguridad y es el tema que vamos a tratar en este POST.
Primero daremos un pequeño truco para localizar los ficheros que tienen los permisos SUID, y analizar si deben o no tenerlo y que los otros no ayuden al compromiso.
find / -perm -u=s -type f 2>/dev/null
ALERTA «cp» con permisos de SUID
Si tenemos el comando cp con SUID nos permitirá copiar y sobrescribir (pensar en el peligro) sobre otros ficheros aunque no sean nuestro. Desde el momento que tenemos ese poder nos podemos ir al POST2 y crear un fichero passwd con nuestro usuario trampa que tendrá la clave que decidamos como se vio en el.
ALERTA «find» con permisos de SUID
Y que daño puede realizar el comando find nos podríamos preguntar, pues mucho más que el comando anterior ya que find también permite ejecutar un comando cuando encuentra «find <buscado> -exec «<comando ejecuta> y lo curiosos es que el comando que ejecuta lo ejecutaría con el permiso SUID que seguro es root.
Así que en este caso podríamos realizar muchas cosas:
- Una copia sobre el fichero que deseáramos, modificandolo a nuestro antojo, como comentamos con «cp».
- Y si no solo copiamos sino que cogemos nuestro editor preferido (en mi caso el vi) y modifico el fichero a mi antojo o leo el fichero shadow que se supone no podría leer.
- Y si preparo mi ejecutable, que claro sera un troyano, y le concedo los permiso que yo desee.
- Así todo lo que nuestra imaginación se le ocurra ya que ejecutamos comandos como root.
Un Script con SUID y permiso de escritura para otros o mi grupo
Si tenemos un script que se ejecuta como SUID, en principio sin problema pero si puedo editarlo (problema del POST2) lo modifico a lo que considero y por lo tanto puede realizar otras acciones que no estaban previstas.
ESPERO que os haya servido para controlar los permisos de los ficheros.