
Die Schwachstelle CVE-2015-5254 ist eine Sicherheitslücke in Apache ActiveMQ, einem weit verbreiteten Open-Source-Nachrichtenserver für die Kommunikation zwischen Anwendungen. Diese Schwachstelle betrifft ActiveMQ-Versionen bis einschließlich 5.13.0 und beruht auf dem Fehlen einer Filterung der eingehenden JMS ObjectMessage-Daten.
Die Schwachstelle CVE-2015-5254 ist ein Sicherheitsfehler in Apache ActiveMQ, einem weit verbreiteten Open-Source-Nachrichtenserver für die Kommunikation zwischen Anwendungen. Diese Schwachstelle betrifft ActiveMQ-Versionen bis 5.13.0 und liegt im Fehlen einer Filterung der gesendeten JMS ObjectMessage-Eingabedaten.
Netzwerkscan: nmap -p 61616 -Pn -T5 -n -sC -sV 172.17.0.1

Wir starten actiiveMQ 2015 über seinen heruntergeladenen Ordner mit Docker :

Wir überprüfen die Version von activeMQ :

Es handelt sich um Version 5.11.1
Ausnutzung :
Für diese Schwachstelle verwenden wir den Befehl :
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME 172.17.0.1 61616
Dieser Befehl führt einen Exploit-Versuch der Schwachstelle CVE-2015-5254 von Apache ActiveMQ unter Verwendung des Tools jmet durch. Hier eine Erläuterung jeder Option des Befehls :
java -jar jmet-0.1.0-all.jar : Startet das Tool jmet (Java Message Exploitation Tool) unter Verwendung der eigenständigen JAR-Datei (jmet-0.1.0-all.jar).
-Q event : Gibt die "Queue" oder die Ziel-Warteschlange in ActiveMQ an, hier "event" genannt. Das Tool sendet die schädliche Nachricht über diese Queue.
-I ActiveMQ : Gibt an, dass das Ziel ein Apache ActiveMQ-Server ist.
-s : Startet den Exploit im "Stealth"-Modus (heimlich), was manchmal die auf dem Ziel generierten Logs oder Warnungen minimieren kann.
-Y "touch /tmp/success" : Gibt die schädliche Nutzlast an, die bei Erfolg auf dem Zielserver ausgeführt wird. In diesem Fall erstellt der Befehl touch /tmp/success eine Datei namens success im Ordner /tmp, um zu beweisen, dass der Exploit funktioniert hat.
-Yp ROME : Verwendet das Payload "ROME", um die Schwachstelle auszunutzen (ROME ist hier ein spezifischer Nutzlasttyp, der vom Tool für ActiveMQ unterstützt wird).
172.17.0.1 61616 : Gibt die IP-Adresse (1720.17.0.1) und den Port (61616) des Ziel-Apache-ActiveMQ-Servers an.
Zusammenfassung Dieser Befehl versucht, eine Deserialisierungsschwachstelle in Apache ActiveMQ auszunutzen, indem eine schädliche Nachricht in die Warteschlange "event" injiziert wird, um einen Remote-Befehl auszuführen. Bei erfolgreichem Exploit führt der Ziel-ActiveMQ-Server den Befehl touch /tmp/success aus, was ein Indikator für einen erfolgreichen Exploit ist (Erstellung einer Datei). Im Grunde wollen wir eine Datei namens sucsess in in das Dateisystem des ActiveMQ-Servers einschleusen, genauer gesagt in /tmp/.

Wir stellen fest, dass der Exploit erfolgreich war !!!
Wir haben die folgende Erkennungsmeldung auf Apache activemq :

Wir klicken auf die Nachricht:

Wir geben die folgenden Befehle ein :
docker ps -a Um den aktuellen ActiveMQ-Container zu kennen, sehen wir den Container 19ab278527c7 Wir führen aus : docker exec -it 19ab278527c7 /bin/bash Um sich am ActiveMQ-Server über seinen Container zu authentifizieren.
Wir stellen fest, dass die Authentifizierung erfolgreich war und dann haben wir die Erstellung der Datei sucess in /tmp/ überprüft :

Ende des Exploits !!!