[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Funcion de root



On Thu, 2 Oct 2003, Nerox NRX wrote:

> Hola, me gustaría saber si existe alguna función para usar con el lenguaje
> C, que le permita obtener al
> programa que la llama privilegios de root, sin tener que usar SUID, por
> supuesto proporcionándole la contraseña de root.
>
> Gracias

No es posible.

Existe la función setuit(2). Está pensada para ser usada desde root
para bajar privilegios no para subirlos. Ni siquiera se permite
recuperar los privilegios al proceso después de bajarlos.

La forma de subir privilegios temporalmente a un usuario es usar
un ejecutable con permisos setuit y owner de root. Aun así son un
peligro ya que algunas deficiencias muy normales en la mayoría de
los programas se convierten en agujeros de seguridad en el caso de
estos ejecutables.

Es decir:

1) Haz un ejecutable y revisa bien el código evitando cualquier
posibilidad de desbordamiento de buffer.

2) Hazlo setuit y propiedad de root.

3) Ya puedes usarlo con un execl() o un system() desde un programa
C o desde otros programas.


-- 
Un saludo
Antonio Castro

       /\     /\   Ciberdroide Informática
         \\W//  << http://www.ciberdroide.com >>
        _|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro@ciberdroide.com   |
+()()()---------()()()--------------------+



Reply to: