windowsCertificate

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:

📥 Descargar desde GitHub: SeManageVolumeExploit - por CsEnoxarrow-up-right

🟢 Si es exitoso, verás:


🔹 4. Exportar certificado de la CA

Con control sobre C:, exportaste el certificado raíz de la CA:


🔹 5. Forjar certificado de administrador

Con el ca.pfx exportado, forjaste un certificado que suplanta a Administrator:


🔹 6. Sincronizar hora para evitar errores Kerberos

Detectaste el error KRB_AP_ERR_SKEW (Clock skew too great) al autenticarte. Lo corregiste con:

⏰ Resultado:


🔹 7. Autenticación como Administrator

Tras sincronizar la hora, la autenticación fue exitosa y obtuviste el hash NTLM:

🔐 Resultado:


🔹 8. Acceso final como Administrator

Con el hash obtenido, accediste a la máquina con evil-winrm:

Y finalmente:

🎯 Flag root.txt obtenida:


Last updated