
Proof-of-Concept-Exploitcode für CVE-2020-7388, eine nicht authentifizierte RCE als SYSTEM auf dem AdxDSrv-Dienst von Sage X3
Proof-of-Concept-Exploit-Code für CVE-2020-7388, eine nicht authentifizierte RCE als SYSTEM auf dem AdxDSrv-Dienst von Sage X3
Sage X3 stellt einen administrativen Dienst auf Port TCP/1818 (Standard, aber änderbar) unter dem Prozess "AdxDSrv.exe" bereit, der Teil der AdxAdmin-Komponente ist. Dieser Dienst wird für die Fernverwaltung der Sage-ERP-Lösung über die Sage X3-Konsole verwendet. Eine Schwachstelle in diesem Dienst ermöglicht es einem Angreifer, eine Anfrage an den freigegebenen Dienst zu erstellen, um Befehle auf dem Server als Benutzer "NT AUTHORITY/SYSTEM" auszuführen.
Eine ausführliche Beschreibung des Exploits finden Sie in unserer ursprünglichen Veröffentlichung auf Rapid7s Blog: https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
AdxDSrv läuft standardmäßig auf TCP-Port 1818 und wird in Namp als unbekannter Dienst aufgeführt. Dieses Repository enthält zwei NSE-Skripte, um anfällige Dienste und den AdxDSrv selbst zu identifizieren.
python3 adxsrv_bypass.py --cmd <command to run as SYSTEM> --ip <remote target> --port <port of AdxDSrv service>
Hinweis: Dies ist ein grober PoC, der Byte-Ströme in einer bestimmten Reihenfolge sendet und möglicherweise Anpassungen erfordert. Unsere begrenzte Zeit mit Zugang zur Software verhinderte eine Feinabstimmung der Exploits. Wenn Sie auf eine anfällige Instanz stoßen und den PoC verbessern, reichen Sie bitte einen PR ein! Oder wenn Sie versuchen, ihn zu verbessern und zusammenarbeiten möchten, zögern Sie nicht, uns zu kontaktieren.
Während eines Netzwerk-Penetrationstests im Jahr 2020 identifizierte Cale Black neue Schwachstellen im Web-Admin-Panel von Sage X3 ERP. Dies führte zu weiteren Untersuchungen der Anwendung durch Jonathan Peterson (@deadjakk), Aaron Herndon (@ac3lives), Cale Black, Ryan Villarreal (@XjCrazy09) und William Vu. Wir tauchten ein und identifizierten den benutzerdefinierten AdxDSrv-Dienst von Sage X3, der für die Fernverwaltung verwendet wurde. Nach einigem Reverse Engineering und Fuzzing landeten wir bei vier CVEs, einer davon eine nicht authentifizierte Remote-Code-Ausführung mit CVSS 10. Ein großer Dank geht an den Schwerlastheber hier, @Deadjakk, für vieles des Reverse Engineerings und der ersten PoC-Prototypen.