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:




























