
Monitoree los cambios en Active Directory con metadatos de replicación
(
d8888 8888888b. .d8888b. d8b 888 )
d88888 888 "Y88b d88P Y88b Y8P 888 (
d88P888 888 888 Y88b. 888 /\ .-"""-. /\
d88P 888 888 888 "Y888b. 88888b. 888 .d88888 .d88b. 888d888 //\/ ,,, //\
d88P 888 888 888 "Y88b. 888 "88b 888 d88" 888 d8P Y8b 888P" |/| ,;;;;;, |/|
d88P 888 888 888 "888 888 888 888 888 888 88888888 888 //\;-"""-;///\
d8888888888 888 .d88P Y88b d88P 888 d88P 888 Y88b 888 Y8b. 888 // / . / \
d88P 888 8888888P" "Y8888P" 88888P" 888 "Y88888 "Y8888 888 (| ,-| \ | / |-, |)
888 //__\.-.-./__\
888 // /.-(() ())-.\ \
888 (\ |) "---" (| /)
(| |)
Por DrunkF0x. ) (/
Herramienta para monitorear cambios en Active Directory en tiempo real sin obtener todos los objetos. En lugar de eso, utiliza metadatos de replicación y el Número de Secuencia de Actualización (USN) para filtrar las propiedades actuales de los objetos.
Por inspiración, gracias a https://github.com/p0dalirius/LDAPmonitor
DC - FQDN del controlador de dominio.
Formatlist - salida en lista en lugar de tabla.
ExcludelastLogonTimestamp - excluir eventos de lastLogonTimestamp de la salida
DumpAllObjects - volcar todo el directorio activo antes de comenzar. En caso de cambios, le mostrará todos los valores anteriores. Pero en dominios grandes, úselo bajo su propio riesgo (consume tiempo y recursos).
Short - en la salida solo estarán AttributeName, AttributeValue, LastOriginChangeTime y Explanation.
Output - crear un archivo XML con toda la salida.
ExcludeObjectGUID - excluir objeto de Active Directory con un GUID específico.
Sleep - intervalo de tiempo entre solicitudes del número USN. Por defecto: 30 segundos.
USN - especificar USN inicial.
DisplayXML - mostrar un archivo XML capturado anteriormente.
Módulo de PowerShell para Active Directory
https://learn.microsoft.com/en-us/powershell/module/activedirectory/?view=windowsserver2022-ps
Simplemente ejecute el módulo en una sesión de PowerShell con un usuario del dominio. Para un mejor rendimiento, use el FQDN del controlador de dominio en lugar de la dirección IP.
Import-module .\ADSpider.ps1
Invoke-ADSpider -DC DC01.domain.com
Inicie una sesión de PowerShell con un usuario del dominio usando runas. Verifique que el controlador de dominio sea accesible. Para un mejor rendimiento, use el FQDN del controlador de dominio en lugar de la dirección IP.
## From cmd or powershell
runas /netonly /u:domain.com\MyUser powershell
## From powershell
Import-module .\ADSpider.ps1
Invoke-ADSpider -DC DC01.domain.com
https://premglitz.wordpress.com/2013/03/20/how-the-active-directory-replication-model-works/
https://learn.microsoft.com/en-us/archive/technet-wiki/51185.active-directory-replication-metadata
https://learn.microsoft.com/en-us/windows/win32/adschema/a-systemflags
https://learn.microsoft.com/en-us/windows/win32/ad/linked-attributes