Valentine - HackTheBox
Reconocimiento
Como de costumbre comienzo con el reconocimiento, pero antes de lanzar la utilidad nmap,lanzo el script Whichsystem.py que me sirve para identificar el sistema operativo de la máquina a la que me voy a enfrentar.
Esta herramienta creada por s4vitar se basa en el ttl (time to live) para identificar si es una máquina que corre un sistema operativo Linux o Windows.
TTL | Sistema Operativo |
64 | Linux |
128 | Windows |
Una vez que ya se que me enfrento a una máquina Linux procedo a lanzar un escaneo simple de puertos con el fin de detectar los puertos abiertos en la máquina vÃctima.
Este escaneo de puertos lo realizo con la herramienta nmap.
Y como se puede ver solo hay dos puertos abiertos, el puerto 80, el puerto 443 y el puerto 22.
Pero necesito algo más de información acerca de estos puertos, por lo que lanzo un escaneo un poco más avanzado a estos puertos abiertos encontrados.
Encuentro el host
valentine.htb
que añado al archivo/etc/hosts
Puerto 443🔢
Accedo al servidor web para ver que tenemos.
A simple vista no hay nada más que una imagen, por lo que decido fuzzear a ver que encuentro.
Existen varias rutas, en la ruta dev encontré un texto codificado en hexadecimal que al decodificarlo se convertÃa en una clave rsa privada, pero al intentar usarla se me pedÃa la passphrase de la clave rsa.
Por lo que sigo buscando por otro lado y al quedarme sin ideas ni ningún hilo del que tirar, decidà mirar la imagen, a ver si hay algo oculto en ella.
Lo primero que hice es una búsqueda inversa usando la imagen.
Veo que se repite mucho la palabra heartbleed, que es el nombre de la imagen, por lo que decidà ponerme a buscar algo de información al respecto, encontrando lo siguiente:
Explotación💣
Es una vulnerabilidad existente en OpenSSL, por lo que buscando encuentro un módulo de metasploit, asà que lo pruebo.
Al ejecutarlo me arroja cierta información pero un poco más abajo me filtra información un poco más valiosa, entre la cual encuentro una cadena que podrÃa estar codificada en base64.
Decodifico la cadena y resulta ser una contraseña.
Ahora vuelvo hacia atrás, cuando encontré aquella clave privada.
Paso la cadena de caracteres de hexadecimal a texto y ahà tenemos la clave.
Pero aún existe un problema, la clave está encriptada y debemos desencriptarla para poder usarla con la contraseña que hemos encontrado.
Asà que me copio la clave encriptada y la meto un archivo para proceder a desencriptarla.
Y como vemos ya está desencriptada y puedo usarla para conectarme a través de ssh con el usuario hype.
Escalada de Privilegios💊
Ahora como siempre toca escalar privilegios, y antes de nada voy a mirar el archivo /etc/passw en busca de algún otro usuario al que deba migrarme antes de escalar a root.
Pero en esta máquina solo tenemos el usuario hype y root, por lo que he de migrarme directamente al usuario root.
Buscando en el directorio de inicio del usuario hype veo que puedo leer el archivo .bash_history para ver el historial de comandos ejecutados, por lo que voy a ver que hay.
Antes de nada he de añadir que también puedo ver un archivo de configuración de tmux, por lo que podrÃa ser una pista también y en caso de poder ejecutar tmux podrÃamos intentar algo.
Y como se puede ver, se ha ejecutado recientemente el comando tmux -S /.devs/dev_sess
que sirve para hacer un attach hacia una sesión ya creada.
Por lo que decido replicar el mismo comando en la máquina para ver que pasa...
Pero me arroja un error, aunque es fácil de solucionar... usando el comando export TERM=xterm
Y vuelvo a lanzar el comando
Y ya soy root y puedo leer las flag de user y root.
Subscribe to my newsletter
Read articles from elc4br4 directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
elc4br4
elc4br4
Cybersecurity Student