Simple HackMyVM (Easy - Windows)
Escaneo de puertos
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>nmap -sCV -p<PORTS> <IP>Info:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-28 03:16 EDT
Nmap scan report for 192.168.1.156
Host is up (0.00045s latency).
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
|_http-title: Simple
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49679/tcp open msrpc Microsoft Windows RPC
MAC Address: 08:00:27:A0:E5:9D (Oracle VirtualBox virtual NIC)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 19s
| smb2-time:
| date: 2025-03-28T07:17:38
|_ start_date: N/A
|_nbstat: NetBIOS name: SIMPLE, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:a0:e5:9d (Oracle VirtualBox virtual NIC)
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 59.10 secondsVemos que hay un puerto 80 en el que hay una pagina web en la cual no veremos nada interesante, por lo que vamos a realizar un poco de fuzzing.
Gobuster
Info:
No vemos nada interesante, pero si vemos mejor en la pagina web principal, veremos lo siguiente:

Vemos que hay varios nombres de usuario en los cuales se estan nombrando sobre las gracias de la pagina, por lo que nos montaremos una lista de usuarios.
users.txt
Y como contraseñas vamos a probar con la misma lista, para realizar un poco de fuerza bruta hacia el servidor SMB con la herramienta NetExec.
NetExec
Info:
Vemos una interesante que es la siguiente:
Vemos que la contraseña de dicho usuario a expirado al parecer por una configuracion de Windows la contraseña del usuario bob a expirado, tendremos que establecerle la contraseña nosotros de forma manual, ya que la maquina se tiene que hacer de esa forma.
Arreglar password Bogo
Tendremos que sacarnos un teclado virtual dentro de la maquina de Windows:

Pulsamos 3 teclas, que serian Ctrl+Alt+Supr para poder desbloquear la pantalla de bloqueo de Windows, le daremos varias veces al boton ESC para ir a este menu:

Seleccionaremos el usuario bogo e ingresaremos la contraseña bogo, cuando la metamos pondra lo siguiente:

Le daremos Aceptar y pondremos la misma contraseña bogo para dejarlo como estaba, una vez echo todo esto, ya habremos actualizado la contraseña, por lo que si volvemos a lanzar el NetExec veremos lo siguiente:
Vemos que ahora si nos encuentra que las credenciales son correctas, por lo que vamos a enumerar los recursos compartidos del servidor SMB.
SMB
Info:
Vemos varias cosas interesantes de primeras vemos un recurso compartido llamado LOGS, por lo que vamos a entrar a dicho recurso y veremos lo siguiente:
Listamos el recurso y veremos lo siguiente:
Vemos que hay un archivo el cual nos vamos a pasar a nuestro host de la siguiente forma:
Y si lo leemos, veremos lo siguiente:
Vemos esta linea bastante interesante:
Vemos que en el recurso compartido llamado WEB se le esta asignando el que pueda listar y hacer cosas el usuario marcos con dicha contraseña, ya que con el usuario bogo no nos dejara hacer nada, por lo que vamos a entrar con dichas credenciales:
Info:
Vemos que esta pasando de nuevo lo mismo, por lo que tendremos que cambiar la contraseña del usuario marcos como hicimos con el usuario bogo para poner la misma contraseña.
Una vez cambiado y puesta la misma contraseña volveremos a realizar lo mismo de antes, para poder entrar de nuevo y veremos que si nos dejara, si listamos veremos lo siguiente:
Con esto ya podremos ver que desde esta carpeta se esta mostrando la pagina web que esta corriendo en el puerto 80, por lo que vamos a crear una pagina con la extension .aspx para poder ejecutar comandos de forma remota (RCE), tendremos que hacer lo siguiente:
Escalate user defaultapppool
cmd.aspx
Guardaremos esto y desde el servidor SMB estando dentro lo subiremos de la siguiente forma:
Info:
Ahora si nos vamos a la siguiente URL veremos que efectivamente esta la pagina que hemos subido, por lo que vamos a probar a ejecutar el comando whoami.

Vemos que esta funcionando de forma correcta, por lo que vamos a crearnos una reverse shell abriendo un servidor de SMB para poder ejecutar netcat desde dicho servidor.
Generar Reverse Shell
Primero tendremos que copiarnos el ejecutable nc.exe a nuestro directorio actual.
Una vez copiado nuestro binario de netcat vamos abrirnos el servidor de SMB:
Info:
Ahora lo que vamos hacer desde la pagina del cmd.aspx sera lo siguiente:

Antes de ejecutar el comando, vamos ponernos a la escucha de la siguiente forma:
Ahora si ejecutamos el comando y volvemos a donde tenemos la escucha veremos lo siguiente:
Veremos que ha funcionado y seremos dicho usuario.
Escalate Privileges
Vamos a ver que permisos tenemos con dicho usuario:
Info:
Vemos una cosa bastante interesante en la siguiente linea:
Vamos a ver que version de Windows tenemos para saber que exploit podremos utilizar:
Info:
Vemos que es un Windows Server 2019 por lo que posiblemente no vaya el exploit llamado JuicyPotato.exe.
Vamos a descargarnos el siguiente exploit para aprovechar esta vulnerabilidad.
URL = Download GodPotato-NET4.exe
Nos vamos a pasar los 2 archivos tanto el nc.exe como el GodPotato-NET4.exe a la maquina victima en la siguiente ruta donde podemos escribir y ejecutar binarios.
Ahora vamos a abrir un servidor de python3 para pasarnos los archivos.
Y desde la maquina victima ejecutaremos lo siguiente:
Ahora nos pondremos a la escucha antes de ejecutar el comando:
Ahora vamos a ejecutar en la maquina victima lo siguiente:
Info:
Ahora si volvemos donde tenemos la escucha veremos lo siguiente:
Por lo que vemos ya seremos Administradores, ahora vamos a leer las flags del admin y usuario.
user.txt
root.txt
Last updated