Shuriken_1 VulnHub

Escaneo de puertos

nmap -p- --min-rate 5000 -sS <IP>

Info:

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-05 03:32 EDT
Nmap scan report for 192.168.195.151
Host is up (0.00057s latency).

PORT     STATE    SERVICE    VERSION
80/tcp   open     http       Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Shuriken
|_http-server-header: Apache/2.4.29 (Ubuntu)
8080/tcp filtered http-proxy
MAC Address: 00:0C:29:C3:5C:FC (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop

TRACEROUTE
HOP RTT     ADDRESS
1   0.57 ms 192.168.195.151

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.15 seconds

Gobuster

Info:

Vemos un login y un /secret, si nos metemos en secret...

Nos aparecera una foto .png llamada secret.png, veremos una imagen de JavaScript por lo que puede ser una pista o algo parecido...

Si nos vamos a /js vemos 2 archivos JavaScript el que nos interesa es el llamado index__d8338055.js y si empezamos a leer vemos la siguiente linea...

Lo primero editaremos el hosts para cambiarlo a shuriken.local y despues vemos que utiliza ?referer= por lo que podremos hacer File Inclusion...

Lo guardamos y vamos directamente a la siguiente URL...

Podemos utilizar una herramienta que te asegura lo que funciona y lo que no en un FLI...

URL = https://github.com/hansmach1ne/LFImap

Cuando la descarguemos y la montemos en nuestro host haremos lo siguiente...

Info:

Nos indica que funionan 3 formas de ver el archivo passwd por lo que si lo utilizamos en la URL...

Una vez buscado eso, cuando cargue la pagina al completo insepccionamos el codigo y veremos lo siguinte...

Nos descubre un usuario llamado server-management pero no tenemos ssh, si investigamos un poco mas veremos otra URL en el otro archivo js llamado index__7ed54732.js...

Por lo que lo añadiremos a nuestro hosts...

Pero no haremos mucho con esa URL, siguiendo el LFI iremos a una URL donde descargaremos una herramienta que nos ayuda saber que poner en la URL de la siguiente manera...

URL = https://github.com/synacktiv/php_filter_chain_generator

Una vez nos descargamos el .py lo ejecutaremos de la siguiente manera...

Info:

Una vez nos de lo que tenemos que meter, la URL quedara de la siguiente manera...

Ya que hemos creado un parametro llamado cmd y le indicamos que se puede ejecutar un comando dentro del mismo, tendremos que añadir el siguiente parametro de esta manera...

Si por ejemplo hacemos un ls y miramos en en el codigo de la pagina, veremos que funciona...

Por lo que ahora haremos una Reverse Shell de esta manera...

host

Info:

Maquina victima

Con esto ya tendriamos el archivo en la carpeta /tmp de la maquina victima...

Info:

Sabiendo que lo tenemos, haremos lo siguiente por si acaso aunque parece que no funciona para darle permisos de ejecuccion...

OPCIONAL

o

Lo anterior tiene que ser con un espacio en el segundo...

Una vez hecho esto, lo ejecutaremos de la siguiente manera, pero antes tendremos que configurar y preparar el estar a la escucha desde metasploit...

Metasploit

Con esto ya estariamos a la escucha, por lo que lo ejecutaremos...

Si ponemos eso lo que haremos sera ejecutarlo y tendremos la shell en metasploit con el usuario www-data...

Si hacemos sudo -l veremos lo siguiente...

Podemos ejecutar ese comando como el usuario server-management, por lo que haremos lo siguiente...

Info:

Con esto ya seriamos el usuario server-management, si nos vamos a su /home leeremos la flag...

user.txt (flag1)

Si hacemos lo siguiente para ver los crontabs iremos a una linea en concreto en la cual siempre suele haber crontbas...

Info:

Si lo leemos veremos lo siguiente...

Nos concentramos en esta linea que es la mas interesante...

Si leemos ese backupsrv.sh veremos lo siguiente...

Y sus permisos...

Vemos que tiene una vulnerabilidad tar con el * por lo que haremos lo siguiente...

URL = https://medium.com/@polygonben/linux-privilege-escalation-wildcards-with-tar-f79ab9e407fa

Esto nos creara una shell con el mismo usuario por lo que veremos que funciona, ponemos exit para volver a nuestra shell normal...

Se nos habra creado el siguiente archivo...

Con esto lo que haremos sera crear un script .sh que cuando se ejecute el tar ejecutara tambien lo que contiene el .tgz que nosotros creamos y a la vez ejecutara el .sh...

Y cuando esperemos 2 minutos, veremos lo siguiente...

Con ver eso significa que salio bien, por lo que si hacemos sudo -l veremos lo siguiente...

Por lo que haremos...

Y con esto ya seremos root, ahora leeremos la flag...

root.txt (flag2)

Last updated