Always

Máquina de dificultad fácil de la plataforma HackMyVM

Comprobación

Comenzamos creándonos un entorno de trabajo que es donde vamos a operar, para ello vamos a hacer uso de la utilidad “maquina” que me crea estos directorios de trabajo

Ahora que tenemos nuestros directorios creados vamos a empezar con el escaneo de puertos, aunque antes vamos a lanzarle una traza icmp a la máquina para ver si está activa

Vemos que nos responde sin problemas, gracias al ttl de la máquina podemos intuir que estamos ante una máquina windows, una vez que sabemos esto pasamos a la fase de escaneo de puertos

Escaneo de puertos

Vamos a empezar con el escaneo de puertos básico que hacemos siempre para descubrir qué puertos son los que están abiertos en la máquina

Este es el escaneo que solemos hacer y en el que incluimos parámetros de nmap que nos ayudan a ir más rápido y a ser más sigilosos, por ejemplo el parámetro -sS nos permite no efectuar un three-way handshake lo que hace que sea más rápido y sigiloso ya que no deja evidencias de que se haya establecido una conexión, –min-rate 5000 nos permite especificarle a la herramienta que no queremos que se efectúe el escaneo con una velocidad menor a 5000 paquetes por segundo, -n le indica a nmap que no queremos que haga resolución DNS, -Pn para que no nos haga descubrimiento de hosts a través del protocolo ARP y por último -oG para exportar todas las evidencias en un formato que sea fácil de tratar más tarde con regex

Una vez que termina el escaneo, con la herramienta portsClean.sh vamos a poder extraer los datos más relevantes del escaneo

Podemos ver que tenemos muchos puertos, por lo que ahora vamos a realizar un escaneo más específico sobre estos puertos que sabemos que están abiertos para determinar qué versión y servicio están corriendo en ellos

Con el parámetro -sC lanzamos unos scripts básicos de reconocimiento que tiene nmap programados en Lua, el parámetro -sV determina qué servicio y versión está corriendo en los puertos indicados y por último -oN nos exporta todo el output del escaneo en un archivo en el mismo formato en el que lo representa por consola

Una vez que ha acabado vamos a abrir el archivo para ver qué es lo que se ha encontrado

Podemos ver que hay muchos servicios, entre ellos ftp, smb, rpc… entre otros

Usuario sin privilegios

Vamos a comenzar con el puerto 445, para ello vamos a enumerarlo con netexec

Podemos ver que nos estamos enfrentando a una máquina Windows 7 y que tiene de nombre “ALWAYS-PC”

Después de intentar listar los recursos compartidos por smb, no ha habido manera, por lo que me he ido a mirar el puerto 8080 que contiene una web

Haciendo un poco de fuzzing he visto lo siguiente

He intentado pasar la solicitud por burpsuite, pero al ver que no me la pillaba he pensado que igual la validación de si está bien o no la contraseña se estaba haciendo en el mismo html por lo que he ido a mirar el contenido del mismo y he visto esto

Se puede ver que está intentando hacer una validación para ver si las credenciales que introduzco son esas, por lo que como se contemplan aquí ya las sé

Una vez que nos autenticamos vemos lo siguiente

Parece una cadena en base64 por lo que vamos a copiarla y a decodificarla

Ahí vemos un usuario y una contraseña para intentar conectarnos por ftp a la máquina

Vemos que nos deja conectarnos y al ver qué hay en el directorio nos encontramos con un fichero “robots.txt” por lo que vamos a traérnoslo a nuestro equipo de atacante y vamos a abrirlo para ver qué hay

Dentro del archivo podemos ver que se contempla una ruta, a la cual vamos a acceder ahora mismo

Esto es lo que hay dentro de la ruta que se indicaba en el archivo robots.txt

Vemos más información y un usuario: always y una contraseña en base64 la cual vamos a descifrar ahora mismo

Ahora que tenemos la contraseña vamos a ver si a alguno de los dos usuarios les sirven estas credenciales

Para el usuario ftpuser sí que sirve por lo que vamos a buscar la manera de entrar en la máquina

Después de mirar un buen rato he llegado a la conclusión de que hay que meterse desde el panel que nos aparece cuando encendemos la máquina (con el usuario ftpuser y la contraseña “KeepGoingBro!!!”, esto es muy inusual ya que no se suele hacer en ctf pero supongo que este es un caso raro

Ahora que estamos dentro, como no quiero operar desde esta máquina lo que voy a hacer es montarme un servidor smb compartiendo nc para windows y efectuando una reverse shell para poder operar cómodamente desde mi consola en linux

Lo primero de todo es montarnos el servicio smb con el binario de nc para windows

Ahora que nos lo tenemos montado (que por cierto el script que he ejecutado para montar el servicio está en mi github) vamos a ponernos en escucha por el puerto en el que queremos que se nos mande la reverse shell

Ahora desde una terminal en la máquina windows vamos a ejecutar el binario enviándonos la reverse shell

Ahora si nos volvemos a nuestra máquina de atacante podemos ver que se ha efectuado correctamente la reverse shell

Estamos dentro de la máquina como un usuario no administrador por lo que vamos a intentar escalar nuestros privilegios

Usuario administrador

Lo primero que vamos a hacer es ver qué sistema operativo tenemos

Ahí podemos ver que es un windows 7 y la versión del sistema operativo

Después de probar un par de técnicas de escalada de privilegios, se me ha ocurrido mirar si están seteados en 1 los dos valores necesarios para abusar de la política “AlwaysInstallElevated” que nos va a permitir que los paquetes MSI se instalen con privilegios elevados

Vemos que efectivamente están seteados en 1 por lo que vamos a abusar de esto

Para abusar de esta política vamos a crearnos un ejecutable .msi malicioso que nos entable una reverse shell con nuestra máquina de atacante

Con este archivo creado vamos a ponernos en escucha por el puerto 3434 que es donde se va a entablar la reverse shell y vamos a ejecutar el archivo .msi de la siguiente manera

Y ahora podemos ver que se nos ha entablado una conexión como el usuario Administrador

Por último vamos a ver las flags

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut