Publicado: 13 de Mayo de 2025
Autor: José Miguel Romero aKa x3m1SecDificultad: ⭐ Easy
📝 Descripción
Sunday es una máquina basada en Oracle Solaris que pone a prueba tus habilidades de enumeración de servicios poco comunes como Finger. La escalada implica el descubrimiento de credenciales a través de archivos de backup y el abuso de privilegios sudo. La máquina requiere conocimientos sobre enumeración básica, crackeo de contraseñas y vectores de elevación de privilegios en entornos Unix.
🚀 Metodología
flowchart TD
A[Reconocimiento] --> B[Escaneo de puertos]
B --> C{Servicios encontrados}
C -->|Puerto 79| D[Enumeración Finger]
C -->|Puerto 6787| E[Web Service]
C -->|Puerto 22022| F[SSH]
D --> G[Encontrar usuarios válidos]
G --> H[Intento de acceso SSH]
H --> I[Acceso como sunny:Sunday]
I --> J[Enumeración local]
J --> K[Archivos shadow.backup]
K --> L[Crackeo de hash sammy]
L --> M[Acceso como sammy:cooldude!]
M --> N[Verificar privilegios sudo]
N --> O[Abuso de sudo wget]
O --> P[ROOT!]
style P fill:#f96,stroke:#333,stroke-width:2px
🔭 Reconocimiento
Ping para verificación en base a TTL
❯ ping -c2 10.10.10.76
PING 10.10.10.76 (10.10.10.76) 56(84) bytes of data.
64 bytes from 10.10.10.76: icmp_seq=1 ttl=254 time=43.7 ms
64 bytes from 10.10.10.76: icmp_seq=2 ttl=254 time=43.1 ms
--- 10.10.10.76 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 43.121/43.421/43.721/0.300 ms
💡 Nota: El TTL cercano a 64 sugiere que probablemente sea una máquina Linux.
❯ nmap -sC -sV -p$ports 10.10.10.276 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-13 18:49 CEST
Nmap scan report for 10.10.10.76
Host is up (0.044s latency).
PORT STATE SERVICE VERSION
79/tcp open finger?
| fingerprint-strings:
| GenericLines:
| No one logged on
| GetRequest:
| Login Name TTY Idle When Where
| HTTP/1.0 ???
| HTTPOptions:
| Login Name TTY Idle When Where
| HTTP/1.0 ???
| OPTIONS ???
| Help:
| Login Name TTY Idle When Where
| HELP ???
| RTSPRequest:
| Login Name TTY Idle When Where
| OPTIONS ???
| RTSP/1.0 ???
| SSLSessionReq, TerminalServerCookie:
|_ Login Name TTY Idle When Where
|_finger: No one logged on\x0D
111/tcp open rpcbind 2-4 (RPC #100000)
515/tcp open printer
6787/tcp open http Apache httpd
|_http-server-header: Apache
|_http-title: 400 Bad Request
22022/tcp open ssh OpenSSH 8.4 (protocol 2.0)
| ssh-hostkey:
| 2048 aa:00:94:32:18:60:a4:93:3b:87:a4:b6:f8:02:68:0e (RSA)
|_ 256 da:2a:6c:fa:6b:b1:ea:16:1d:a6:54:a1:0b:2b:ee:48 (ED25519)
🌐 Enumeración Web
6787 HTTP (Apache )
Al al servicio de este puerto un mensaje nos indica que debemos hacerlo mediante https, así que somo redirigidos a:
https://10.10.10.76:6787/solaris/login/
Intentamos acceder con las credenciales por defecto jack:jack y root:solaris sin éxito.
Poco más podemos hacer aquí de momento
79 FINGER
Investigamos un poco sobre cómo enumerar este servicio y encontramos un script de pentestmonkey en perl:
Podríamos usar fuerza bruta con hydra con cada uno de estos usuarios y el diccionaro rockyou contra el puerto ssh aunque primero podemos probar con algunas credenciales comunes como admin, root, sunday, Sunday, etc:
Finalmente logramos iniciar sesión vía ssh en el puerto 22022 con sunny:Sunday
ssh sunny@10.10.10.76 -p22022
The authenticity of host '[10.10.10.76]:22022 ([10.10.10.76]:22022)' can't be established.
ED25519 key fingerprint is SHA256:t3OPHhtGi4xT7FTt3pgi5hSIsfljwBsZAUOPVy8QyXc.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[10.10.10.76]:22022' (ED25519) to the list of known hosts.
The latest at Tue May 13 18:18 2025.
Last login: Wed Apr 13 15:35:50 2022 from 10.10.14.13
Oracle Solaris 11.4.42.111.0 Assembled December 2021
sunny@sunday:~$
Sin embargo la primera flag está en el usuario sammy y de momento no tenemos acceso:
sunny@sunday:/home/sammy$ ls -la
total 10
drwxr-xr-x 2 root root 4 May 6 07:36 .
dr-xr-xr-x 4 root root 4 Dec 19 2021 ..
-rw------- 1 root root 123 May 6 07:36 .bash_history
-rw-r----- 1 sammy root 33 May 13 17:51 user.txt
sunny@sunday:/home/sammy$ cat user.txt
cat: cannot open user.txt: Permission denied
Verficamos posibles binarios que sunny pueda ejecutar como root
sunny@sunday:/var$ sudo -l
User sunny may run the following commands on sunday:
(root) NOPASSWD: /root/troll
Aunque no parece que vaya a llevarnos a buen puerto.
Continuamos enumerando y damos con algo que podría ser interesante:
sunny@sunday:/backup$ ls -la
total 28
drwxr-xr-x 2 root root 4 Dec 19 2021 .
drwxr-xr-x 25 root sys 28 May 13 17:50 ..
-rw-r--r-- 1 root root 319 Dec 19 2021 agent22.backup
-rw-r--r-- 1 root root 319 Dec 19 2021 shadow.backup
Obtenemos la contraseña del usuario sammy:cooldude! y nos autenticamos como este usuario en el host remoto:
sunny@sunday:/backup$ su sammy
Password:
Warning: 2 failed authentication attempts since last successful authentication. The latest at Tue May 13 18:23 2025.
sammy@sunday:/backup$ whoami
sammy
Ahora sí, obtenemos la primera flag:
sammy@sunday:/backup$ cd /home/sammy
sammy@sunday:/home/sammy$ ls -la
total 10
drwxr-xr-x 2 root root 4 May 6 07:36 .
dr-xr-xr-x 4 root root 4 Dec 19 2021 ..
-rw------- 1 root root 123 May 6 07:36 .bash_history
-rw-r----- 1 sammy root 33 May 13 17:51 user.txt
sammy@sunday:/home/sammy$ cat user.txt
Ahora verificamos si sammy puede ejecutar algún binario como root:
sammy@sunday:/home/sammy$ sudo -l
User sammy may run the following commands on sunday:
(root) NOPASSWD: /usr/bin/wget
Buscamos información de este binario en GTfobins y lo usamos para escalar a root y obtener la flag: