Sun - Vulnyx Machine
Resolución de la maquina Sun de Vulnyx
Holaaa, bienvenido. ¿Cómo se encuentra? ¿Le puedo ofrecer un café y un CTF?

Pero antes... Gracias al creador de la maquina d4t4s3c, por hacer esto posible y a la comunidad de Vulnyx 🙂
Descripción de la maquina.
Sistema Operativo | Linux 🐧 |
Dificultad | Fácil |
Lanzamiento | 1/04/2024 |
Creador | |
Primer Usuario | |
Primer Root |
Enumeración
Realizamos un escaneo con nmap

Okey... Vamos por el puerto 80.

Hacemos un fuzzing con algunas extensiones para los archivos.

Pero no tenemos nada, también contamos con una web en el puerto 8080.

Pero tenemos lo mismo... Pero quizás tenga cosas bajo este directorio, vamos aplicar un fuzzing.

Pero no obtenemos nada... Vamos con el servicio Samba, podemos listar los recursos compartido, pero, no tenemos ningún permiso sobre estos.

Vamos a intentar enumerar algunos usuarios de Samba con enum4linux
enum4linux -a 192.168.1.74

Y en efecto tenemos un usuario... ¿Señor fuerza bruta? vamos a usar la herramienta netExec (sucesor de crackmapexec)
nxc smb 192.168.1.74 -u punt4n0 -p /usr/share/wordlists/seclists/Passwords/xato-net-10-million-passwords-100000.txt

Ajaaa, ya tenemos unas credenciales,, vamos a ver los directorios del Samba.

Vamos a acceder a la carpeta punt4n0

Mmmm, al parecer tenemos los archivos que se muestran en la web, vamos a subir un archivo de prueba.
echo "hola" > hola.txt

Ahora vamos a verificar en donde se ha subido...

Perfecto lo tenemos bajo el puerto 8080, ahora podemos subir un archivo que nos permita ejecutar comandos. ¿Pero, que lenguaje estará interpretando la web?
whatweb http://192.168.1.74:8080

ASP.NET, bueno, vamos a buscar un archivo que nos devuelva una Shell o una WebShell... Y aquí lo tenemos, una Webshell
Dentro del archivo solo molificamos las variables FileName y Arguments, ya que por defecto este script esta adaptado para ser ejecutado en un Windows.

Guardamos y subimos.


¿Una shell reversa, no?

Pero, sin respuesta...

Vale, vamos a enumerar desde la webshell 😑

Tenemos la carpeta .ssh y un archivo con un nombre interesante.


Bien, tenemos una llave privada, perooo, ese ENCRYPTED no se mira del todo bien. Pasemos con el archivo .remember_password no valla ser que sea la password de la clave privada 🤨


Afirmativo jefe, si lo era...

Escalada de privilegios
Enumerando el sistema, me tope con esto en /opt

Tenemos permisos de escritura, así que, se puede dar el caso de que root, este ejecutando el script periódicamente.
Lo podemos saber con pspy, así que vamos a descargarlo.


Vamos a enviar el binario por ssh, copie la llave id_rsa, tome la llave y la coloque en mi carpeta /home/user/.ssh/id_rsa
Si usted cuenta con una llave privada, muévala temporalmente para este ejercicio.
mv /home/user/.ssh/id_rsa ~/mi_llave_a_salvo


Ahí lo tenemos.

En efecto, lo ejecuta cada cierto tiempo, bien vamos a ver que contiene el archivo.

Al parecer el comando id esta siendo ejecutado... Vamos a remplazarlo por algo interesante.
chmod +s /bin/bash


Excelenteee, hasta aquí mi reporte. ¡Nos vemos luego joven informático!

Referencias

