Bastion [EASY🟢]
Dificultad: Fácil
1- Reconocimiento y escaneo
1.1 Ping
1.1 PingPodemos notar que se trata de una maquina Windows, debido al TTL:
1.2 Nmap
1.2 NmapEstamos 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
1.3 crackmapexecWindows 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)
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)
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
2.1 Backups SMB y QEMU NBDVamos 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
2.2 SAM y SYSTEMVamos 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
2.3 Obtención de shell con SSHY 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
2.4 Obtención de la flag userLa flag de user se encuentra dentro de la ruta absoluta "C:\Users\L4mpje\Desktop\user.txt":
3- Escalado de privilegios
3.1 mRemoteNG
3.1 mRemoteNGVamos 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:
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
3.2 Obtención de la flag rootLa 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
