Verdejo - DockerLabs
| OS | Dificultad | Creator |
|---|---|---|
| Linux | Fácil | TheHackersLabs |
Escaneo y Reconocimiento de puertos
Vamos a iniciar nuestro reconocimiento con un rápido escaneo de nmap.
nmap -p- --open -sS -sC -sV --min-rate=5000 -vvv -n -Pn -oN escaneo 172.17.0.2
-p-- Búsqueda de puertos abiertos--open- Enumera los puertos abiertos-sS- Es un modo de escaneo rápido-sC-- Que use un conjunto de scripts de reconocimiento-sV- Que encuentre la version del servicio abirto--min-rate=5000- Hace que el reconocimiento aun vaya mas rapido mandando no menos de 5000 paquetes-n- No hace resolución DNS-Pn- No hace ping-vvv- Muestra en pantalla a medida que encuentra puertos (Verbose)
Vemos que esta abierto el puerto 22 SSH, el puerto 80 HTTP y el puerto 8089
Enumeración Web
Si accedemos a la pagina web por el puerto 80 vemos lo siguiente, es la página por default de Apache2.
Usamos Gobuster para hacer un reconocimiento web y ver que directorios podemos encontrar en dicho sitio.
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php
gobuster dir- Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.-u http://172.20.10.5/Especifica la URL objetivo que deseas escanear en busca de directorios.-wEspecifica que diccionario queremos usar-xPara indicar que tipo de extension queremos que nos encuentre
Gobuster no ha encontrado nada
Puerto 8089
Vamos acceder al puerto 8089 a ver que hay alojado ahí.
Nos encontramos un cuadro donde podemos insertar texto y un botón, vamos a investigar.
Vamos a intentar ver si la web es vulnerable a un HTML Injection
Efectivamente, ahora vamos a probar con una inyección SSTI para ver si es vulnerable.
Vamos a probar con la siguiente instrucción para ver si es vulnerable
Perfecto, vemos que si que es vulnerable a SSTI ahora vamos a intentar enumerar el /etc/passwd para ver posibles usuarios.
Vemos únicamente al usuario verde y cuando hemos ejecutado el comando id era el usuario verde que ejecutaba dicho comando entonces lo que haremos sera mandarnos una reverse shell a nuestro equipo para conectarnos a la maquina.
Intrusión
Vamos a ejecutar este comando en el campo donde podemos escribir, esto nos mandara una reverse shell a nuestro ordenador que tendremos que estar por escucha con Netcat.
Escalada de privilegios
Ahora vamos a buscar alguna forma para poder escalar privilegios al usuario ROOT.
Si hacemos el comando sudo -l vemos que podemos ejecutar el binario base64 como root.
En GTFobins vemos que podemos usar el base64 para descodificar algún tipo de archivo.
Vamos a buscar por el sistema a ver si encontramos algo interesante.
Nos damos cuenta que con el binario Base64, podemos hacer bypass y ver archivos del sistema vamos a ver un ejemplo.
Podríamos hacer una copia de el /passwd y del /shadow una vez esto podríamos hacer el parámetro unshadow y luego con jhon desencriptar la contraseña, yo lo he probado y no me a funcionado así que al tener permisos de lectura del sistema vamos a ver si podemos leer el id_rsa del sistema del usuario ROOT.
Si que lo podemos leer vamos a copiarnos esto a nuestro equipo y vamos a desencriptarlo.
Para hacer esto lo que haremos sera, por una parte crear un archivo en nuestra maquina atacante llamada id_rsa y pegaremos el contenido que hemos encontrado en la maquina victima.
Una vez echo esto haremos el siguiente comando:
ssh2john [archivo id_rsa] > hash
Esto nos generara un archivo con nombre hash, por ultimo haremos el siguiente comando para craquear la contraseña.
john --wordlist=/usr/share/wordlists/rockyou.txt [hash]
Tenemos la contraseña de ROOT vamos a intentar conectarnos vía SSH con el usuario ROOT a través del id_rsa, pero antes hemos de cambiar el permiso del id_rsa esto lo hacemos de la siguiente forma.
chmod 600 id_rsa
Ahora vamos a conectarnos con el siguiente comando
ssh -i id_rsa root@172.17.0.2
Ya somos ROOT