Shadow Credentials

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Introducción

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

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

En la publicación se describe un método para configurar credenciales de autenticación clave pública-privada para adquirir un Ticket de Servicio único que incluye el hash NTLM del objetivo. Este proceso implica el NTLM_SUPPLEMENTAL_CREDENTIAL encriptado dentro del Certificado de Atributo de Privilegio (PAC), que puede ser descifrado.

Requisitos

Para aplicar esta técnica, se deben cumplir ciertas condiciones:

  • Se necesita al menos un Controlador de Dominio de Windows Server 2016.

  • El Controlador de Dominio debe tener instalado un certificado digital de autenticación de servidor.

  • El Directorio Activo debe estar en el Nivel Funcional de Windows Server 2016.

  • Se requiere una cuenta con derechos delegados para modificar el atributo msDS-KeyCredentialLink del objeto objetivo.

Abuso

El abuso de Key Trust para objetos de computadora abarca pasos más allá de obtener un Ticket Granting Ticket (TGT) y el hash NTLM. Las opciones incluyen:

  1. Crear un ticket silver RC4 para actuar como usuarios privilegiados en el host previsto.

  2. Utilizar el TGT con S4U2Self para la suplantación de usuarios privilegiados, lo que requiere modificaciones en el Ticket de Servicio para agregar una clase de servicio al nombre del servicio.

Una ventaja significativa del abuso de Key Trust es su limitación a la clave privada generada por el atacante, evitando la delegación a cuentas potencialmente vulnerables y sin necesidad de crear una cuenta de computadora, lo que podría ser difícil de eliminar.

Herramientas

### Whisker

Está basado en DSInternals y proporciona una interfaz C# para este ataque. Whisker y su contraparte en Python, pyWhisker, permiten la manipulación del atributo msDS-KeyCredentialLink para obtener control sobre las cuentas de Active Directory. Estas herramientas admiten diversas operaciones como agregar, listar, eliminar y limpiar credenciales clave del objeto objetivo.

Las funciones de Whisker incluyen:

  • Add: Genera un par de claves y agrega una credencial clave.

  • List: Muestra todas las entradas de credenciales clave.

  • Remove: Elimina una credencial clave especificada.

  • Clear: Borra todas las credenciales clave, lo que podría interrumpir el uso legítimo de WHfB.

Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1

Extiende la funcionalidad de Whisker a sistemas basados en UNIX, aprovechando Impacket y PyDSInternals para capacidades de explotación exhaustivas, que incluyen listar, agregar y eliminar KeyCredentials, así como importar y exportarlos en formato JSON.

python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"

ShadowSpray tiene como objetivo explotar permisos GenericWrite/GenericAll que grupos de usuarios amplios pueden tener sobre objetos de dominio para aplicar ShadowCredentials de manera amplia. Implica iniciar sesión en el dominio, verificar el nivel funcional del dominio, enumerar objetos de dominio e intentar agregar KeyCredentials para la adquisición de TGT y la revelación de hash NT. Las opciones de limpieza y las tácticas de explotación recursiva mejoran su utilidad.

Referencias

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Última actualización