Skip to main content

Command Palette

Search for a command to run...

Escape – Writeup (Vulnlab)

Published
3 min read
Escape – Writeup (Vulnlab)
S
I am shkz, a Security Researcher, Red Team and CTF Player.

NMAP

Para mi sorpresa, solo encontramos el puerto 3389/TCP disponible, lo cual es inusual ya que generalmente se espera encontrar más puertos abiertos en un sistema. Este puerto es conocido por ser utilizado para conexiones de escritorio remoto, lo que nos da una pista sobre cómo podríamos interactuar con el sistema.

PORT     STATE SERVICE       REASON
3389/tcp open  ms-wbt-server syn-ack ttl 127

PORT 3389/TCP

Dado que el puerto 3389 está abierto, decidimos aprovecharlo para establecer una conexión de escritorio remoto. En mi caso, utilizo xfreerdp en Arch Linux para conectarme.

xfreerdp /v: < IP >  -sec-nla -tls-seclevel:0

Ni bien logueamos nos encontramos con la siguiente pantalla:

  • Al parecer el user login es KioskUser0 sin contraseña.

Login como KioskUser0

Al ingresar con el usuario KioskUser0, nos damos cuenta de que el entorno está bastante restringido. Todo parece estar bloqueado, lo que refuerza la idea de que estamos en un entorno de quiosco. Sin embargo, el nombre de la máquina, 'escape', sugiere que hay una forma de sortear estas restricciones.

Dentro de la carpeta _admin/, encontramos archivos de configuración del Remote Desktop Plus. Estos archivos parecen contener configuraciones para el perfil de administrador, pero la contraseña está encriptada, lo que representa un desafío adicional.

ProfileName -> admin
Username -> 127.0.0.1
Password -> JWqkl6IDfQxXXmiHIKIP8ca0G9XxnWQZgvtPgON2vWc=

USER FLAG

Explorando el escritorio del usuario KioskUser0, encontramos la flag de usuario. Este es un paso importante en nuestro progreso, ya que confirma que estamos en el camino correcto.

ROOT FLAG

Después de varios intentos de interactuar con el sistema, nos damos cuenta de que la única aplicación que podemos ejecutar libremente es Microsoft Edge. Esto nos lleva a la idea de que podríamos renombrar el intérprete de comandos, como “cmd.exe” o “powershell.exe”, para que se ejecute como si fuera el navegador.

En la barra de direcciones me dirijo directamente al path donde esta el cmd.exe:

C:\Windows\system32\cmd.exe

Lo renombramos a “msdege”. Al hacerlo, el icono cambia al del navegador, lo que nos permite ejecutarlo. Con el intérprete de comandos abierto, podemos intentar descifrar la contraseña que encontramos anteriormente.

Descargo el BulletPassView

Utilizamos BulletPassView para revelar la contraseña sin necesidad de un método de crackeo complejo. Importamos el archivo profiles.xml desde la ubicación C:_admin al Remote Desktop Plus y luego ejecutamos BulletPassView para obtener la contraseña.

C:\Program Files (x86)\Remote Desktop Plus

Y luego importamos el archivo profile.xml.

A su vez ejecutamos el BulletPassView y nuestro password sera revelado:

  • Twisting3021

RUNAS like admin

Con la contraseña revelada, podemos ejecutar el comando runas desde PowerShell para abrir una nueva sesión como administrador.

Verificando con whoami /all vemos todo los privilegios que tenemos, los cuales somos administradores localmente. Abrimos una nueva powershell.exe esta vez con privilegios elevados:

start-process powershell.exe -Verb runas

Finalmente podemos obtener la root flag.

Pwn3d!
shkz.

More from this blog