hacktricks/windows-hardening/active-directory-methodology/acl-persistence-abuse/shadow-credentials.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

4.7 KiB

Credenciales Shadow

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Introducción

Consulte la publicación original para obtener toda la información sobre esta técnica.

En resumen: si puede escribir en la propiedad msDS-KeyCredentialLink de un usuario / computadora, puede recuperar el hash NT de ese objeto.

Esto se debe a que podrá establecer credenciales de autenticación de clave pública-privada para el objeto y usarlas para obtener un Ticket de servicio especial que contiene su hash NTLM dentro del Certificado de atributo de privilegio (PAC) en una entidad NTLM_SUPPLEMENTAL_CREDENTIAL cifrada que se puede descifrar.

Requisitos

Esta técnica requiere lo siguiente:

  • Al menos un controlador de dominio de Windows Server 2016.
  • Un certificado digital para la autenticación del servidor instalado en el controlador de dominio.
  • Nivel funcional de Windows Server 2016 en Active Directory.
  • Comprometer una cuenta con los derechos delegados para escribir en el atributo msDS-KeyCredentialLink del objeto de destino.

Abuso

El abuso de Key Trust para objetos de computadora requiere pasos adicionales después de obtener un TGT y el hash NTLM de la cuenta. En general, hay dos opciones:

  1. Forjar un RC4 silver ticket para suplantar a usuarios privilegiados en el host correspondiente.
  2. Usar el TGT para llamar a S4U2Self para suplantar a usuarios privilegiados en el host correspondiente. Esta opción requiere modificar el Ticket de servicio obtenido para incluir una clase de servicio en el nombre del servicio.

El abuso de Key Trust tiene la ventaja adicional de que no delega el acceso a otra cuenta que podría ser comprometida, está restringido a la clave privada generada por el atacante. Además, no requiere crear una cuenta de computadora que pueda ser difícil de limpiar hasta que se logre la escalada de privilegios.

Whisker

Junto con esta publicación, estoy lanzando una herramienta llamada "Whisker". Basado en el código de DSInternals de Michael, Whisker proporciona un envoltorio C# para realizar este ataque en compromisos. Whisker actualiza el objeto de destino usando LDAP, mientras que DSInternals permite actualizar objetos usando tanto LDAP como RPC con el servicio de replicación de directorios (DRS) Protocolo remoto.

Whisker tiene cuatro funciones:

  • Agregar: esta función genera un par de claves pública-privada y agrega una nueva credencial de clave al objeto de destino como si el usuario se hubiera inscrito en WHfB desde un nuevo dispositivo.
  • Listar: esta función enumera todas las entradas del atributo msDS-KeyCredentialLink del objeto de destino.
  • Eliminar: esta función elimina una credencial de clave del objeto de destino especificada por un GUID de DeviceID.
  • Limpiar: esta función elimina todos los valores del atributo msDS-KeyCredentialLink del objeto de destino. Si el objeto de destino está utilizando legítimamente WHfB