🟢Mirai

Write-up de la máquina Mirai de HackTheBox #writeup #walkthrough

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

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

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.

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

En el puerto 80, no vemos contenido.

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

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

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

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.

Obtenemos acceso al sistema con el usuario "pi".

El siguiente paso será buscar la flag user.txt

Elevación de privilegios

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

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

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

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

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.

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

Video resolución Twitch:

Last updated