как узнать адрес контроллера домена
Как узнать адрес контроллера домена
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В данной статье, я хочу рассказать, как определить какой контроллер домена вас аутентифицировал. Иногда бывают ситуации, что нужно понять, данную информацию, для поиска проблем. Приведу простой пример, на пользователя была применена политика, которую я отключил на одном из контроллеров, через какое-то время, пользователь обратился, все стем же вопросом, выяснилось, что на другом DC, бала та же политика, отключив ее, все решилось, и в этом помогла информации, о том, кто его аутентифицировал.
И видим, очень информативную выборку.
Как определить какой контроллер домена вас аутентифицировал
Или без лишней воды
Вот такая простоя, но очень полезная команда, и у нее еще очень много полезных функций. С вами был Иван Семин, автор и создатель IT блога pyatilistnik.org.
Популярные Похожие записи:
5 Responses to Как определить какой контроллер домена вас аутентифицировал
данную информацию украли как понять
Это автоматическая ссылка, которая показывает кто и откуда без спроса автора взял его контент.
Кстати, Иван, почитав статейку «Как узнать версию windows, за минуту», я обнаружил еще один способ: в cmd ввести команду systeminfo, в выведенной информации найти строку «Сервер входа в сеть:»
Хочу поблагодарить тебя за твой сайт, очень полезный. Смело его можно рекомендовать к изучению Windows Server.
set logon, set, echo %logonserver% — это все команды, берущие информацию с одной точки — переменной окружения. Можно еще задать set logonserver, берет с той же точки, и показывает за какой DC прицепился при логоне пользователь. А вот nltest /dsgetdc показывает за какой DC зацепился при логоне компьютер. Они могут различаться. И если есть проблемы при общении компа с доменом, то можно проверить их сопряжением командой powershell Test-ComputerSecurityChannel (набрать в окне пошика Test-Co и нажать табуляцию, он сам допишет). Если выдаст False, значит компьютер не может общаться со DC, за который зацепился. Причин может быть много, одна из них — проблемы на стороне DC.
Найти имя контроллера домена Active Directory
Как я могу узнать имя / IP-адрес контроллера домена AD в моей сети?
На любом компьютере с DNS-сервером, настроенным для использования DNS-сервера AD, выполните:
Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя контроллера домена, который аутентифицировал текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, то из командной оболочки:
Вернет все переменные окружения, которые начинаются с «L», включая имя DC.
Просто замените «доменное имя» на ваш домен
Вы также можете запустить некоторые другие опции, чтобы узнать больше:
/dcname:domainname получает имя PDC для домена, /dsgetdc:domainname имеет флаги для другой информации
Попробуйте nltest /? в своем запросе, чтобы получить больше вариантов! 🙂
Это вернет ваш ближайший контроллер домена в Powershell:
DNS и DHCP являются наилучшим способом проверки, поскольку в сети могут находиться компьютеры Unix / Linux, управляемые контроллером домена AD или выполняющие роль контроллера домена.
Затем с помощью dns проверьте записи _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV:
Это разбито на три области, две из которых являются поддерживаемыми протоколом записями DNS-SD:
Сырая CMD
Просто найдите имена DC
Сохранить как GetDcNames.cmd :
(Примечание: конечная точка в «% userdnsdomain%.» Предназначена специально. Она не позволяет вашему локальному nslookup использовать любые строки пути поиска DNS.)
Найти больше доменов DNS, связанных с AD
Я создал быстрый и грязный пакетный файл, чтобы мне не приходилось запоминать доменные имена DNS и / или вводить их все. (Список может быть неполным.)
Работает с подключенных к домену машин. Если ваша машина не подключена к домену, вы должны вручную установить для USERDNSDOMAIN то, что вам нужно.
Найти имя контроллера домена Active Directory
Как узнать имя /IP-адрес контроллера домена AD в моей сети?
7 ответов
На любом компьютере, настроенном DNS для DNS-сервера AD, выполните следующие действия:
Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя DC, прошедшего проверку подлинности текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, а затем из командной оболочки:
Вернет все переменные среды, начинающиеся с «L», включая имя DC.
Неизменная, супер простая и быстрая опция заключается в том, чтобы запустить ее из командной строки:
Просто замените имя домена на свой домен
Вы также можете запустить несколько других опций, чтобы узнать больше:
/dcname:domainname получает имя PDC для домена /dsgetdc:domainname содержит флажки для другой информации
Попробуйте nltest /? в вашем приглашении, чтобы получить больше опций! 🙂
Это вернет ваш ближайший контроллер домена в Powershell:
Плюс, учитывая, что активный каталог является не чем иным, как версией Microsoft Kerberos, LDAP, dhcp и dns. Было бы лучше понять и отладить вещи на более низких уровнях, чем слой 7+. Это связано с тем, что операционная система будет предировать эти же запросы, а подчеркивание RFC для каждого протокола фактически работает на уровне OSI, а не в «вставке любимого инструмента здесь».
Затем, используя dns для проверки _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV записей:
Это разбивается на три области: две поддерживаемые протоколом записи DNS-SD:
Crude CMD
Просто найдите имена DC
Сохранить как GetDcNames.cmd :
(Примечание: конечная точка в «% userdnsdomain%.» предназначена специально. Она останавливает ваш локальный nslookup с использованием любых строк пути поиска DNS.)
Найти больше доменов DNS, связанных с AD
Я взломал быстрый и грязный пакетный файл, так что мне не нужно запоминать имена доменов DNS и /или им нужно набирать их все. (Список может быть неполным.)
Работает с подключенными к домену машинами. Если ваш компьютер не подключен к домену, вы должны вручную установить USERDNSDOMAIN для того, что вы хотите.
Поиск контролеров домена Active Directory
При проведении внутреннего тестирования на проникновение требуется определить цели атаки.
Одними из главных целей являются контроллеры домена Active Directory. Найти контроллеры домена можно множеством способов.
Получение имени домена
Для начала нам нужно узнать имя домена. Как правило оно передается в параметрах DHCP сервера domain-name (5) и или domain-search (119). Посмотреть значения этих параметров можно в файле /etc/resolv.conf.
Пример файла resolv.conf:
# Generated by NetworkManager
search pentestlab.lan
nameserver 192.168.1.1
nameserver 192.168.1.2
nameserver 172.16.2.2
соответствено, скорее всего, имя домена — pentestlab.lan.
После получения имени домена, мы можем запросить у DNS сервера список всех контроллеров домена.
Первый способ
Запрос ldap SRV записей.
Второй способ
Запрос kerberos записей.
dig any _kerberos._tcp.полное_имя_домена
dig any _kerberos._tcp.pentestlab.lan
Третий способ
Запрос A записей.
Четвертый способ
Запрос c использованием nltest.
Данный способ работает только с АРМ, который уже входит в состав домена.
Не все способы применимы ко всем доменам, но один из них сработает точно.
Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры
Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.
Get-ADDomainController: получаем информацию о контроллерах домена AD с помощью PowerShell
Командлет Get-ADDomainController можно использовать для получения информации о контроллерах домена в Active Directory. Данный командлет входит в состав модуля Active Directory для PowerShell и требует установки отдельного компонента RSAT (в Windows 10 1809 и выше RSAT устанавливается по-новому).
Командлет Get-ADDomainController
При запуске Get-ADDomainController без параметров командлет выводит информацию о текущем контроллере домена (LogonServer), который используется данным компьютером для аутентификации (DC выбирается при загрузке в соответствии с топологией сайтов AD).
Командлет вернул все поля с информацией о контроллере домена, доступной в AD.
Также вы можете найти контроллер домена, к которому должен относится ваш компьютер через механизм DCLocator:
Вы можете найти ближайший доступный DC с активной ролью AD Web Services:
Параметр Service можно использовать, чтобы найти PDC в домене:
Если ваш контроллер домена не найден или не отвечает, вы можете найти контроллер домена в ближайшем сайте AD (определяется по весу межсайтовых связей):
Чтобы вывести список все контроллеров домена в текущем домене, выполните:
Посчитать количество контроллеров домена в AD можно с помощью команды:
Выведем более удобную таблицу, в которой указаны все контроллеры домена с их именем, IP адресом, версией ОС и именем сайта AD:
Если вам нужно получить информацию о DC из другого домена, нужно указать имя любого доступного DC в стороннем домене с помощью параметра –Server (возможно при наличии доверительных отношений между доменами).
Используем Get-ADDomainController для выборки контроллеров домена по условиям
Рассмотрим несколько полезных командлетов, которые можно использовать для получения списка контролеров домена в AD по определенным критериям.
Найти контроллер домена по его IP адресу:
Найти все DC, в имени которых есть символы DC04:
Поиск всех доступных DC в определенном сайте:
Вывести список DC в сайтах, имена которых начинаются с Mos*:
Найти DC в сайте “Site Name”, на которых включена роль Global Catalog:
PowerShell скрипт проверки доступности всех контроллеров домена
Следующая конструкция позволяет перебрать все контроллеры домена в Active Directory и выполнить для каждого из них определенное действие:
Ниже приведен пример простого PowerShell скрипта, который проверяет доступность LDAPS порта (TCP 636) на каждом DC в домене с помощью командлета Test-NetConnection. Если LDAPS порт на DC не доступен, появляется предупреждение.
Получился простой скрипт мониторинга доступности DC. Ест еще различные сценарии перебора всех DC в домене. В предыдущих статьях мы уже показывали, как использовать Get-ADDomainController для поиска определенного события в журналах на всех контролерах домена. Например, для: поиска события блокировки учетной записи пользователя, поиска событий NTLMv1 аутентификации, поиска событий добавления пользователя в группу AD и т.д.