Brain Vulnyx (Easy - Linux)

Escaneo de puertos

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

Info:

Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-09 05:19 EDT
Nmap scan report for 192.168.5.96
Host is up (0.00058s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 32:95:f9:20:44:d7:a1:d1:80:a8:d6:95:91:d5:1e:da (RSA)
|   256 07:e7:24:38:1d:64:f6:88:9a:71:23:79:b8:d8:e6:57 (ECDSA)
|_  256 58:a6:da:1e:0f:89:42:2b:ba:de:00:fc:71:78:3d:56 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
MAC Address: 08:00:27:05:BA:6C (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
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 7.24 seconds

Veremos puertos interesantes, pero entre ellos, el puerto 80 que suele alojar una pagina web, si entramos dentro veremos lo siguiente:

La línea runnable tasks: y columnas como task, PID, prio, wait-time, sum-exec, sum-sleep son típicas de /proc/sched_debug, por lo que puede ser interesante saber esto, ya que parece que la web nos quiere dar una pista, pero no veremos nada mas.

Vamos a realizar un poco de fuzzing.

Gobuster

Info:

No veremos nada interesante, pero si veremos un index.php que es en el que estamos, como no podemos hacer nada mas, vamos a probar a realizar un fuzzing con parametro de PHP a ver si alguno fuera vulnerable a un LFI.

FFUF

Info:

Veremos que ha funcionado, encontramos el parametro include como parametro vulnerable en el cual podemos leer archivos del sistema (LFI) local, por lo que vamos a realizar lo siguiente para probarlo.

Escalate user ben

Info:

Veremos que esta funcionando y ya identificamos 1 usuario llamado ben, pero si recordamos antes en la pagina estaba cargando un archivo llamado /proc/sched_debug, vamos a probar a intentar leerlo a ver si nos revela informacion importante o no.

Info:

De toda la info que nos suelta vemos interesante esta linea de aqui, por lo que vemos puede ser una posible contraseña del usuario ben por SSH.

SSH

Metemos como contraseña B3nP4zz...

Veremos que estaremos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Veremos que podemos ejecutar el binario wfuzz como el usuario root, vamos a ver el help de dicha herramienta a ver que podemos ver.

Si listamos los permisos de los .py que utiliza la herramienta wfuzz, ya que dicha herramienta cada parametro que tiene, lo tiene asociado con un sccript en python, veremos lo siguiente:

Info:

Veremos interesante una linea en concreto, en la cual tendremos todos los permisos para modificar lo que queramos en el script de python de un parametro de la herramienta.

Si investigamos a que parametro pertenece dicho script veremos que es al parametro -z range,<RANGOMINIMO>-<RANGOMAXIMO> por lo que vamos a modificar dicho script para meter lo siguiente:

Antes para borrarlo todo haremos esto:

range.py

Ahora si lo guardamos y ejecutamos la herramienta de esta forma invocando el parametro para que se ejecute el script de python...

Antes de ejecutarlo nos pondremos a la escucha:

Ahora si lo ejecutamos lo anterior y volvemos a donde tenemos la escucha, veremos lo siguiente:

Veremos que ha funcionado, por lo que sanitizaremos la shell.

Sanitización de shell (TTY)

Ahora que somos root, vamos a leer la flag de root.

root.txt

Last updated