Telnet local ¿Se pueden aprovechar las ventajas de la escalada de privilegios incluso cuando telnet se ejecuta con una cuenta de usuario normal?

0

enlace dice:

  

El protocolo telnet permite pasar variables de entorno dentro del   Tráfico de telnet y asignarlos al otro lado de la conexión TCP.   El demonio telnet de FreeBSD 7.0-RELEASE no comprueba LD_ * (como LD_PRELOAD)   variables de entorno antes de ejecutar / bin / login.   Así que pasa una variable de entorno con el identificador LD_PRELOAD y   El valor de una biblioteca precompilada que se encuentra en el sistema de archivos de la   El cuadro de víctimas que incluye código malicioso es posible.   Cuando / bin / login se ejecuta con el ID de usuario y el ID de grupo 0 ('root') se precarga   La biblioteca que se estableció mediante conexión remota a través de un entorno telnet.   Definirlo y ejecutarlo.   Es poco probable que este error se pueda explotar de forma remota, pero no es imposible.   Un atacante podría, por ejemplo. sube una biblioteca maliciosa usando ftp (incluyendo anónimo    usuarios de ftp), nfs, smb o cualquier otro protocolo de transferencia (archivo).   Un escenario para explotar el error de forma remota sería un servidor ftp que se ejecute junto a   El demonio de telnet también sirve a muchos usuarios con acceso de escritura. Entonces el   el atacante cargaría la biblioteca maliciosa y define el LD_PRELOAD   variable a algo similar a /var/ftp/mallib.so para obtener acceso de root remoto.

Entonces, si creo un nuevo telnet e inetd bajo un usuario que no es super usuario, ¿este exploit no funciona? Parece que / bin / login debe ejecutarse con el ID de usuario de la raíz, pero no estoy seguro de si / bin / login siempre se ejecuta como el ID de usuario de la raíz ...

    
pregunta AAAAAAA 22.09.2012 - 16:29
fuente

1 respuesta

1

No. Creo que la vulnerabilidad descrita existía porque el demonio telnet de destino se ejecutaba con privilegios de raíz y permitía al cliente definir LD_PRELOAD = valor que se usaría al ejecutar / bin / login como raíz.

La configuración de la variable de entorno LD_PRELOAD para un proceso raíz permitió al atacante apuntar a una biblioteca específica (código arbitrario) que se ejecutaría como usuario raíz.

El sistema operativo del host sabe que LD_PRELOAD debe ignorarse si se llama a un binario setuid ().

    
respondido por el Gabe 05.10.2012 - 22:32
fuente

Lea otras preguntas en las etiquetas