Across Trusts

Metodologia

  1. Enumerar nuestras relaciones de confianza que nuestro dominio tiene con otros dominios y seguir enumerando dominios.

  2. Si nuestro objetivo esta dentro del bosque?

    1. Somos DA?

      1. Golden Tickets

      2. SID History

    2. Enumerar Objetos

      1. Mapear la ruta de explotacion

Si tiene DA en el dominio en el que se encuentra:

Across Domain - child to Parent - child to child (Sid History Attack)

SID History Attack using krbtgt hash

PASO 1: Comprometemos el servidor

Una ves comprometido el server obtener el hash de krbtgt:

PASO 2: Se puede forjar un TGT entre reinos

Para despues ponerlo en el siguiente comando donde creamos un ticket:

En el comando, la opción de mimikatz "/sids" está configurando de forma forzosa el historial de SID para el grupo de administración de la empresa para dollarcorp.moneycorp.local, que es el grupo de administración de la empresa forestal. (En resumen esa opcion sirve para inyectar el SID History)

3: Importamos el ticket TGT

4: Usamos el ticket TGT

Evite registros sospechosos:

S-1-5-21-2578538781-2508153159-3419410681-516 - Domain Controllers

S-1-5-9 - Enterprise Domain Controllers

SID History Attack using trust ticket

PASO 1: Obtener claves de confianza:

Entonces, lo que se requiere para falsificar boletos de confianza es, obviamente, la clave de confianza. Busque la clave de confianza de niño a padre.

NOTA: lsadump::trust se puede utilizar para volcar las claves de confianza del bosque. Las claves de confianza del bosque se pueden aprovechar para forjar vales de confianza entre reinos. Dado que la mayoría de los EDR prestan atención al hash KRBTGT, esta es una forma sigilosa de comprometer los fideicomisos forestales.

Como se ve en la siguiente captura de pantalla, obtuvimos todas las claves de confianza del controlador de dominio. [IN] y [OUT] delante de los nombres de dominio indican la dirección de confianza.

En nuestro caso, estamos interesados en obtener acceso al dominio raíz “moneycorp.local” desde nuestro dominio secundario “dollar.moneycorp.local”.

Valor del Enterpise admins:

PASO 2: Forjar un ticket TGT

Se puede forjar un TGT entre reinos

PASO 3: Obtener un TGS y usarlo

Asktgs y kirbikator (kekeo-old)

Obtenga un TGS para un servicio (CIFS a continuación) en el dominio de destino mediante el vale de confianza falsificado.

También se pueden crear tickets para otros servicios (como HOST y RPCSS para WMI, HOST y HTTP para PowerShell Remoting y WinRM).

Use el TGS para acceder al servicio de destino (es posible que deba usarlo dos veces).

Rubeus

Facilitando el DCSYNC: (Se puede lograr el trust ticket con diferentes servicios)

creando tarea:

cree el usuario:

lo agregue a administradores de dominio:

Mitigacion

Filtrado SID:

  • Evite los ataques que abusan del atributo de historial de SID en la confianza del bosque.

  • Habilitado de forma predeterminada en todas las relaciones de confianza entre bosques. Se supone que las confianzas dentro del bosque están protegidas de forma predeterminada (MS considera que el bosque y no el dominio es un límite de seguridad).

  • Pero, dado que el filtrado de SID tiene el potencial de romper las aplicaciones y el acceso de los usuarios, a menudo está deshabilitado.

Autenticación selectiva: (Investigar)

En una confianza entre bosques, si se configura la autenticación selectiva, los usuarios entre las confianzas no se autenticarán automáticamente. Se debe otorgar acceso individual a los dominios y servidores en el dominio/bosque que confía.

Across Forests

Using Trust Tickets

Paso 1: Dumpear claves de confianza

Paso 2: Se puede forjar una TGT entre bosques

PASO 3: Obtener un TGS y usarlo

Asktgs y kirbikator (kekeo-old)

Rubeus:

PrinterBug + Unconstrained Delegation

Otra forma seria combinar estas dos tecnicas para hacer el Across Forest (aun esta por probar pero si se puede).

Last updated