es posible ejecutar un archivo ejecutable como propietario en lugar de como usuario actual [cerrado]

1

¿Es posible usar el privilegio de propietarios en lugar del usuario actual que está ejecutando el archivo para realizar alguna acción como crear un archivo?

Supongamos que tengo un archivo ejecutable creado por el usuario y que otros usuarios pueden modificarlo y ejecutarlo. ¿Hay alguna manera de cambiar el uid efectivo del proceso para que sea el propietario y opere en nombre del propietario?

    
pregunta HighNESS 19.09.2017 - 19:36
fuente

3 respuestas

5

No estoy realmente seguro de lo que estás preguntando. Cuando ejecutas programas, se ejecutan como tú. Puede su ellos para que se ejecute como otro usuario, pero primero debe convertirse en el otro usuario (es decir, debe conocer su contraseña).

Creo que el escenario que estás describiendo es que el usuario victim ha creado un archivo con los siguientes permisos:

-rwxrwxrwx 1 victim victim exec_file

y desea que user pueda ejecutar el archivo y ejecutarlo como victim .

victim podría usar setuid para establecer el bit especial del ejecutable de esta manera:

victim$ chmod u+s exec_file
victim$ ls
-rwsrwxrwx 1 victim victim exec_file

Ahora cuando user ejecuta el archivo, se ejecutará como victim . Esto no es una vulnerabilidad o un ataque ya que victim lo configuró explícitamente de esta manera.

Podría pensar que lo siguiente funcionaría:

user$ ls
-rwxrwxrwx 1 user user exec_file
user$ chmod u+s exec_file
user$ chown victim exec_file
user$ ./execfile  # I'm victim now, right?

pero linux evitará que hagas chown a menos que sudo , ... pero si ya tienes sudo powers, esto no es realmente un gran ataque.

Lo más cercano que se me ocurre para hacer de esto un ataque real es si varios usuarios ejecutan este programa de manera regular, y usted tiene permisos de escritura, entonces puede reemplazarlo con su propio código y esperar al propietario. (o cualquier otra persona) para volver y ejecutarlo. Ahora alguien más está ejecutando tu código malicioso como ellos mismos. En general, es una mala idea dar a los usuarios permiso de escritura sobre los archivos que otros usuarios ejecutarán. Mucho mejor tenerlo así:

-rwxr-xr-x 1 user user exec_file

o incluso mejor:

-rwxr-xr-x 1 root root exec_file
    
respondido por el Mike Ounsworth 19.09.2017 - 20:16
fuente
0
  

¿Es posible usar privilegios de propietarios en lugar del usuario actual que es   ejecutando el archivo para realizar alguna acción como crear un archivo ?.   Quiero decir, ¿es posible explotar un archivo ejecutable que se crea?   por usuario y puede ser modificado y ejecutado por otros usuarios.

La respuesta a la segunda pregunta aclarada es sí, absolutamente. Si una persona crea un archivo y otorga permisos RWX a otros usuarios, tiene todos los derechos para alterar y ejecutar ese archivo. Por lo tanto, tienen derechos para explotar ese archivo aunque no sean los propietarios. Esto es consistente en los sistemas Windows y Unix.

    
respondido por el cclater 19.09.2017 - 20:23
fuente
-1

Sí, es posible utilizando el indicador suid en el archivo: chmod u+s executable_file . Verás, normalmente, un -rwsr-xr-x cuando escribas un comando ls -l .

Esto significa que el archivo se ejecutará con el privilegio del propietario del archivo. Pero, debes tener mucho cuidado con este indicador porque podría ser una vulnerabilidad si no sabes lo que hacen los ejecutables.

Por ejemplo, los programas mount o sudo son setuid root, porque necesitamos los privilegios de root cuando usamos estos programas.

Otra bandera ( setgid ) funciona igual para el grupo.

Puede encontrar más información en la página de Wikipedia .

    
respondido por el Kjnokeer 19.09.2017 - 21:10
fuente

Lea otras preguntas en las etiquetas