
Отслеживание изменений в Active Directory с помощью метаданных репликации
(
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 (\ |) "---" (| /)
(| |)
By DrunkF0x. ) (/
Инструмент для мониторинга изменений Active Directory в реальном времени без получения всех объектов. Вместо этого он использует метаданные репликации и номер последовательности обновления (USN) для фильтрации текущих свойств объектов.
За вдохновение спасибо https://github.com/p0dalirius/LDAPmonitor
DC - FQDN контроллера домена.
Formatlist - вывод в виде списка вместо таблицы.
ExcludelastLogonTimestamp - исключать события lastLogonTimestamp из вывода
DumpAllObjects - выгрузить весь Active Directory перед запуском. В случае изменений он покажет вам все предыдущие значения. Но в крупных доменах используйте его на свой страх и риск (затратно по времени и ресурсам).
Short - в выводе будут только AttributeName, AttributeValue, LastOriginChangeTime и Explanation.
Output - создать XML-файл со всем выводом.
ExcludeObjectGUID - исключать объект Active Directory с конкретным GUID.
Sleep - интервал времени между запросами номера USN. По умолчанию - 30 секунд.
USN - указать начальный USN.
DisplayXML - отобразить ранее сохранённый XML-файл.
Модуль PowerShell для Active Directory
https://learn.microsoft.com/en-us/powershell/module/activedirectory/?view=windowsserver2022-ps
Просто запустите модуль в сессии PowerShell под доменным пользователем. Для лучшей производительности используйте FQDN контроллера домена вместо IP-адреса.
Import-module .\ADSpider.ps1
Invoke-ADSpider -DC DC01.domain.com
Запустите сессию PowerShell с доменным пользователем через runas. Убедитесь, что контроллер домена доступен. Для лучшей производительности используйте FQDN контроллера домена вместо 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