
Ein Write-up über den THM-Raum „Vulnerability Capstone" und ein Exploit-Skript für CVE-2018-16763.
Ein Write-up über den THM-Raum Vulnerability Capstone & Exploit-Skript für CVE-2018-16763.
Ich beanspruche keine Anerkennung für die Entdeckung dieser Schwachstelle. Danke an die folgenden Personen.
Entdeckung der Schwachstelle:
0xd0ff9
TryHackMe-Raum & Autor:
https://tryhackme.com/room/vulnerabilitycapstone
https://tryhackme.com/p/cmnatic
Referenzen:
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. Remotecodeausführung
Fuel CMS ist ein Content-Management-System für Webanwendungen. In Version 1.4.1 gibt es eine RCE-Schwachstelle, die es ermöglicht, beliebigen PHP-Code über zwei verschiedene Wege auszuwerten/auszuführen. Der erste Weg zu RCE ist eine GET-Anfrage an /fuel/pages/select/ mit dem Parameter filter. Der zweite Weg ist eine POST-Anfrage an /fuel/preview mit dem Parameter data. Ich habe eine Weile im Internet gesucht und konnte leider keinen Quellcode finden, der zeigt, wo die Schwachstelle liegt. Ich bin grottenschlecht, ich weiß.....lol. Wir fahren nun mit dem Write-up fort!
Lass uns mit einigen Portscans beginnen, um einen Überblick über unsere Angriffsfläche zu bekommen. Ich nutze gerne rustscan, um einen breiten Überblick über das Ziel zu erhalten, bevor ich einen enger gefassten und gezielten Scan mit nmap durchführe.

Sieht ziemlich typisch aus. Ich gehe davon aus, dass es sich um SSH & HTTP auf diesen Ports handelt. Wir werden jedoch noch ein paar weitere Scans mit nmap durchführen, um ein genaueres Bild zu bekommen.

Wir haben also SSH & HTTP, die auf ihren Standard-Ports laufen. Lass uns die Webseite ansehen und schauen, was wir haben!

Der Webserver hostet Fuel CMS Version 1.4. Diese Version ist anfällig für Befehlsinjektion mittels PHP-Code-Auswertung. Lass uns einen Blick auf die CVE von NVD unten werfen.

Für diese Software gibt es mehrere Exploits. Ich habe einen Exploit in Python bereitgestellt, aber er ist Müll. Ich nenne ihn Müll, weil wir die Antwort der Webanfrage manuell parsen müssen, um die Ausgabe unserer Befehle zu sehen. Meine Versuche, das Überflüssige herauszuschneiden, waren erfolglos. Lass uns einen Blick darauf werfen!

Ich habe den Befehl ls -al ausgeführt. Wie wir sehen können, befindet sich die Ausgabe des Befehls zwischen den HTML-div-Elementen.

Ich werde das Flag nicht verraten, aber ich gebe einen Hinweis! Du kannst damit beginnen, im Home-Verzeichnis nachzusehen. Danke, dass du dieses Write-up gelesen hast. Viel Spaß!