# Optimum

<table data-header-hidden data-full-width="true"><thead><tr><th width="175.99993896484375" align="center"></th><th width="227.60003662109375" align="center" valign="middle"></th></tr></thead><tbody><tr><td align="center"><strong>Platform</strong></td><td align="center" valign="middle">HackTheBox</td></tr><tr><td align="center"><strong>O.S</strong></td><td align="center" valign="middle"><mark style="color:blue;">Windows</mark></td></tr><tr><td align="center"><strong>Level</strong></td><td align="center" valign="middle"><mark style="color:green;">Easy</mark></td></tr><tr><td align="center"><strong>Skills</strong></td><td align="center" valign="middle"><p>Metasploit</p><p>Web Application</p><p>Windows Basics</p></td></tr></tbody></table>

## **Fase 1: Reconocimiento**

Para empezar vamos a obtener información sobre el sistema operativo; protocolos y puertos abiertos que pueda tener la máquina objetivo.

En mi caso recomiendo usar **nmap**, ya que es una herramienta bastante completa y que nos permite usar opciones bastante interesantes y avanzadas.

```yang
sudo nmap -sS --min-rate 5000 -p- --open -n -Pn -v 10.10.10.8 -oN target
```

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FF1xB6UxYGxdYawcYmFNk%2Fi1.png?alt=media&#x26;token=98744ebf-69a4-499c-86a0-ff4cc4c71c45" alt=""><figcaption></figcaption></figure></div>

Perfecto. Observamos que el puerto **TCP 80** está abierto, asociado con el protocolo HTTP. Antes de acceder al sitio web, realizaremos un escaneo más detallado de este puerto. Esta acción puede proporcionarnos información valiosa, como versiones de software, tecnologías empleadas en el servidor y otros detalles relevantes para una auditoría exhaustiva.

```yang
sudo nmap -sCV -p80 10.10.10.8 -oN ports
```

<figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FpVIXhmhYZvG9ZQoLAXH7%2Fi1.png?alt=media&#x26;token=563a80e8-8070-4235-bdaa-dfa8a26171a0" alt=""><figcaption></figcaption></figure>

Podemos observar que se encuentra corriendo **HttpFileServer versión 2.3**, lo cual es información valiosa a la hora de explotar un servicio web, ya que se nos ha proporcionado la versión del servicio.

Luego de toquetear un poco la web mediante el navegador me he dado cuenta de que no había nada interesante más allá de lo que nos ha mostrado ya nuestro segundo escaneo con nmap.

Lo primero que haré será buscar en internet información sobre el servicio y su versión, mientras intento identificar alguna vulnerabilidad pública asociada.

Parece que este servicio es vulnerable a ejecución remota de comandos, una falla crítica que, si se explota correctamente, podría comprometer por completo el sistema.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FtJ5mnTWgCB9UR9hPyunm%2Fi2.png?alt=media&#x26;token=63ee753c-4b8c-4ed8-90de-4658550a1c9a" alt=""><figcaption></figcaption></figure></div>

## **Fase 2: Explotación**

Antes de probar cualquier exploit público de internet, mi recomendación personal es usar herramientas conocidas como Metasploit para ver si hay suerte y así nos evitamos riesgos de descargar exploits que quizás, para nuestro nivel, aún no entendemos del todo bien y que podrían comprometer nuestro sistema.

Bingo!

Al parecer existe un exploit asociado al servicio y que coincide la fecha con la CVE encontrada en internet. Vamos a comprobarlo!

<figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FSbYmV30ekqQsfBF71AfJ%2Fi3.png?alt=media&#x26;token=4b3688d6-7212-4b2d-88e3-6a1f1c61bc88" alt=""><figcaption></figcaption></figure>

Configuraciones necesarias del exploit:

* LPORT
* LHOST
* RHOSTS

Probamos suerte y...

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FRINNfoLHqd0NwKGnxRL3%2Fi4.png?alt=media&#x26;token=2ffd239e-b760-4bad-a01f-a8a7f50f94e1" alt=""><figcaption></figcaption></figure></div>

Hemos obtenido un Meterpreter con el usuario de sistema **Kostas** y podemos ver la flag del user!

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FD8F35tI3sfNlSTNvmsUW%2Fi5.png?alt=media&#x26;token=abaa5ed8-a71a-4327-bafc-59652858d563" alt=""><figcaption></figcaption></figure></div>

## **Fase 3: Escalada de privilegios**

Una vez dentro de la máquina con un usuario no privilegiado, revisé el script **hfs.exe** ubicado en el directorio home del usuario. También verifiqué los privilegios asociados a mi usuario, **kostas**, entre otras configuraciones, pero no encontré nada de valor por el momento.

Permisos irrelevantes...

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2F7u7kCaJtv1Kdc2WQjcF3%2F12.png?alt=media&#x26;token=265fc623-40ff-40ad-9939-cd7a40b53acd" alt=""><figcaption></figcaption></figure></div>

