Ready 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-08-11 03:14 EDT
Nmap scan report for 192.168.5.75
Host is up (0.00071s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey:
| 3072 51:f9:f5:59:cd:45:4e:d1:2c:06:41:3b:a6:7a:91:19 (RSA)
| 256 5c:9f:60:b7:c5:50:fc:01:fa:37:7c:dc:16:54:87:3b (ECDSA)
|_ 256 04:da:68:25:69:d6:2a:25:e2:5b:e2:99:36:36:d7:48 (ED25519)
80/tcp open http Apache httpd 2.4.54 ((Debian))
|_http-title: Apache2 Test Debian Default Page: It works
|_http-server-header: Apache/2.4.54 (Debian)
6379/tcp open redis Redis key-value store 6.0.16
8080/tcp open http Apache httpd 2.4.54 ((Debian))
|_http-server-header: Apache/2.4.54 (Debian)
|_http-title: Apache2 Test Debian Default Page: It works
MAC Address: 08:00:27:82:6D:B2 (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.61 secondsVeremos varios puertos interesantes, pero entre ellos dos los cuales suelen alojas paginas web que serian el puerto 80 y el 8080 vamos a ver que contiene cada uno de ellos.
Si entramos dentro del puerto 80 veremos una pagina de apache normal por defecto, pero si entramos en la del 8080 veremos exactamente lo mismo, no veremos nada interesante fuera de lo normal, por lo que vamos a realizar un poco de fuzzing.
Si lanzamos un gobuster no veremos gran cosa, no nos va a detectar mas subdirectorios web ni nada parecido, por lo que solo nos queda el puerto 6379 vamos a ver que hace y como funciona.
Redis (6379)
Qué es Redis
Es una base de datos NoSQL que guarda datos en memoria (y opcionalmente los persiste en disco).
No tiene “tablas” como MySQL, sino claves (
keys) y valores (values), que pueden ser strings, listas, hashes, sets, etc.Se administra normalmente vía CLI (
redis-cli) o con librerías en varios lenguajes.
Por lo que vemos podemos acceder al mismo de forma anonima, vamos a probar si pudieramos conectarnos de forma anonima.
Info:
Veremos que nos hemos conectado de forma exitosa, realizamos un PING para ver que funciona y efectivamente estamos dentro, dentro del mismo podremos modificar o subir archivos, lo que se nos ocurre que a lo mejor podremos subir una webshell a la ruta de los archivos web para realizarnos una reverse shell desde la web.
Escalate user ben
Una vez echo esto, vamos a probar metiendonos en la pagina web de esta forma:
Info:
Vemos que esta funcionando de forma correcta, por lo que vamos a realizar una reverse shell.
Ahora antes de enviarlo nos pondremos a la escucha:
Si enviamos lo anterior y volvemos a donde tenemos la escucha veremos lo siguiente:
Vemos que hemos accedido de forma correcta con el usuario ben por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Ahora que ya tenemos una shell mas limpia vamos a leer la flag del usuario.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario bash como el usuario peter, simplemente con este comando podremos ser dicho usuario.
Info:
Pero no nos interesa nada este usuario, ya que no puede hacer nada, volviendo al usuario ben si hacemos id veremos el siguiente grupo:
Vemos que pertenecemos al grupo disk podremos usar un comando dentro de debugfs, para leer el archivo directamente desde el sistema de archivos ext, sin pasar por la capa del sistema operativo o permisos tradicionales.
Con esto lo que podemos hacer es poder leer cualquier archivo, vamos a probar si root tuviera alguna clave privada de esta forma:
Info:
Ya sabemos que donde tenemos que entrar es en /dev/sda1, por lo que haremos esto:
Info:
Dentro del mismo vamos a ejecutar el siguiente comando simple:
Info:
Vemos que lo hemos conseguido, pero tambien veremos que esta encriptado la clave, por lo que vamos a ver si conseguimos decodificarla con estos comandos desde nuestro kali.
id_rsa
Info:
Veremos que hemos conseguido la contraseña del id_rsa por lo que vamos a utilizarla conectandonos con el usuario root mediante SSH.
Metemos como contraseña shelly...
Info:
Con esto veremos que estaremos dentro por lo que leeremos la flag del usuario root.
Veremos que la propia flag esta comprimida, por lo que vamos a pasarnosla a la maquina kali mediante un servidor de python3 (python3 -m http.server).
Una vez que este en nuestro host si intentamos descomprimirlo nos pedira una contraseña, por lo que vamos a crackearla de esta forma:
Info:
Veremos que lo hemos conseguido, por lo que vamos a descomprimirlo de una vez con la contraseña obtenida.
Metemos como contraseña already y veremos que lo descomprimimos de forma correcta.
root.txt
Last updated