Swamp 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-26 03:09 EDT
Nmap scan report for 192.168.5.89
Host is up (0.00099s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
| 256 65:bb:ae:ef:71:d4:b5:c5:8f:e7:ee:dc:0b:27:46:c2 (ECDSA)
|_ 256 ea:c8:da:c8:92:71:d8:8e:08:47:c0:66:e0:57:46:49 (ED25519)
53/tcp open domain ISC BIND 9.18.28-1~deb12u2 (Debian Linux)
| dns-nsid:
|_ bind.version: 9.18.28-1~deb12u2-Debian
80/tcp open http Apache httpd 2.4.62 ((Debian))
|_http-title: Did not follow redirect to http://swamp.nyx
|_http-server-header: Apache/2.4.62 (Debian)
MAC Address: 08:00:27:6E:84:6B (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 15.16 secondsVeremos varias cosas interesantes, entre ellas el puerto 80 y el puerto 53 (DNS), primero vamos a ver el puerto 80 a ver que vemos, entrando dentro del mismo veremos que nos intenta cargar un dominio llamado swamp.nyx, por lo que vamos a meterlo en el archivo hosts.
Una vez guardado, volveremos a entrar en el puerto 80 y nos cargara una pagina con una imagen simplemente sin nada mas, por lo que vamos a realizar un poco de fuzzing a ver que vemos.
DNS
Si realizamos un escaneo de DNS para ver que encontramos respecto al dominio veremos varios nombres que podrian servir para un subdominio, por lo que vamos a crear una lista con dichos subdominios.
Info:
Ahora vamos a realizar un fuzzing con dicha lista:
subdomains.txt
FFUF
Info:
Veremos que funciona todos, por lo que vamos añadirlos en el archivo hosts para entrar en cada uno de ellos a ver que vemos.
Lo guardamos y probamos a entrar en cada uno de ellos a ver que vemos interesante, si entramos en el subdominio llamado farfaraway.swamp.nyx veremos en el codigo fuente un script que en los demas no esta.
Escalate user shrek
Entrando dentro del codigo de JavaScript veremos un codigo ofuscado de tipo packet por lo que vamos a decodificarlo.
Ahora si lo decodificamos lo veremos de esta forma:
Veremos estas lineas interesantes:
Si decodificamos ese Base64 veremos esto:
Info:
Vamos a probar dichas credenciales por SSH a ver que vemos.
SSH
Metemos como contraseña putopesaoelasno...
Veremos que estaremos dentro, por lo que leeremos la flag del usuario.
user.txt
Escalate Privileges
Si listamos los permisos SUID que hay en el sistema veremos lo siguiente:
Info:
Veremos esta linea interesante:
Si listamos dicho archivo veremos lo siguiente:
Pero si a demas hacemos sudo -l veremos esto otro:
Podemos ejecutar el binario header_checker como el usuario root, por lo que podremos realizar lo siguiente:
Vamos a limpiar el binario de esta forma:
Ahora vamos a meter la siguiente informacion:
Lo guardamos y ejecutaremos de esta forma:
Info:
Vemos que con esto seremos root por lo que leeremos la flag de root.
root.txt
Last updated