Análisis básico del contenido del script en mi máquina Kali sin ver nada en especial que pudiera aportar...

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2Ft74GY84z3SMgnfEsZnuK%2Fimage.png?alt=media&#x26;token=d365eb20-552b-4556-adfe-ac4c0f954347" alt=""><figcaption></figcaption></figure></div>

Decido entonces recurrir a un script muy conocido en la comunidad para la escalada de privilegios, PEASS. Para utilizarlo, vamos a su página oficial y descargamos el script para sistemas Windows <kbd><mark style="color:blue;">(WinPEASS)<mark style="color:blue;"></kbd>

{% embed url="https://github.com/peass-ng/PEASS-ng/releases/tag/20250124-6ec1269f" fullWidth="false" %}

Y procedemos a pasarlo a la máquina objetivo. En mi caso he decidido transferirlo mediante una carpeta compartida en un servidor SMB en red, el cual Impacket me permite crear de forma sencilla.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FdpPvKdgppdmJ4EusgaZd%2F22.png?alt=media&#x26;token=8b9cd2a6-5b77-422e-8674-b14c994347f6" alt=""><figcaption></figcaption></figure></div>

Luego de que se encuentre la carpeta montada en el servidor SMB, procedemos a copiarlo desde la máquina víctima como si fuera una simple ruta en la red.

<figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FVrOLJco5HufvHrM25H3D%2F1e31.png?alt=media&#x26;token=b848a12e-f734-4f4f-ad89-3074310537a7" alt=""><figcaption></figcaption></figure>

Para quienes no están familiarizados con los scripts **PEASS** (_Privilege Escalation Awesome Scripts Suite_), se trata de una colección de herramientas diseñadas para detectar vulnerabilidades explotables en la escalada de privilegios. Estos scripts automatizan la búsqueda de configuraciones incorrectas, permisos mal asignados, credenciales almacenadas de forma insegura y otros posibles vectores de escalación.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FAFPfIQgDEAIDAc0Azulb%2Fbb.png?alt=media&#x26;token=b09c7229-4bcf-4f44-96fb-f6635f2f294a" alt=""><figcaption></figcaption></figure></div>

Tras analizar la información proporcionada por este poderoso script, detecto un dato particularmente interesante: ha revelado la contraseña de mi usuario actual. Esto ocurre porque la cuenta está configurada como **Autologon** en el sistema, lo que significa que las credenciales se almacenan en el registro de Windows. Gracias a la eficacia de **WinPEAS**, ha sido posible recuperar estas credenciales en texto plano directamente desde el registro.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FBlLScypsgMUMux3OufIg%2F34.png?alt=media&#x26;token=21e0b3a1-ba25-43b3-8689-267836eef1a4" alt=""><figcaption></figcaption></figure></div>

Pero para escalar a root esta información de poco sirve. Así que después de pensar un rato, he recordado que existen scripts de escalada de privilegios en Metasploit también y que, al esta máquina haber sido explotada gracias a este framework, era posible de que la escalada estuviera ligada e este también.

Empiezo poniendo la sesión de Meterpreter en segundo plano para comenzar la búsqueda de algún script que pudiera ser de utilidad para llegar a ser root.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FieUapuYDe8VLGjUsJqZ0%2F1eee.png?alt=media&#x26;token=c59aa5f1-439e-4f90-9ffb-59a1641ed47b" alt=""><figcaption></figcaption></figure></div>

Realizo una búsqueda que hace referencia a exploits que tengan algo que ver con explotación local de Windows.

<figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FoLh1219A43QYGTIZPkUZ%2Fmalaaaa.png?alt=media&#x26;token=2a51ecff-f435-46cf-b102-f493300814d8" alt=""><figcaption></figcaption></figure>

Después de mucho tiempo leyendo, probando y volviendo a probar algunos de los exploits que más se ajustaran a la idea de lo que deseaba hacer, he dado con el siguiente:

<figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FRtXHDIky81ULn0sYhQS7%2Fya.png?alt=media&#x26;token=06d6b4c5-9b55-4f8e-af44-b957a8ac811d" alt=""><figcaption></figcaption></figure>

El cual solo requería de:

* ID de sesión anterior.
* LHOST.
* LPORT.

Luego de probar, para mi sorpresa, ha funcionado perfectamente!

Digo “para mi sorpresa”, debido a que su rank era “normal”, lo cual no da mucha confianza de primeras.

Comprobamos que somos el usuario privilegiado, en el caso de Windows el user con más privilegios (el root de Linux), es conocido como NT AUTHORITY SYSTEM.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2FZFTnyhaAcy3fHXgc2JYG%2Froro.png?alt=media&#x26;token=6be6d44f-9236-4839-aaa5-2ebd5201b46f" alt=""><figcaption></figcaption></figure></div>

Vamos al Desktop del usuario administrador y obtenemos la flag de root.

<div align="left"><figure><img src="https://1013496781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdV6HDOsFEFEo7m3Rwr8R%2Fuploads%2Fti3twkbUr3hc5ztyQh8i%2F111.png?alt=media&#x26;token=e43045cb-9836-49f1-948d-e03c3dbb5380" alt=""><figcaption></figcaption></figure></div>
