Persistencia

DCShadow

Cómo un atacante con privilegios altos se hace pasar por un Domain Controller y escribe cambios en Active Directory por replicación, sin dejar registro.

Qué es

DCShadow registra un Domain Controller falso y escribe cambios de atributo en Active Directory por el canal de replicación. El controlador que los recibe anota una sincronización, no una modificación: nadie queda como autor del cambio. Resultado: persistencia sigilosa que sobrevive a reinicios y a cambios de contraseña.

Cómo funciona

Los Domain Controllers se sincronizan entre ellos por replicación. Un controlador acepta cualquier cambio que llega de lo que cree que es otro controlador. No lo audita como acción de usuario: confía en el servidor par.

El atacante disfraza su máquina de Domain Controller. Añade un objeto nTDSDSA bajo un servidor nuevo en la partición de Configuración. Registra el SPN de replicación (DRSUAPI) en un objeto de equipo. Responde las llamadas RPC de replicación como lo haría un controlador real.

Con eso dispara la replicación y empuja los valores de atributo que quiere. El controlador legítimo los acepta y los guarda como replicación entrante normal. Anota un evento de sincronización, no una modificación de objeto. Al terminar, el objeto de servidor falso se borra y no queda rastro del origen.

Diagrama

Comandos

Conceder los derechos delegados mínimos con Set-DCShadowPermissions (Nishang), para correr DCShadow sin ser Domain Admin:

Set-DCShadowPermissions -FakeDC <HOST> -SAMAccountName <USER> -Username <USER> -Verbose

mimikatz, primera instancia: el controlador falso. Corre como SYSTEM y prepara el cambio. Este ejemplo escribe un SID en el sidHistory del objetivo:

!+
!processtoken
lsadump::dcshadow /object:<USER> /attribute:sidHistory /value:<SID>

mimikatz, segunda instancia: con derechos sobre los objetos, dispara la replicación y empuja el cambio:

lsadump::dcshadow /push

Cómo defenderse

Restringe los derechos de replicación (DS-Install-Replica, DS-Replication-Manage-Topology, DS-Replication-Synchronize) a los controladores de dominio reales: sin ellos, nadie registra un controlador falso.

Siguiente

Puedes seguir leyendo aquí:

PersistenciaPersistencia con AdminSDHolder

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.