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