Luzablue

Tecnología y más

Cómo Setuid permite a los usuarios ejecutar archivos con privilegios elevados
Linux

Cómo Setuid permite a los usuarios ejecutar archivos con privilegios elevados

Cuando ejecuta un archivo ejecutable en Linux, normalmente se ejecuta con el usuario actual y el ID de grupo. Sin embargo, hay ocasiones en las que necesita ejecutar este archivo como otro usuario (como root). En lugar de cambiar su cuenta de usuario, puede usar setuid para ejecutar el ejecutable como propietario del archivo, no como usuario actual. Aquí explicaremos cómo funciona setuid y cómo permite a los usuarios ejecutar ejecutables / binarios con mayores privilegios.

¿Cómo actúa setuid?

Setuid significa ESTABLECER ID de usuario en tiempo de ejecución. Supongamos que tenemos un ejecutable llamado «identidad» creado por el usuario root. Cuando lo ejecute, se ejecutará con su ID de usuario, ID de grupo y privilegios de usuario. Si el bit setuid se establece en el archivo de «identidad», cuando lo ejecute, se ejecutará como el usuario root y sus derechos de usuario.

Como ilustración, primero podemos verificar la propiedad del archivo de «identidad» y ver si es propiedad del usuario root. La cadena de autorización también muestra los bits ejecutables (x) establecidos para usuario, grupo y otros.

El usuario «john1» ejecuta el archivo «identidad», que se convierte en un proceso en tiempo de ejecución. Como se muestra en la lista de procesos, el proceso se crea y se ejecuta con el nombre de usuario y la ID de usuario «john1».

Propietario de Setuid John Id

Luego, como usuario root, establecemos el bit setuid del archivo de «identidad»:

«U» indica que el bit setuid (+ s) debe establecerse solo para el usuario.

Conjunto de identidad Setuid

Para el propietario, en la parte ejecutable de la cadena de autorización, podemos ver que «x» ha sido reemplazada por «s». Siempre que encuentre «s» para un ejecutable, significa que el bit setuid se ha establecido en él.

Variante numérica de chmod el comando también se puede utilizar como se muestra a continuación.

Agregar 4 a la cadena de autorización digital indica la inclusión del bit setuid.

Esto es lo que sucede cuando «john1» vuelve a ejecutar el archivo de «identidad». Mirando la lista de procesos en ejecución, ahora podemos ver que el proceso es creado y ejecutado por el usuario «root» en lugar de «john1».

Propietario de Setuid John Ids

Uso extensivo del bit setuid

La mayoría de las veces, los expertos le dirán que no debe ejecutar ninguna aplicación como usuario root. Sin embargo, hay casos en los que algunos archivos deben ejecutarse con permiso de root. Por ejemplo, passwd la utilidad instalada por defecto en los sistemas Linux tiene el bit configurado.

La razón es simple: la información de la contraseña de un usuario se almacena en los archivos «/ etc / passwd» y «/ etc / shadow», que solo pueden ser modificados por «root». Cuando «john1» intente cambiar su contraseña, necesitará tener permiso para modificar la información en los dos archivos mencionados anteriormente. Con el bit setuid habilitado passwd permite que «john1» tenga temporalmente permisos de root para cambiar la contraseña del usuario y también para actualizar la información en ambos archivos.

Riesgo de seguridad de Setuid

Si no tiene cuidado, un atacante puede aprovechar la configuración binaria para controlar su sistema. Normalmente, los usuarios no deberían tener instalados programas setuid, especialmente setuid para otros usuarios que no sean ellos mismos. Lo más importante es que no debería tener ningún binario habilitado para root en su carpeta de inicio. Por lo general, se trata de troyanos o malware.

Conclusión

Setuid solo se puede configurar en archivos ejecutables. Como, setgid También se puede establecer bit, lo que permite a todos los miembros de un grupo ejecutar un ejecutable con permisos de propietario.

Note que setuid y setgid Los bits son sensibles a la seguridad y solo deben ser utilizados por administradores de sistemas calificados.

Lee mas:

  • Cómo usar el bit adhesivo para administrar archivos en directorios compartidos en Linux

  • Cómo hacer correcciones ortográficas en la terminal de Linux
  • Con Buscar, averigüe quién y dónde buscar archivos en Linux

DEJA UNA RESPUESTA

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *