
Exploit en modo de desarrollo de Rails. Con algún conocimiento de una aplicación objetivo, es posible que un atacante adivine el token secreto generado automáticamente en modo desarrollo. Este token secreto puede ser utilizado en combinación con otros elementos internos de Rails para escalar a un exploit de ejecución remota de código.
Una vulnerabilidad de ejecución remota de código en modo desarrollo Rails <5.2.2.1, <6.0.0.beta3 puede permitir a un atacante adivinar el token secreto generado automáticamente del modo desarrollo. Este token secreto puede usarse en combinación con otros componentes internos de Rails para escalar a un exploit de ejecución remota de código. Este código PoC para CVE-2019-5420 escala los privilegios a una cuenta de administrador sin la ejecución remota de código en sí.
Copia el valor de la cookie y reemplázalo con "VALUE_OF_THE_COOKIE" en la línea 11:
cookie = CGI.unescape "VALUE_OF_THE_COOKIE" # put in the value of your cookie here
Además, reemplaza "NAME::Application" con el nombre de tu aplicación. Por ejemplo, si el nombre de la aplicación es "test", sería "test::Application":
secret = Digest::MD5.hexdigest("NAME::Application") # the name of the ruby on rails application, either bruteforce or have to be known directly
Ejecuta el exploit y copia la salida de la cookie. Reemplázala con la cookie de la aplicación web:
ruby CVE-2019-5420.rb