
Un write-up sur la salle THM Vulnerability Capstone et le script d'exploitation pour CVE-2018-16763.
Un write-up sur la chambre THM Vulnerability Capstone & le script d'exploitation pour CVE-2018-16763.
Je ne prends pas le crédit pour la découverte de cette vulnérabilité. Merci aux personnes suivantes.
Découverte de la vulnérabilité :
0xd0ff9
Salle TryHackMe & auteur :
https://tryhackme.com/room/vulnerabilitycapstone
https://tryhackme.com/p/cmnatic
Références :
https://github.com/noraj/fuelcms-rce/blob/master/exploit.rb
https://github.com/daylightstudio/FUEL-CMS/issues/478
https://packetstormsecurity.com/files/164756/Fuel-CMS-1.4.1-Remote-Code-Execution.html
1. Exécution de code à distance
Fuel CMS est un système de gestion de contenu pour applications web. Dans la version 1.4.1, il existe une vulnérabilité RCE qui permet d'évaluer/exécuter du code PHP arbitraire via deux chemins différents. Le premier chemin vers RCE est une requête GET vers /fuel/pages/select/ avec le paramètre filter data. Le deuxième chemin est une requête POST vers /fuel/preview avec le paramètre data. J'ai cherché sur Internet pendant un moment et malheureusement, je n'ai pas réussi à trouver le code source montrant où se trouvait la vulnérabilité. Je suis nul, je sais.....lol. Nous allons maintenant continuer le write-up !
Commençons par quelques scans de ports pour obtenir une vue d'ensemble de notre surface d'attaque. J'aime utiliser rustscan pour avoir un aperçu large de la cible avant de faire un scan plus ciblé avec nmap.

Ça a l'air assez standard. Je pense que ce sera SSH & HTTP sur ces ports, mais nous allons lancer d'autres scans avec nmap pour avoir une idée plus précise.

Nous avons donc SSH & HTTP sur leurs ports standards. Regardons la page web pour voir ce que nous avons !

Le serveur web héberge Fuel CMS version 1.4. Cette version est vulnérable à l'injection de commandes via l'évaluation de code PHP. Jetons un coup d'œil au CVE depuis NVD ci-dessous.

Il existe plusieurs exploits disponibles pour ce logiciel. J'ai fourni un exploit en python mais il est nul. Je l'appelle nul car nous devrons analyser manuellement la réponse de la requête web pour voir la sortie de nos commandes. Je n'ai pas réussi à enlever le superflu. Jetons un coup d'œil !

J'ai exécuté la commande ls -al. Comme on peut le voir, la sortie de la commande se trouve entre les éléments div HTML.

Je ne vais pas révéler le flag, mais je vais donner un indice ! Vous pouvez commencer par regarder dans le répertoire home. Merci d'avoir lu ce write-up. Amusez-vous bien !