
Interaktive Befehlszeilen-Shell zur Ausnutzung von Apache Struts CVE-2017-5638. Automatisiert HTTP/HTTPS-Ausnutzung mit Echtzeit-Shell-Interaktion auf verwundbaren Zielen.
Apache Struts (CVE-2017-5638) Shell
Die "LowNoiseHG (LNHG) Struts Shell" (im Folgenden "StrutsShell") wurde im März 2017 entwickelt, nachdem wir erkannten, wie nützlich es ist, die Apache Struts-Sicherheitslücke CVE-2017-5638 nicht manuell ausnutzen zu müssen (HTTP-GET-Anfragen von Hand) und nachdem das entsprechende Metasploit-Modul für diese Sicherheitslücke nicht funktionierte (zumindest in unseren Testfällen).
Die grundlegende Funktionsweise von StrutsShell besteht aus der Verarbeitung einer Befehlszeileneingabe (Shell) für die angegriffene Plattform (Windows, Linux usw.) und der Nutzung der Apache Struts-Sicherheitslücke, um sie an die Shell zur Ausführung zu übergeben. Das Tool gibt dann die Antwort zurück und wartet auf den nächsten Shell-Befehl, wodurch ein reibungsloses Interaktionserlebnis entsteht.
# LowNoiseHG Apache Struts (CVE-2017-5638) Shell v.0.1 (2017/03/17)
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to Andrew Weidenhamer (@AWeidenhamer), David Llorens (c4an),
# Tauseef Ghazi (@tghazi), and AJ (@nikamajinkya) for inspiration, ideas
# and debugging/betatesting help.
usage: StrutsShell.py [-h] [-d] [-u URL]
LNHG Apache Struts (CVE-2017-5638) Shell v.0.1
optional arguments:
-h, --help show this help message and exit
-d, --debug show debugging info
-u URL, --url URL Apache Struts vulnerable URL (i.e.:
http://www.example.com/test/login.action)
for inspiration, ideas and debugging/beta-testing help.
Wie der größte Teil der F&E bei LowNoiseHG (LNHG) wurde dieses Tool nur wegen seiner Nützlichkeit und ohne finanzielle Mittel oder zugewiesene Zeit entwickelt. Die gesamte Entwicklung erfolgte ausschließlich in persönlicher Freizeit, und sie wird fortgesetzt, wenn interessante Funktionen auftauchen und Zeit unter Berücksichtigung anderer Projekte verfügbar ist.
Die aktuelle Version funktioniert sehr gut, auch wenn es noch einige kleinere Macken (Fehler) zu beseitigen gibt und einige grundlegende Funktionen verbessert werden können.
StrutsShell und der gesamte zugehörige Code werden unter der GPL v3 Open-Source-Lizenz veröffentlicht. Die vollständige Lizenz befindet sich in der Datei LICENSE.md.
Um StrutsShell "out-of-the-git" mit allen aktivierten Optionen auszuführen, benötigen Sie:
HINWEIS: StrutsShell wurde auf Kali, Ubuntu und Debian entwickelt und getestet. Ich bin sicher, DU kannst es auch auf anderen Plattformen deiner Wahl zum Laufen bringen ;)
$ sudo apt-get install -y python git
$ pip install requests
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/StrutsShell.git
$ cd StrutsShell
$ ./StrutsShell.py -u http://www.example.com/test/login.action
Du kannst die vollständige Liste der Optionen jederzeit einsehen mit:
$ ./StrutsShell -h
