Bastion [EASY🟢]

Dificultad: Fácil

1- Reconocimiento y escaneo

1.1 Ping

Podemos notar que se trata de una maquina Windows, debido al TTL:

1.2 Nmap

Estamos ante un entorno de Windows Server, podemos ver el puerto 22 correspondiente a un servidor SSH, los puertos comunes de Windows 135 y 139, tambien tenemos el puerto 445 para almacenamiento en recursos compartidos vía SMB, y por ultimo el puerto 5985 con el que luego podremos conectarnos vía evil-winrm

1.3 crackmapexec

Windows Server 2016 Standard compilación 14393 x64(64 bits), el nombre de la maquina "BASTION" y el dominio "Bastion", el SMB no esta firmado, y concretamente estamos antes un SMB de versión 1

1.4 smbclient (Listar recursos compartidos)

Tenemos los recursos compartidos comunes de un servicio SMB(ADMIN$, C$ y IPC$), ademas de un recurso compartido que parece almacenar Backups de la maquina, "Backups"

1.5 smbmap (Permisos de sesión null en recursos compartidos)

Tenemos permisos de escritura y lectura dentro del recurso compartido "Backups"

2- Explotación

2.1 Backups SMB y QEMU NBD

Vamos a conectarnos vía SMB al recurso compartido "Backups", utilizamos "smbclient":

Vamos a "WindowsImageBackup":

L4mpje-PC:

"Backup 2019-02-22 124351":

Podemos ver que no nos deja, asi que para entrar al backup de esa fecha, vamos a crearnos una montura en la carpeta "/mnt" de Kali, de tipo "CIFS":

Ahora vamos a la carpeta "smb" donde tenemos la montura:

Ahora vamos a ejecutar el comando "tree" para ver toda la estructura del recurso compartido:

Tenemos 2 archivos ".vhd" correspondientes a un disco virtual(VHD = Virtual Hard Disk)

Uno de ellos, concretamente el 2do, pesa 5GB

Para visualizar este disco duro virtual, vamos a utilizar una herramienta llamada "qemu-nbd", para otra vez realizar una montura, pero esta vez con el disco virtual

Vamos a crear una carpeta en el directorio "/mnt" que se llame "vhd":

(Para utilizar "qemu-nbd", es necesario tener instalado las utilidades de qemu, "apt install qemu-utils")

Y antes de realizar la montura del VHD, vamos a importar un modulo al sistema, llamado "nbd" utilizando el comando "modprobe"

Y ahora con "qemu-nbd" vamos a poder montar el disco duro virtual mediante el protocolo NBD, si hacemos un "ls /dev":

Veremos varias carpetas "nbd's" que son parte del protocolo NBD y espacios para montar el disco virtual, en mi caso utilizare el "nbd0":

Ahora, el disco virtual se cargo en "/dev/nbd0p1"

Ahora quedaria por montar este directorio, dentro de "/mnt/vhd":

Esto ya seria el backup

2.2 SAM y SYSTEM

Vamos a dirigirnos a la siguiente ruta para conseguir el hash SAM de la maquina:

Ahora, vamos a utilizar la herramienta "impacket-secretsdump" para obtener el hash:

Almacenamos los hashes en un archivo de texto:

2.3 Obtención de shell con SSH

Y ahora vamos a utilizar "John The Ripper" para crackear estos hashes:

(En mi caso utilizare el diccionario "rockyou")

Ahora teniendo la contraseña y el usuario, vamos a conectanos mediante SSH

2.4 Obtención de la flag user

La flag de user se encuentra dentro de la ruta absoluta "C:\Users\L4mpje\Desktop\user.txt":

3- Escalado de privilegios

3.1 mRemoteNG

Vamos a irnos a "Program Files (x86)":

Tenemos el "mRemoteNG" instalado, que es un software de escritorio remoto, y desde este mismo software, si el usuario previamente guardo las contraseñas en el software para no volver a colocarlas dentro del software, es probable que esas contraseñas se almacenen en el mismo software, estas mismas contraseñas almacenadas en los archivos de mRemoteNG vienen protegidas y hasheadas, pero este cifrado se puede romper

Vamos a irnos a la siguiente ruta absoluta "C:\Users\L4mpje\AppData\Roaming\mRemoteNG" y vamos a listar los directorios:

Hay un archivo llamado "confCons.xml" que es el archivo XML que almacena las contraseñas cifradas:

Vemos las credenciales del usuario "Administrator":

Para descifrar esta contraseña cifrada, vamos a utilizar el siguiente proyecto de GitHub:

Repositorio de GitHub

Vamos a bajarnoslo desde GitHub con "wget":

Y vamos a ejecutarlo utilizando python3, ya que el script esta hecho en Python, pasandole como parametro -s y la contraseña cifrada:

Ahora vamos a conectarnos con "evil-winrm":

3.2 Obtención de la flag root

La flag de root, se encuentra dentro del directorio "C:\Users\Administrator\Desktop\root.txt":

Con esto, concluimos la maquina "Bastion" de Hack The Box

Espero te haya sido de ayuda este Write Up :)

Si tuviste alguna dificultad a la hora de resolverlo, no olvides contactarme en mis redes sociales

Última actualización