Escape - Vulnlab
PortScan
- Comenzamos escaneando los puertos abiertos por el protocolo TCP donde solo encontramos un puerto abierto 3389 por el protocolo TCP https://book.hacktricks.xyz/network-services-pentesting/pentesting-rdp .
➜ 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.
- Podemos ejecutar el navegador de Windows https://blog.nviso.eu/2022/05/24/breaking-out-of-windows-kiosks-using-only-microsoft-edge/.
- 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.
-
Si recordamos tenemos un password, pero está encriptada podemos usar lo siguiente https://www.nirsoft.net/utils/bullets_password_view.html .
-
Una vez descargado lo pasamos a la máquina víctima.
- 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.
- Para convertirnos en ese usuario vamos a usar Runas.exe https://www.jctsoluciones.com.co/uso-del-comando-runas-en-windows/.
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.