BassamCTF VulnHub

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-23 06:55 EDT
Nmap scan report for 192.168.5.200
Host is up (0.00023s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 5f:cd:98:ac:0e:76:be:d0:9c:ae:23:47:8d:03:b5:07 (RSA)
|   256 f5:cb:de:f0:89:dc:ff:56:89:44:05:3c:a3:44:8f:70 (ECDSA)
|_  256 3a:94:cc:9e:aa:ab:7d:64:71:26:49:48:02:07:62:30 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 00:0C:29:AD:2C:E8 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

SI nos vamos al puerto 80 e inspeccionamos la pagina, veremos lo siguiente...

Veremos que es un dominio, por lo que lo meteremos en el hosts...

Una vez hecho esto ponemos el dominio en el navegador...

ffuf

Info:

Por lo que vemos, vemos un subdominio llamado welcome...

Por lo que haremos lo siguiente...

Una vez hecho esto volveremos al navegador y pondremos eso...

Gobuster

Info:

Vemos varias cosas interesantes, pero si ponemos /index.php veremos un recuadro pidiendo una URL...

Si en ese espacio metemos por ejemplo /etc/passwd se nos descargara el archivo...

Pero si metemos el /config.php que nos encontramos con gobuster el cual puede contener credenciales, tambien nos lo descargara...

Por lo que vemos nos da unas credenciales...

Si pobramos eso a conectarnos por ssh veremos que son las credenciales validas...

Y metiendo la contraseña ya estariamos dentro...

Si nos vamos a la siguiente ubicacion...

Veremos un archivo llamado MySecretPassword pero si lo vemos con cat solo veremos espacion y nada asi interesante, por lo que podria ser un mensaje codificado en espacios y tiene que ser interpretado mediante un patron...

Info:

Por lo que se ve sigue un patron, por lo que haremos lo siguiente...

Info:

Nos dara esos numeros en hexadecimal por lo que lo pasaremos a ascii de la siguiente forma...

Info:

Por lo que veremos la contraseña del usuario kira es kira2003...

Si hacemos sudo -l veremos lo siguiente...

Podremos ejecutar como bassam el .sh...

Dentro de la carpeta de kira haremos lo siguiente...

Info:

Por lo que ya seriamos el usuario bassam ahora nos importamos una shell mas bonita...

Si hacemos sudo -l veremos lo siguiente...

Podemos ejecutar ese .sh como el usuario root...

Veremos como es por dentro ese script.sh...

Vemos que esta haciendo una llamada con curl a un sitio web que no existe resuelto por un dominio para ver el contenido de ese script.sh pero a la vez esta ejecutando con bash lo que haya en su interior, por lo que si cogemos ese dominio y lo resolvemos para que haga conexion en nuestra maquina con el script malicioso que pongamos lo ejecutara como root...

En nuestra maquina host crearemos el siguiente archivo...

Abrimos un servidor de python3 para que curl lo pueda coger...

Y a la vez estaremos a la escucha...

Si dentro de la maquina victima hacemos lo siguiente...

Veremos que si podemos guardarlo para que cuando se ejecute el script se este ejecutando en nuestra IP de nuestro hosts donde tenemos ese script.sh malicioso con una Reverse Shell...

Info:

Se quedara pensando y si nos vamos a donde teniamos la escucha, veremos que nos hizo una shell con root perfectamente...

Por lo que ya seriamos root...

Last updated