# 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>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/write-ups/hack-the-box/mirai.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
