Escape - Vulnlab

PortScan

➜  nmap sudo nmap -sCV -p3389 10.10.90.255 -oN targeted
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-27 10:47 CST
Nmap scan report for 10.10.90.255
Host is up (0.18s latency).

PORT     STATE SERVICE       VERSION
3389/tcp open  ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2024-02-27T16:48:15+00:00; 0s from scanner time.
| rdp-ntlm-info:
|   Target_Name: ESCAPE
|   NetBIOS_Domain_Name: ESCAPE
|   NetBIOS_Computer_Name: ESCAPE
|   DNS_Domain_Name: Escape
|   DNS_Computer_Name: Escape
|   Product_Version: 10.0.19041
|_  System_Time: 2024-02-27T16:48:11+00:00
| ssl-cert: Subject: commonName=Escape
| Not valid before: 2024-02-02T11:08:33
|_Not valid after:  2024-08-03T11:08:33
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

xfreerdp

  • Vamos a conectarnos.
➜  nmap xfreerdp /v:10.10.90.255 /tls-seclevel:0 -sec-nla
  • Nos dice lo siguiente que nos conectemos con el usuario KiosUser0 .

  • Una vez conectados vemos lo siguiente:

  • Como tal la máquina se llama Escape a sí que tenemos que escapar del modo Kios mode si presionamos la tecla Windows funciona.

  • Si intentamos arrancar una consola, simplemente no nos deja.

  • Si preguntamos a ChatGPT sobre Windows Kiosk nos dice que puede ser configurado para abrir un navegador o aplicación en específico.

  • Vemos que ChatGPT también nos dice que podemos acceder a archivos.

  • Si escribimos file:///C:\ vemos el C Drive.

  • Examinando dentro de admin hay un archivo profiles.xml con una contraseña:

  • En la ruta C:\Windows\System32 encontramos un ejecutable interesante vamos a descargarlo.

  • No podemos ejecutarlo porque como nos dijo ChatGPT el Windows Kiosk se configura para que el usuario solo pueda ejecutar algo en específico como vimos que podemos ejecutar msedge vamos a cambiarle el nombre al archivo y lo ejecutamos.

  • Funciona.

  • Vamos a usar Powershell para poder ejecutar comandos.

  • En caso de que no se pueda hacemos lo siguiente.

  • Ahora vamos a copear él .exe a la carpeta de _admin .

  • Ahora vamos a ejecutar el Remote Desktop para poder ver la contraseña.

  • Ahora vamos a Manages Profiles y despues en Import Profiles.

  • Pero antes vamos a copear el profiles.xml que necesitamos.

PS C:\_admin> copy .\profiles.xml C:\Users\kioskUser0\Downloads\    
  • Y ahora importamos el profiles.xml.

Password

  • Ahora, si ejecutamos el BulletsPassView.exe desde la consola, tenemos la contraseña:

  • Vemos que el usuario admin es un usuario del sistema.

PS C:\_admin> runas /user:admin cmd                                                                                          Enter the password for admin:  

Shell as admin

  • Ahora estamos como ese usuario:

  • Pero no somos el administrator .

Root.txt

  • Tenemos que hacer un bypass de UAC.

  • Vamos a ejecutar una cmd.exe con privilegios elevados usando runas.

  • Y ya podemos ver la flag porque tenemos privilegios máximos.