BuscaLove

✍️ Autor: Prendelo 🔍 Dificultad: Fácil 📅 Fecha de creación: 31/05/2024

🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

ping -c 1 172.21.0.2

para verificar la conectividad de red.

A continuación, realizamos el comando:

nmap -sVC -p- -n --min-rate 5000 172.21.0.2

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

Como podemos observar durante el escaneo que el puerto 22 perteneciente al servicio SSH y el puerto 80 perteneciente al servicio HTTP están abiertos por lo que a continuación se indagará más.

🔎 EXPLORACIÓN

Se utiliza el comando:

sudo nmap -sCV -p22,80 -v 172.21.0.2

para que nos proporcione más información sobre esos puertos específicamente.

Seguimos indagando más sobre los puertos y ahora indagamos sobre el servicio HTTP. Se ingresó la dirección IP en el navegador lo que llevó a que la página web sea Apache2.

Ahora buscaremos directorios con la herramienta Gobuster a través de:

gobuster dir -u http://172.21.0.2/ -w /opt/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt -t 

Vemos que hay un directorio WordPress, por lo que indagaremos en él, aunque no encontraremos nada relevante en el código fuente. Hacemos un escaneo de los archivos que se encuentren en ese directorio con:

gobuster dir -u http://172.21.0.2/ -w /opt/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt -t 20 -x html,php,txt,js

Aquí solo sabemos que el archivo principal es index.php. Vamos a utilizar wfuzz para realizar un análisis de fuzzing y determinar si la página web es vulnerable a Local File Inclusion (LFI) con el comando:

wfuzz -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://172.21.0.2/wordpress/index.php?FUZZ=../../../../../../../etc/passwd --hc 404 --hl 40

La página web tiene una vulnerabilidad LFI que permite acceder a archivos locales del servidor. Al usar Path Traversal y escribir:

?love=../../../../../../etc/passwd

en la URL, puedes ver el contenido del archivo /etc/passwd, que contiene información sobre los usuarios del sistema.

Encontramos a los usuarios Rosa y Pedro por lo que mediante fuerza bruta intentaremos sacar la contraseña del SSH.

🚀 EXPLOTACIÓN

Con la información obtenida anteriormente, realizamos el comando:

hydra -l rosa -P /usr/share/wordlists/rockyou.txt 172.21.0.2 ssh -t 50

que utiliza la herramienta Hydra para realizar un ataque de fuerza bruta contra el servicio SSH de una máquina con la IP 172.21.0.2. Hemos probado con Pedro, pero con quien da respuesta es con el usuario rosa.

Al realizar el ataque de fuerza bruta, hemos descubierto la contraseña de rosa, sabiendo esto, nos conectamos a través de SSH al usuario con el comando:

ssh rosa@172.21.0.2

🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

whoami

aún no somos root, por lo que hacemos:

sudo -l

para ver si hay algo para explotar.

Dado que tenemos permisos para usar sudo con ls y cat, podemos explorar cualquier directorio del sistema y acceder a los archivos. Vamos a comenzar enumerando el directorio del usuario root para buscar archivos o configuraciones interesantes. Además, podemos leer el archivo /etc/shadow para obtener los hashes de las contraseñas de los usuarios y, si es necesario, intentar crackearlos utilizando una wordlist como rockyou.txt.

Encontramos un archivo llamado secret.txt y ahora mostraremos qué contiene con el comando:

sudo cat /root/secret.txt

El contenido se encuentra en formato hexadecimal por lo que tocará decodificarlo con esta página CyberChef.

Observamos que es una contraseña, por lo que intentamos loguear con el usuario Pedro. Al estar dentro y ejecutar:

whoami

aún no somos root, por lo que hacemos:

sudo -l

para ver si hay algo para explotar.

Podemos usar env para ejecutar una shell con permisos de root.

Last updated