209 meneos
2322 clics
Una vulnerabilidad en Vim permite hackear GNU con Linux con simplemente abrir un archivo en el editor
El investigador de seguridad Armin Razmjou ha descubierto una grave vulnerabilidad en los conocidos editores de texto presentes en la mayoría de distribuciones GNU+Linux: Vim y Neovim. La vulnerabilidad CVE-2019-12735 tiene una puntuación alta puesto que permite a un atacante ejecutar comandos en el sistema operativo de forma remota y tomar control del mismo. De hecho, utilizando un comando es posible saltarse la protección del sandbox de Vim.
|
comentarios cerrados
#4 Y en caso necesario su -c, como la gente decente. Además tengo entendido que sudo guarda la "elevación" durante un tiempo (no se cuanto) y que durante ese tiempo puedes ejecutar sudo sin contraseña libremente
Con su no pasa eso.
Si tienen acceso a tu cuenta de usuario no creo que sea dificil ocultarte un ejecutable chungo y hacer un alias a "su" para que haga algo similar. Más trabajo que con sudo sin clave, y más fácil de detectar en cuanto abras el .bashrc, pero meter la clave cada vez tampoco me parece que aporte una seguridad infalible. Eso sí, te libras del ataque totalmente automatizado.
También como tengas que meter la clave decenas de veces al día una clave con 16+ caracteres de letras, números y símbolos especiales, al final ni te fijas dónde la estás metiendo, que lo haces por inercia, e incluso cortando y pegando.
En Ubuntu puedes conseguir algo así haciendo sudo su.
Tecla escape para salir del modo de 'edición de texto' y teclear :q! y pulsar la tecla 'Enter'.
Y si lo anterior le cuesta mucho al común de los mortales con una la aplicación gráfica tipo 'System Monitor' se 'mata' el proceso con un 'kill' al VIM activo y punto.
Bueno sí, la Raspberry Pi con Raspbian no pide la contraseña con el sudo, pero si que la pide en otro tipo de operaciones. De todas formas la Raspberry Pi a pesar de sus indiscutibles virtudes es '
poco fiable' 'poco seria' comparada con un PC convencional.'...Es recomendado aplicar los parches para Vim en la versión 8.1.1365, y para Neovim en la versión v0.3.6. Además de esto, se recomienda desactivar las 'modelines' en vimrc, usar el plugin securemodelines, o desactivar modelineexpr para no permitir expresiones en las 'modelines'...'
(CC #1)
(CC #22)
"Hay un fichero temporal por ahi perdido. Quieres recuperarlo? Si quieres usa la combinacion de teclas adecuada, eh?, que no estamos aqui para ayudarte.
El Vim (para los que estamos acostumbrados a los comandos de VI) hay que instalarlo.
De la wiki:
...Stoll traced the error to an unauthorized user who had apparently used 9 seconds of computer time and not paid for it. Stoll eventually realized that the unauthorized user was a hacker who had acquired superuser access to the LBNL system by exploiting a vulnerability in the movemail function of the original GNU Emacs...
Edit: bah, supongo que es por lo que dices en #7.
Otra cosa es que no tengas el teclado en español y que no sepas donde está ":"
Pero no te compliques, cada vez se sale menos de los navegadores tipo Firefox. Esa es la principal razón por la que cada vez tiene menos sentido precuparse del sistema operativo que se esté usando, y si es libre mucho mejor.
(CC #25)
Según el doc, las distros que desabilitan el modeline no son vulnerables. Debian y derivados (p.e. Ubuntu) no lo son.
Aparte, no encuentro en ningún sitio si sirve para elevar privilegios. Sino, no deja de ser otra curiosidad.
El cliente ftp permite ejecutar comandos en remoto de forma trivial.
Edit: creando a manopla un .vimrc con "set modeline" funciona el exploit.
linuxmint.com/
Nano es también "rarito" al menos hasta que te acostumbras (estoy más que acostumbrado, pero reconozco que a alguien nuevo en esto tiene que decir... ¡¡¡Pero qué coj...!!!). Pero es que VIM... Supongo que cuestión de gustos y que debería darle otra oportunidad, pero me cuesta mucho usarlo.
Me has hecho recordar los viejos tiempos.
Y para estos menesteres, que suelen ser cambiar opciones tipo yes/no o tocar una cifra, con un mini editor como nano va que chuta y no tiene ese problema. Jamás he usado Vim para editar algo del sistema.
Unix generó linux, que es basicamente la evolucionde quickbasic 4.5
Si todavía sigue ahí el Vim, le sacas la batería al portátil.
Si no se puede sacar la batería, esperas unas horas.
Si tras todo esto sigue ahí el Vim, es hora de deshacerse del ordenador y llamar a un exorcista.
POr cierto unix tenía la consola y terminales
<<Unix generó linux, que es basicamente la evolucionde quickbasic 4.5 >>
El quick basic es un basic de microsoft con compilador que he utilizado también y que no tiene que ver con Linux (que tiempos, cuando usaba slackware por cierto)
En fin. Al menos mantén el nivel de trolleo
Al haber dos claves queda claro si vas a hacer algo peligroso. Con el sudo sólo hay una. Si una aplicación te pide tu clave no sabes si la va a usar para algo peligroso o no.
Por ejemplo un programa malicioso podría hacerse pasar por un protector de pantalla y pedirte la clave para desbloquear, y en realidad usarla para hacer sudo y dañar el sistema.
Ese programa malicioso podría haber llegado a través de un bug como éste del vim
#8 La primera vez que me enfrenté a vi no tenía una interfaz gráfica, y me tocó apagar el computador para salir. Luego alguien me enseño la secuencia mágica, y de ahí poco a poco he ido aprendiendo hasta ser capaz de usarlo para solucionar conflictos de git. Lo que nunca he podido hacer cómodamente es tener más de un archivo abierto a la vez.
Perdón por el chiste malo, ya me marcho.
Con respecto a vi, es duro, es cierto. Pero fue pensado para teclear lo menos posible así que es muy potente y se puede hacer cosas que ni se y ocurrirían en un editor normal. Fue pensado para funcionar incluso en máquinas de teletipo, o sea, como una impresora con teclado.
Con su, como abres sesión de root, es más fácil que al cabo de un tiempo no te des cuenta y teclees lo que no debes.
A mi me parece mal sudo por que si ya tienen acceso a la cuenta de usuario, pueden hacer sudo -s y ser root sin saber la contraseña de root. Por otro lado, si comprometen la cuenta de un usuario, con su, deben saber también la de root y por eso es por lo que prefiero su vs sudo en servidores. Tampoco olvidemos que puedes configurar sudoers para que solo permita lo que tu quieres...
Yo prefiero que el root tenga clave pero no permitir root por SSH. De esa forma si quieres ser root en remoto necesitas saber dos claves distintas.
scottlinux.com/2012/08/04/change-sudo-default-password-timeout/
Dentro de ese periodo de tiempo puedes abrir otra terminal y ejecutar cualquier cosa con sudo. Es un peligro.
1° obligo a ssh-server que no permita login de root y
2° edito /root/.bashrc para que salga el root@machine# en color rojo.
(CC #19 #75 #92)
Nadie está exento de meter la pata, o peor, de que por ejemplo por un problema de seguridad en el navegador te podrían hacer ejecutar un programa. Ese programa por ejemplo podría simular un protector de pantalla: "teclee su clave para desbloquear la pantalla", y se acabó. El programa malicioso tiene tu clave que resulta dar acceso a todo el sistema mediante sudo. Una vez obtenido el permiso de root ya más te vale formatear y reinstalar porque difícilmente encontrarás todo lo que puedan haberte tocado en el sistema.
Al tener dos claves sabes perfectamente que si tecleas la de root algo peligroso vas a hacer.
el man(nual) de sudo lo dice 15.
rtfm
De manera remota dice...
"Si un atacante crea un archivo especial utilizando Vim o Neovim, bastaría solo con que lo abras en cualquiera de los editores para que este pueda hackear tu distribución Linux ejecutando comandos arbitrarios de forma remota."
No hostia no... ¡¡!No!!!
¿algo ha destacar, realmente importante de su nueva versión, 4.0?
Yo todavía ando con la 2