Código malicioso PDF | Abusar de SeManageVolumenPrivilege
Escaneo:
Nos muestra el puerto 80:
Enumeramos los directorios:
Si vamos a la página web dice esto:
Podemos ver que hay un espacio para subir archivos:
Despues de ver que acepta solamente .pdf subiremos uno de prueba:
Abrimos el Burpsuite para ver donde se guarda:
Efectivmente se puede ver:
Código malicioso PDF
🔹 1. Crear un archivo PDF simulado
Esto genera un archivo PDF vacío pero válido llamado legit.pdf, que servirá como contenido aparentemente inofensivo.
🔹 2. Crear un archivo ZIP “benigno”
Se crea benign.zip conteniendo el archivo PDF falso.
🔹 3. Crear directorio con contenido malicioso
Se genera una carpeta para almacenar el payload malicioso.
🔹 4. Crear archivo shell.php con una Reverse Shell en PowerShell
Se edita el archivo shell.php e inserta el siguiente contenido:
Esta reverse shell abre una conexión a la IP 10.10.16.45 en el puerto 4444.
🔹 5. Volver al directorio anterior
🔹 6. Comprimir el contenido malicioso
Esto crea un archivo malicious.zip que contiene el script malicioso en malicious_files/shell.php.
🔹 7. Combinar ambos ZIPs en uno solo
Se genera un único archivo combined.zip que contiene ambos contenidos:
legit.pdf (inofensivo)
malicious_files/shell.php (payload)
Esta técnica se basa en que algunos analizadores de ZIP leen solo el primer índice de archivos, lo que puede permitir ocultar archivos maliciosos.
🔹 8. Subida del ZIP combinado al servidor
Se carga combined.zip en un sitio que lo descomprima automáticamente. Por ejemplo:
🔹 9. Ejecutar el payload desde el navegador
Al acceder a esta ruta, si el servidor permite la ejecución de archivos PHP subidos, se activará la reverse shell.
🔹 10. Esperar la conexión desde el servidor
En tu terminal local, ejecutas:
Esto abre un listener con Netcat para recibir la conexión desde el servidor comprometido.
Se encontró una bd:
Ejecutamos el mysql en la maquina victim:
Bien con las credenciales ingresaremos a ver la db:
Se encontró los usuarios:
Crakeamos los hashes y tenemos el hash de sara.b:
Miraremos el BloodHound:
Acceder como LION.SK@certificate.htb aprovechando que SARA.B es miembro de Account Operators y tiene control total (GenericAll) sobre el usuario LION.SK.
Cambiar la contraseña de LION.SK
Usarnet rpc para resetear la contraseña de Lion.sk, porque Sara.B tiene privilegios suficientes gracias a Account Operators:
🔑 Esto cambia la contraseña de lion.sk sin necesidad de conocer la anterior.
✔️ Este abuso funciona porque “Account Operators” puede modificar cuentas que no son administradores ni protegidas.
Acceder vía WinRM con LION.SK
Una vez cambiada la contraseña, accediste remotamente con WinRM:
Para rootear primero necesitamos cambiar la contraseña de Ryan.K e iniciar sesión a través de winrm.
¿Porqué podemos acceder al usurio de Ryan?
El usuario Sara.B pertenece al grupo Account Operators en Active Directory, lo que le permite:
✅ Modificar contraseñas de usuarios no protegidos (no administradores y no miembros de grupos sensibles como Domain Admins o Protected Users).
✅ Gestionar cuentas de usuarios normales, como lion.sk y ryan.k.
Encontramos una vuln:
Abusar de SeManageVolumenPrivilege
🔹 1. Conexión inicial como Ryan.K
Accediste a la máquina a través de WinRM luego de resetear su contraseña usando Sara.B:
🔹 2. Verificación de privilegios
Dentro de la sesión WinRM, verificaste los privilegios del usuario:
✅ Se detectó el privilegio SeManageVolumePrivilege, que permite montar volúmenes.
🔹 3. Ejecución del exploit
Descargaste y subiste el exploit público que abusa de ese privilegio: