Tutoriales

Herramienta para rociar credenciales de sombra

Spray de sombra es una herramienta que distribuye credenciales ocultas en un dominio con la esperanza de abusar de las DACL GenericWrite/GenericAll olvidadas hace mucho tiempo en otros objetos del dominio.

¿Por qué utilizar esta herramienta?

De las muchas campañas que he visto (en sabueso) el grupo «Todos»/»Usuarios autenticados»/»Usuarios de dominio» o algún otro grupo amplio (que contiene casi todos los usuarios del dominio) tiene algunas DACL GenericWrite/GenericAll que otros objetos del dominio.

Se puede abusar de estos privilegios para agregar credenciales ocultas en el objeto de destino y obtener su TGT y NT Hash.

Se me ocurrió que podríamos intentar rociar créditos de sombra sobre todo el dominio y ver qué salió mal (obviamente, este método es mejor para enfrentamientos que no son sigilosos, no uses este método en un equipo rojo que requiere sigilo). Después de agregar con éxito la credencial oculta, simplemente hacemos todo el baile PKINIT + UnPACTheHash y obtenemos el hash NT.

Dado que el proceso es tan rápido, se puede utilizar desde el comienzo de la participación y, con suerte, tendrá algunos usuarios y computadoras antes de comenzar.

notas: Recicla mucho código de mi herramientas anteriores Entonces AV/EDR podría marcarlo como KrbRelayUp…

Cómo funciona esta herramienta

Aquí está la cosa:

  1. Inicie sesión en el dominio (o utilice la sesión actual) con las credenciales proporcionadas.
  2. Compruebe si el nivel funcional del dominio es 2016 (de lo contrario, deténgase, ya que los ataques de credenciales ocultas no funcionarán)
  3. Recopila una lista de todos los objetos (usuarios y computadoras) en el dominio desde LDAP.
  4. Para cada objeto de la lista, haga lo siguiente:
    1. Intente agregar una KeyCredential al atributo «msDS-KeyCredentialLink» del objeto.
    2. Si lo anterior tiene éxito, use PKINIT para solicitar un TGT con la KeyCredential agregada.
    3. Si lo anterior tiene éxito, realice un ataque UnPACTheHash para revelar el hash NT del usuario/computadora.
    4. si – restaurar ShadowCred Especificado: eliminar la KeyCredential agregada (después de limpiar yo mismo…)
  5. si – recursividad Especificado: siga el mismo proceso con cada cuenta de usuario/computadora que tengamos exitosamente.

ShadowSpray admite CTRL+C, por lo que si en algún momento desea detener la ejecución, simplemente presione CTRL+C y ShadowSpray mostrará los hashes NT recuperados hasta el momento (como se muestra en la demostración a continuación) antes de salir.

manifestación

uso

 __             __   __        __   __   __
/__` |__|  /\  |  \ /  \ |  | /__` |__) |__)  /\  \ /
.__/ |  | /~~\ |__/ \__/ |/\| .__/ |    |  \ /~~\  |


Usage: ShadowSpray.exe [-d FQDN] [-dc FQDN] [-u USERNAME] [-p PASSWORD] [-r] [-re] [-cp CERT_PASSWORD] [-ssl]

    -r   (--RestoreShadowCred)       Restore "msDS-KeyCredentialLink" attribute after the attack is done. (Optional)
    -re  (--Recursive)               Perform ShadowSpray attack recursivly. (Optional)
    -cp  (--CertificatePassword)     Certificate password. (default = random password)


General Options:
    -u  (--Username)                 Username for initial LDAP authentication. (Optional)
    -p  (--Password)                 Password for initial LDAP authentication. (Optional)
    -d  (--Domain)                   FQDN of domain. (Optional)
    -dc (--DomainController)         FQDN of domain controller. (Optional)
    -ssl                             Use LDAP over SSL. (Optional)
    -y  (--AutoY)                    Don't ask for confirmation to start the ShadowSpray attack. (Optional)

hacer

  • ¡Refactorización y limpieza de código! ! !
  • Agregar opción de salida detallada
  • Agregar opción para guardar KeyCredentials agregados/TGT solicitado/hashes NT recopilados en un archivo en el disco
  • Versión de Python 😉
  • Otras sugerencias son bienvenidas

Mitigación y Detección

tomado de Elad Shamirpublicación de blog en certificado sombra:

  • Si la autenticación PKINIT no es común en el entorno o no es común para la cuenta de destino, el evento «Ticket de autenticación Kerberos (TGT) solicitado» (4768) puede indicar un comportamiento inusual cuando la propiedad de información del certificado no está vacía.
  • Si SACL está configurado para auditar las modificaciones de objetos de Active Directory para la cuenta de destino, si el sujeto que cambia msDS-KeyCredentialLink no es la cuenta de sincronización de Azure AD Connect o la cuenta de servicio ADFS, normalmente actúa como servidor de configuración de claves y modifica legalmente este atributo para el usuario.
  • Un control preventivo más específico es agregar una entrada de control de acceso (ACE) para impedir que los propietarios principales modifiquen el atributo msDS-KeyCredentialLink para cualquier cuenta que no esté destinada a inscribirse en la autenticación sin contraseña de Key Trust, especialmente las cuentas privilegiadas.
  • Detectar credenciales UnPACing y ocultas Por Henri Hambartsumian fuerza de halcón

Detecciones específicas de ShadowSpray:

  • La herramienta intenta modificar Cada objetos de usuario/computadora en el dominio por un corto tiempo, y cuando falla (la mayoría de las veces) genera un LDAP_INSUFFICIENT_ACCESS error. Las detecciones se pueden realizar en torno a esto de la misma manera que para la criptopulverización habitual.

gracias

por favor considera atención y apoyo Siempre estamos actualizados.

LEER  Honeypots personalizables para monitorear el tráfico de la red

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba