Introduction

Lookup ofrece un tesoro de oportunidades de aprendizaje para aspirantes a hackers. Esta fascinante máquina muestra diversas vulnerabilidades reales, desde debilidades en aplicaciones web hasta técnicas de escalada de privilegios. Al explorar y explotar estas vulnerabilidades, los hackers pueden perfeccionar sus habilidades y adquirir una valiosa experiencia en hacking ético. Gracias a "Lookup", los hackers pueden dominar el arte del reconocimiento, el escaneo y la enumeración para descubrir servicios y subdominios ocultos. Aprenderán a explotar vulnerabilidades en aplicaciones web, como la inyección de comandos, y comprenderán la importancia de las prácticas de codificación segura. La máquina también desafía a los hackers a automatizar tareas, demostrando el poder del scripting en las pruebas de penetración.
Finding the flags
- Analizamos la dirección que nos dan.

- Hacemos un poco más de enumeración.

- Y un poco más de reconocimiento.

- Vamos a ver la página web,
/login.phpestá vacía y/index.phpes la misma que sin poner nada.
- Vamos a abrir Burp Suite y a ver como se ve una petición fallida.

- Probamos a hacer fuerza bruta.
Nada. - Vamos a enumerar más.
Seguimos sin nada. - Si probamos con el usuario
admin, vemos que la respuesta es diferente.
- Vamos a lanzar el ataque para el usuario
adminfiltrando aquellas respuestas en las que aparezcaWrong password.
- Si intentamos loguearnos con estas credenciales nos dice que
Wrong username or password.
- Volvemos a Burp Suite. Vamos a recapitular lo que tenemos.
- Si metemos un usuario y una contraseña equivocada:
Wrong username or password. - Si metemos un usuario existente y una contraseña equivocada:
Wrong password. - Si metemos un usuario existente y una contraseña que en principio pensábamos acertada, nos sale:
Wrong username or password. Basándonos en esto podemos deducir que la contraseña es correcta, pero no para el usuarioadmin.
- Si metemos un usuario y una contraseña equivocada:
- Vamos a hacer fuerza bruta contra el usuario.
Grande jose. - Nos logueamos con
jose:password123. Esto nos lleva afiles.lookup.thmlo tenemos que meter en/etc/hosts.
Parece que hay un botón de subida de archivos así que vamos a intentar subir una reverse shell. - Intentamos subir la shell.
Salta error, vamos a cambiar la extensión a .txt. - Subimos
reverseshell.txt.
Tampoco va. - Vamos a probar con Burp Suite a ver qué vemos.
Intentando subir un archivo JS me lo deniega también. - Vamos a realizar más investigación en la página (sí, más enumeración).
Encontramos un botón que nos deja ver el software de gestión junto a la versión: elFinder 2.1.47. - Buscamos en una base de datos de exploits.

- El método encontrado no soporta autentificación por lo que vamos a ver si podemos acceder al endpoint de subida sin autentificarnos.
Efectivamente sí se puede. - El código de Exploit-DB no ha funcionado por lo que buscamos en GitHub.

- Nos ponemos en escucha.

- Lo ejecutamos como dice.

- Obtenemos la shell.

- Después de estabilizar la shell y buscar un poco nos encontramos con el archivo que contiene la flag de user.
Pero no podemos leerla con nuestros permisos actuales, ni el archivo .passwordstampoco. - Después de hacer
sudo -ly ver que no podemos hacer nada, probamos a buscar archivos SUID.
- Tanto
pkexeccomopwmllaman mi atención. Comprobaremos la versión de pkexec.
Es la 0.105, buscaremos un exploit. - Hemos encontrado un exploit.

- Seguimos las instrucciones y no funciona de ninguna manera.

- Vamos a investigar el otro SUID sospechoso:
/usr/sbin/pwm.
Parece que ejecuta idy luego lo usa para meterlo en una ruta. Si consiguiéramos que extrajesethinkpodríamos leer el archivo.passwords. - Comprobamos el
$PATH.
Parece que podemos modificarlo. Ahora sólo tenemos que hacer un script y guardarlo en /tmp/idy se ejecutará en lugar de el verdaderoid. - Creamos el script y le damos permisos de ejecución con
chmod +x /tmp/id.
- Volvemos a ejecutar
/user/sbin/pwm.
Obtenemos lo que parece una lista de contraseñas. - Vamos a probar fuerza bruta con dicha lista contra el usuario
thinkpor ssh.
- Iniciamos sesión con el usuario
thinky leemos la flag.
- Buscando maneras de escalar privilegios nos encontramos con
/usr/bin/look.
- Si miramos en GTFOBins:
BINGO! - Seguimos los pasos.
En este caso se trata de un SHA512, lo sabemos gracias al comienzo: $6$. Además vemos que el formato essalt.pass. - Miramos en el manual de
hashcat:
- Vamos a usar
hashcatconrockyou.txtpara obtener la contraseña.
No hemos encontrado la contraseña así. Es por eso que pensaremos en otra manera. - Si podemos leer cualquier archivo como sudo, en realidad también podemos leer la clave ssh de root y usarla desde nuestra propia máquina para conectarnos como root. Empezamos leyéndola.

- La copiamos en nuestra máquina y la usamos para iniciar sesión.
MUY IMPORTANTE CAMBIAR LOS PERMISOS A 600(rw-------). - Leemos la flag.

