Bastion - Hack The Box

4 minute read

  4 minute read

La máquina Bastion es una máquina virtual vulnerable de la plataforma HackTheBox con un nivel de dificultad Easy una calificación en el rank de 4.6, 11551 USER OWNS y 10939 SYSTEM OWNS con la ip 10.10.10.134 y un sistema operativo Windows.

Port Scan

Para empezar, hice un escaneo con la herramienta Nmap para encontrar los puertos abiertos disponibles en la máquina con [Ip:10.10.10.134] utilizando los parámetros:

  • -p-: Escaneo a toda la gama de puertos (65536).
  • -n: No hacen la resolución del DNS.
  • -T5: El parámetro más agresivo y ruidoso pero más rápido para hacer una exploración rápida.
  • –open: Muestra sólo los puertos con un estatus abierto.
  • -oG: Guarda la el output en formato Grepeable.

    Una vez que hicimos el escaneo de puertos con la herramienta ExtractPorts, vemos que los puertos que destacaron en este caso fueron 22,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669,49670:

    Ya identificados los puertos abiertos, realizaremos un escaneo de versiones y servicios de estos puertos con la herramienta nmap configurando los siguientes parámetros:

    • -sC: Script de enumeración básica de sondeo en puertos y servicios alojados.
    • -sV: Detección de versiones en servicios alojados en puertos.
    • -p : Puertos a inspeccionar.
    • -oN: Formatos de Nmap en los que se guardará el archivo.

    Con este escaneo a versiones y servicios podemos ver que el servicio smb esta disponible y usando la herramienta de smbmap listo los recursos que tiene disponible el servicio haciendo uso de una null sesion.

    Como muestra la imagen se puede ver que el acceso con una null session es posible y así mismo nos lista los recursos que están disponibles, el recurso que mas me llamo la atención fue el recurso Backups el cual con la null session tengo permisos de READ, WRITE.

    Para poder trabajar mas cómodo haré uso de una montura del recurso Backups en mi equipo usando la herramienta mount:

    mount -t cifs //10.10.10.134 /mnt/smbmount -o username=null
    
    • -t cifs: tipo de devices en este caso CIFS que es un estándar del sistema de archivos de Windows diseñado para compartir archivos a través de Internet.
    • -o: Especificamos el usuario con ‘username’ en este caso el username es ‘null’.

Ya teniendo la montura en mi equipo y enumerando el recurso compartido de Backups yendo a la ruta /mnt/smbmount/WindowsImageBackup/L4mpje-PC/Backup 2019-02-22 124351 puedo ver que existen dos archivos con extensión .vhd

Las extensión .vhd son extensiones las cuales son un formato de archivo que representa una unidad de disco duro virtual.

Haciendo uso de la herramienta guestmount montare este disco virtual en mi equipo yo montare el que pesa mas ya que por lógica cuenta con mas información que puedo tomar de el.

Ejecutando la siguiente sentencia de comando es como monto el disco virtual en mi equipo.

guestmount --add /mnt/smbmount/WindowsImageBackup/L4mpje-PC/Backup\ 2019-02-22\ 124351/9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd --ro /mnt/vhd/ -m /dev/sda1
  • –add option: es para la imagen a la que quieres acceder.
  • –ro: se establece como de sólo lectura, alternativamente se puede usar –rw para lectura/escritura.
  • /mnt/vhd: la ruta en la que desea montar la unidad.
  • -m /dev/sda1: especifique qué partición dentro del archivo .vhd quiere montar.

Lo que se alcanza a ver es que la unidad virtual es un sistema de archivos de Windows en el cual tenemos acceso total a toda la información por lo que si me dirijo a la ruta /mnt/vhd/Windows/System32/config en esta ruta se encuentra la SAM y el SYSTEM y con estos dos archivos podemos dumpear los Hashes NTLM y con ellos crackearlos para hacer ya sea pass the hash o conseguir la contraseña en texto plano de el usuario.

Para esto usare la herramienta de samdump2 pasando le el SYSTEM y la SAM para dumpear los hashes.

Ya teniendo los hashes los exporto a un archivo y con la herramienta de john crackeo los hashes y como se puede ver la herramienta logro romper el hash de L4mpje el cual su contraseña es bureaulampje.

Sabiendo esto use la herramienta de crackmapexec para comprobar si tenia un Pwn3d! lo cual significaría que podría hacer psexec y entrar en el equipo pero en este caso no es así pero aun asi la herramienta muestra que las credenciales son validas al mostrar el [+] y no un [-].

Recordando los puertos que están abiertos uno de ellos destaca el cual es el puertos 22 y utilizando las credenciales que acabo de conseguir puedo ver que son validas y de este modo entro al equipo.

Enumerando el sistema veo que la herramienta mRemoteNG esta instalada en el sistema, una pista de esto es yendo a la ruta C:\Program Files (x86) se puede ver que esta el recurso mRemoteNG.

l4mpje@BASTION C:\>cd "Program Files (x86)"                                                                                     

l4mpje@BASTION C:\Program Files (x86)>dir                                                                                       
 Volume in drive C has no label.                                                                                                
 Volume Serial Number is 0CB3-C487                                                                                              

 Directory of C:\Program Files (x86)                                                                                            

22-02-2019  15:01    <DIR>          .                                                                                           
22-02-2019  15:01    <DIR>          ..                                                                                          
16-07-2016  15:23    <DIR>          Common Files                                                                                
23-02-2019  10:38    <DIR>          Internet Explorer                                                                           
16-07-2016  15:23    <DIR>          Microsoft.NET                                                                               
22-02-2019  15:01    <DIR>          mRemoteNG                                                                                   
23-02-2019  11:22    <DIR>          Windows Defender                                                                            
23-02-2019  10:38    <DIR>          Windows Mail                                                                                
23-02-2019  11:22    <DIR>          Windows Media Player                                                                        
16-07-2016  15:23    <DIR>          Windows Multimedia Platform                                                                 
16-07-2016  15:23    <DIR>          Windows NT                                                                                  
23-02-2019  11:22    <DIR>          Windows Photo Viewer                                                                        
16-07-2016  15:23    <DIR>          Windows Portable Devices                                                                    
16-07-2016  15:23    <DIR>          WindowsPowerShell                                                                           
               0 File(s)              0 bytes                                                                                   
              14 Dir(s)  11.232.141.312 bytes free                                                                              

l4mpje@BASTION C:\Program Files (x86)>

Esta herramienta almacena credenciales cifradas en la ruta C:\Users*UserName*\AppData\Roaming\mRemoteNG en el archivo confCons.xml.

Buscando en este archivo podemos ver que se encuentra las credenciales del usuario Administrator almacenadas en este archivo.

Investigando puede encontrar una herramienta en github la cual esta en python3 y sirve para descifrar las passwords que almacena mRemoteNG y usando la herramienta pude descifrar la password del usuario Administrator.

Ya teniendo la password use la herramienta crackmapexec comprobé las credenciales para ver si tenia capacidad de psexec y efectivamente la herramienta me mostró un Pwn3d!.

Usando la herramienta psexec entre al equipo con las credenciales del usuario administrador y así pudiendo ir al directorio de Administrator y visualizar la flag de root.