NFS (Network File System) es un protocolo que permite montar y acceder a archivos remotos a través de la red como si fueran locales. Funciona usualmente sobre el puerto 2049/TCP y puede exponer archivos sensibles si no está bien configurado.
Bueno cada usuario tiene su hash la cual lo pasamos:
Se encontró:
newpassword
Openssl crear .pfx
Con baker:
Ya tenías la clave privada (baker.key) y el certificado (baker.crt) sin cifrar.
Eso te permitió crear tu propio .pfx :
Necesitas un archivo .pfx para autenticarte con certipy-ad auth.
Además sincronizar la hora con el servidor NTP
Ahora necesitamos agregar el controlador de dominio a nuestro solucionador y usar el hash con Bloodhound para obtener una descripción general de cómo podemos escalar aún más.
Podemos usar bloodhound-python con ese hash para hacer la recolección de datos del dominio y cargarla en BloodHound GUI.
Opción
Función
-u 'd.baker'
Usuario del dominio (en minúsculas está bien)
--hashes 'LM:NT'
El hash NTLM (LM casi siempre se deja fijo)
-d scepter.htb
Dominio que estás atacando
-dc dc01.scepter.htb
Nombre del controlador de dominio (DC)
--auth-method ntlm
Autenticación usando hash en vez de ticket
-c All
Recolecta toda la información que BloodHound puede usar (DCOnly, etc)
--zip
Genera un ZIP listo para importar en BloodHound
--disable-autogc
Evita recolección GC si no lo necesitas (recomendado en CTF)
Activemos el bloodhound:
ForceChangePassword
Después de esto, revisaremos estos nodos. Cuando hacemos clic derecho en Carter, veremos una acción interesante: "ForceChangePassword".
Así que hagámoslo:
Se cambio con exito.
Otra verificación de bloodhound con estas nuevas credenciales y usuario
bloodhound-python | user, contraseña
Lo pasamos al bloodhound:
Los miembros del grupo IT SUPPORT@SCEPTER.HTB tienen permisos genéricos para el certificado de acceso del personal de la unidad organizativa@SCEPTER.HTB. Esto también se conoce como control total. Este permiso permite al administrador manipular el objeto de destino a su antojo.
TGT (Ticket Granting Ticket)
Este comando solicita un TGT (Ticket Granting Ticket) a nombre de d.baker, usando Pass-the-Hash, es decir: no necesitas la contraseña, solo el hash NTLM.
Este comando le dice al sistema que use ese TGT guardado como medio de autenticación Kerberos para herramientas compatibles.
Se cambio la contraseña de otro usuario (a.carter) desde la cuenta d.bakersin necesidad de saber la contraseña de a.carter, gracias a que d.baker tenía privilegios suficientes para modificar la contraseña de otros usuarios (como GenericAll, GenericWrite, ResetPassword, etc.).
Asignar GenericAll al objeto OU (Organizational Unit)
¿Qué hace esto?
Le da a a.cartercontrol total (GenericAll) sobre la OU que tiene el template vulnerable.
Esto es necesario porque para abusar del template ESC14, se requiere modificar ciertos atributos del objeto o generar certificados desde esa OU.
Modificar el atributo mail de d.baker
¿Por qué?
El template de certificado vulnerable (StaffAccessCertificate) emite certificados basándose en el atributo mail.
Cambiamos el mail de d.baker por h.brown@scepter.htb para que cuando pidamos un certificado para h.brown, realmente se genere como si fuese d.baker, que tiene más privilegios.
Solicitar el certificado malicioso
Resultado:
Obtienes un certificado .pfx (d.baker.pfx) que en realidad te da acceso como h.brown (por el atributo mail).
Esto es el abuso del ESC14, usando el mail spoofing.
Autenticarse con el certificado y extraer el hash de h.brown
Subir privilegios:
4️⃣ Autenticarse como p.adams usando el .pfx robado de d.baker
✔️ Esto genera un p.adams.ccache y también obtiene el hash NTLM de p.adams.
5️⃣ Ejecutar ataque DCSync para obtener el hash de Administrator
✔️ Resultado esperado: Se obtiene el hash NTLM de Administrator.
6️⃣ Usar el hash para conectarse como Administrator (ROOT)
✔️ Acceso interactivo como NT AUTHORITY\SYSTEM o Administrator.
New password: Password123
Retype new password: Password123
[*] Setting the password of scepter.htb\a.carter as scepter.htb\d.baker
[*] Connecting to DCE/RPC as scepter.htb\d.baker
[*] Password was changed successfully.
[!] User no longer has valid AES keys for Kerberos, until they change their password again.