> 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/hack-the-box/mirai.md).

# Mirai

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

## Enumeración

### Enumeración de puertos

Comenzamos la resolución de la máquina Mirai, enumerando que servicios tiene abiertos. Comenzamos con una enumeración rápida de servicios.

```
nmap -p- --open -Pn --min-rate 500 10.10.10.48
```

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

La máquina Mirai tiene abiertos los puertos 22, 53, 80, 1968, 32400 y 32469. El siguiente paso será la enumeración detallada de estos servicios.

```
nmap -p22,53,80,1968,32400,32469 -sVC -Pn -n 10.10.10.48
```

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

VERSIONES

* Puerto 22 -> SSH -> OpenSSH 6.7
* Puerto 53 -> DNS -> dnsmasq 2.76
* Puerto 80 -> HTTP -> lighttpd 1.4.35
* Puerto 1968 -> UPNP -> Platinum UPnP 1.0.5.13
* Puerto 32400 -> HTTP -> Plex Media Server httpd
* Puerto 32469 -> UPNP -> Platinum UPnP 1.0.5.13

### Enumeración Web

En esta máquina se están ejecutando dos servicios Web, en los puertos 80 y 32400. Veamos el contenido de ambos servicios.

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

En el sitio Web al que podemos acceder a través del puerto 32400 encontramos un formulario de inicio de sesión.

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

En el puerto 80, no vemos contenido.

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

Tampoco en el código fuente. Vamos con la enumeración de directorios.

```
dirsearch -u http://10.10.10.48 -i 200,301
```

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

Encontramos un directorio "admin" en el sitio Web que encontramos en el puerto 80. Veamos su contenido.

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

Probamos las credenciales por defecto para una aplicación "raspberry" pero no son válidas.

## Explotación

Las credenciales por defecto, no nos permiten acceder a la plataforma Web pero vamos a tratar de probarlas para el servicio SSH que tiene la máquina disponible.

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

Obtenemos acceso al sistema con el usuario "pi".

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

El siguiente paso será buscar la flag user.txt

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

## Elevación de privilegios

Comenzamos enumerando vectores de elevación de privilegios con sudo -l y sudo -i.

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

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

Y ya seriamos usuario con privilegios "root" en el sistema. Ahora vamos a buscar la flag root.txt

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

<figure><img src="/files/6cWeAraoiAlE7dzZYpZq" alt=""><figcaption></figcaption></figure>

Pero la máquina nos acaba de trolear. Parece que debemos buscar la flag root real en algún dispositivo conectado al sistema. Vamos a comenzar enumerando los dispositivos enumerados al sistema.

```
df
```

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

Vemos que existe un dispositivo /media/usbstick. Vamos a ver que contiene este dispositivo encontrado.

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

En el mensaje leemos que los archivos han sido eliminados de la unidad USB, pero ¿y si no se hubiesen borrado totalmente? Vamos a utilizar el comando strings para buscar información oculta dentro de esta unidad.

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

Esta línea con caracteres alfanuméricos podría ser la flag que estamos buscando.

Video resolución Twitch:

{% embed url="<https://www.youtube.com/watch?ab_channel=Securiters&v=057RswFNCL0>" %}
