
Exploit im Rails-Entwicklungsmodus. Mit etwas Wissen über die Zielanwendung kann ein Angreifer das automatisch generierte Secret-Token des Entwicklungsmodus erraten. Dieses Secret-Token kann in Kombination mit anderen Rails-Interna genutzt werden, um zu einem Remote-Code-Execution-Exploit zu eskalieren.
Eine Schwachstelle zur Remote-Codeausführung im Entwicklungsmodus von Rails <5.2.2.1, <6.0.0.beta3 kann einem Angreifer ermöglichen, das automatisch generierte Secret-Token für den Entwicklungsmodus zu erraten. Dieses Secret-Token kann in Kombination mit anderen Rails-Interna verwendet werden, um zu einem Remote-Codeausführungs-Exploit zu eskalieren. Dieser PoC-Code für CVE-2019-5420 erhöht die Berechtigungen auf ein Admin-Konto, ohne die Remote-Codeausführung selbst.
Kopieren Sie den Wert des Cookies und ersetzen Sie ihn in Zeile 11 durch "VALUE_OF_THE_COOKIE":
cookie = CGI.unescape "VALUE_OF_THE_COOKIE" # put in the value of your cookie here
Ersetzen Sie außerdem "NAME::Application" durch den Namen Ihrer Anwendung. Wenn der Name der Anwendung beispielsweise "test" lautet, wäre es "test::Application":
secret = Digest::MD5.hexdigest("NAME::Application") # the name of the ruby on rails application, either bruteforce or have to be known directly
Führen Sie den Exploit aus und kopieren Sie die Ausgabe des Cookies. Ersetzen Sie es durch das Cookie der Webanwendung:
ruby CVE-2019-5420.rb