Notas de Luis

Hacemos el escaneo con nmap:

Hay una herramienta llamada rpcclient que nos permite enumerar usuarios existentes dentro de la máquina víctima si vemos que tiene abierto el puerto 445:

rpcclient -U "" -N 192.168.0.54
querydispinfo and enumdomusers

También añadimos el posible dominio de discovery.nyx:

Y vemos que funciona:

Ahora que tenemos dos usuarios, probamos en hacer un ataque de fuerza bruta con estos usuarios dentro de SMB en busca de alguna contraseña con hydra o metasploit:

Una vez tenemos las credenciales, podemos acceder a los recursos compartidos con smbmap de forma autenticada:

smbmap -u "ken" -p "kenken" -H 192.168.0.54

Si accedemos el recurso de ken, donde tenemos permisos de escritura y lectura, nos encontramos con un index.html:

smbmap -u "ken" -p "kenken" -H 192.168.0.54 -r ken

Y suponemos que este index.html está conectado con el navegador:

En este punto, podemos probar en subir una webshell pero no conecta, y si hacemos fuzzing por este puerto 80 tampoco encontramos nada, por lo que pasamos a enumerar el puerto 81, que es igual al 80:

Y vemos el directorio under_construction:

Pero no tenemos acceso:

Una vez en este punto, probamos en realizar distintas peticiones HTTP y con curl mediante el método POST podemos encontrar un dominio nuevo:

curl -X POST "http://discover.nyx:81/under_construction/"

Lo añadimos al /etc/hosts:

Y ahora con smbclient subimos una weverse shell en php para intentar probar si el subdominio de todiscover.nyx interpreta la webshell:

smbclient //192.168.0.54/ken -U ken%kenken -c "put pwned.php"

Y con smbmap comprobamos que se ha subido:

Pero vemos que no:

http://todiscover.nyx/pwned.php

Pero podemos probar en hacer una búqeda de subdominios dentro del todiscover y apuntando contra el archivo que hemos subido anteriormente:

wfuzz -c --hc=404 --hl=7 -X POST -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-110000.txt -H "Host: FUZZ.todiscover.nyx" -u "http://todiscover.nyx/pwned.php"

Y al tener este nuevo subdominio de smbc, podemos probar si este dominio interpreta nuestro archivo malicioso en php:

http://smbc.todiscover.nyx/pwned.php

Accedemos desde el navegador:

Y recibimos la reverse shell:

Y al ejecutar sudo -l nos encontramos con este binario:

Investigamos el binario de setarch en gtfobins y vemos como utilizarlo para pivotar al usuario takeshi en este caso:

sudo -u takeshi /usr/bin/setarch $(arch) /bin/sh

Y somos el usuario takeshi:

Y ahora si ejecutamos otra vez sudo -l nos encontramos con que podemos ejecutar pydoc3 como sudo:

Al ejecutarlo vemos estas instrucciones:

Si levantamos un servidor HTTP con este binario, vemos que se levanta pero en local:

Por tanto tenemos que traernos este puerto a la máquina atacante con chisel, por lo que lo descargamos:

Y lo compartimos con la máquina víctima:

Una vez hecho esto, ejecutamos chisel en la máquina atacante para estar a la escucha:

chisel server --reverse -p 8888

Y ahora en la máquina víctima, ejecutamos primero el comando para levantar el servicio y después aplicamos un operador lógico && para hacer el port forwarding con chisel:

computing/hacking/ctf/vulnyx/maquina_discover.txt · Última modificación: por 127.0.0.1