
Code d'exploit de preuve de concept pour CVE-2020-7388, une RCE non authentifiée en tant que SYSTEM sur le service AdxDSrv de Sage X3.
Preuve de concept du code d'exploitation pour CVE-2020-7388, une exécution de code à distance non authentifiée en tant que SYSTEM sur le service AdxDSrv de Sage X3
Sage X3 expose un service d'administration sur le port TCP/1818 (par défaut, mais modifiable) sous le processus « AdxDSrv.exe », qui fait partie du composant AdxAdmin. Ce service est utilisé pour l'administration à distance de la solution ERP Sage via la console Sage X3. Une vulnérabilité dans ce service permet à un acteur malveillant de créer une requête vers le service exposé pour exécuter des commandes sur le serveur en tant qu'utilisateur « NT AUTHORITY/SYSTEM ».
Un article détaillé sur l'exploitation est disponible dans notre publication originale sur le blog de Rapid7 : https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
AdxDSrv s'exécute sur le port TCP 1818 par défaut et est répertorié comme un service inconnu dans Nmap. Ce dépôt contient deux scripts NSE pour identifier les services vulnérables ainsi qu'AdxDSrv lui-même.
python3 adxsrv_bypass.py --cmd <commande à exécuter en tant que SYSTEM> --ip <cible distante> --port <port du service AdxDSrv>
Remarque : il s'agit d'un PoC sommaire, qui envoie des flux d'octets dans un ordre spécifique et qui pourrait nécessiter des ajustements. Notre temps limité d'accès au logiciel nous a empêchés d'affiner les exploits. Si vous rencontrez une instance vulnérable et que vous corrigez le PoC, merci de soumettre une PR ! Ou si vous essayez de le corriger et souhaitez collaborer, n'hésitez pas à nous contacter.
Lors d'un test d'intrusion réseau en 2020, Cale Black a identifié de nouvelles vulnérabilités dans le panneau d'administration web de l'ERP X3 de Sage. Cela a conduit à une enquête plus approfondie sur l'application entre Jonathan Peterson (@deadjakk), Aaron Herndon (@ac3lives), Cale Black, Ryan Villarreal (@XjCrazy09) et William Vu. Nous avons creusé et identifié le service personnalisé AdxDSrv de Sage X3, utilisé pour l'administration à distance. Après du reverse engineering et du fuzzing, nous avons abouti à quatre CVE, dont une exécution de code à distance non authentifiée avec un score CVSS de 10. Un grand merci au gros porteur ici, @Deadjakk, pour une grande partie du reverse engineering et des premières maquettes du PoC.