Usando 'sudo vim' para generar un shell

5

Recientemente leí aquí una respuesta de un usuario sobre la forma en que pirateaba un servidor en un concurso CTF. En algún momento de la descripción, dijo que hizo sudo vim y luego generó un shell a través de VIM con la contraseña que capturó antes (supongo que hizo :!bash in vim).

Estoy un poco confundido por qué usó este vector específico para generar una concha ... Podría haber ejecutado simplemente un sudo bash . ¿Por qué usar Vim para hacer esto?

    
pregunta Tiago 12.04.2013 - 13:00
fuente

2 respuestas

9

Una posibilidad es que sudo se configuró para ejecutar solo ciertas aplicaciones; puede encontrar ejemplos de esto en el manual de sudo .

Si uno de estos era vim , pero bash no era una opción, el usuario no podría ejecutar sudo -i o sudo bash , pero podría ejecutar sudo vim . Sin embargo, una vez hecho esto, vim tendría un uid / gid efectivo de 0/0 y con mucho gusto le permitirá ejecutar un shell de bash root.

Esto significa, como es de esperar, que puedes editar el archivo sudoers para eliminar esa restricción.

Por supuesto, otra cosa a tener en cuenta sobre este truco es la falta de registro. Sudo ha ejecutado vim, y registrará ese hecho, ¡pero no registrará ningún proceso que vim elija generar después de eso! Así que incluso si no estás restringido para ejecutar el shell, esta es una forma de disfrazar lo que estás haciendo.

    
respondido por el user2213 12.04.2013 - 13:17
fuente
2

Puede limitar los comandos que un usuario de sudo puede ejecutar en el archivo sudoers, abrir una shell a través de vim sería una forma de evitarlo. VIM no suele estar restringido porque los permisos de archivos y directorios limitan el daño que podría hacer con él, por lo que es una opción ideal para ejecutar un shell ilícito.

    
respondido por el GdD 12.04.2013 - 13:40
fuente

Lea otras preguntas en las etiquetas