
Enum4linux: получаем информацию из Active Directory
by HekpoПроводя тестирование на проникновение, довольно часто приходится иметь дело с доменами Active Directory. Домен — группа подключенных к сети компьютеров, которые совместно используют информацию об учетных записях пользователей и политику безопасности. За его управление отвечает контроллер домена, на котором работает служба Active Directory, если используется Windows Server, или Samba — для Unix-подобных систем. Эти службы позволяют хранить информацию о самом домене, всех ее пользователях, настройках и т.д.
Чтобы получить информацию о домене, необходимо использовать специальный инструментарий, например Enum4linux. Этот инструмент написан на Perl и представляет собой обёртку вокруг инструментов из пакета Samba: smbclient, rpclient, net и nmblookup, поэтому необходимо установить сам пакет Samba в качестве зависимости.
Ключевые функции:
- вывод списка пользователей;
- вывод информации о членстве в группе;
- перечисление общих ресурсов;
- определение принадлежности к рабочей группе или к домену;
- идентификация удалённой операционной системы;
- получение информации о парольной политике.
Информация предоставлена исключительно в ознакомительных целях. Не нарушайте законодательство!
Установка
Если говорить про Kali Linux, то пакет присутствует в стандартном репозитории, поэтому проблем с установкой не возникает:
# apt install enum4linux
Основные опции для запуска:
-U
— получение списка пользователей;-M
— получение списка машин в домене;-S
— получение списка общих ресурсов;-P
— получение информации о парольной политике;-G
— получение списка групп и членов;-o
— получить информацию об ОС на компьютерах.
Рассмотрим некоторые из них по отдельности:
Получение списка пользователей
# enum4linux -U 192.168.60.100

Как правило, название домена определяется автоматически и довольно точно, поэтому указывать его нет необходимости. В случае, если по каким-либо причинам Enum4linux не смог определить этот параметр, то указать вручную его можно через опцию -w
, например: -w EXAMPLE.COM
. При сборе подобной информации обращаться необходимо непосредственно к контроллеру домена, иначе ответ получен не будет. Чтобы определить, какой сервер является контроллером домена, можно использовать nslookup. Выполняем команду:
# nslookup -q=SRV _ldap._tcp.dc._msdcs.EXAMPLE.COM 192.168.60.100
, где
EXAMPLE.COM
— название домена;192.168.60.100
— IP-адрес DNS-сервера.

В результате мы получим доменное имя DC. Дальше остается только узнать его IP-адрес:
# nslookup master.example.com 192.168.60.100

В нашем случае контроллер домена и DNS-сервер — это одна и та же машина, но такой вариант бывает не всегда, поэтому используя этот метод можно довольно точно определить контроллер домена в сети.
Получение списка компьютеров в домене
В текущем релизе функционал работает некорректно.
Пример

Получение списка общих ресурсов
# enum4linux -S 192.168.60.100

В нашем случае каких-то специфичных общих ресурсов нет.
Получение списка групп и членов
# enum4linux -G 192.168.60.100

Получение информации об ОС компьютеров в домене
# enum4linux -o 192.168.60.101

Для выполнения данной команды применительно к Windows необходимо также указать логин/пароль от любой имеющейся доменной учетной записи. Сделать это можно используя опции -u
и -p
. Получить список пользователей можно с помощью опции -U
, которую ранее рассматривали, а пароль — методом перебора для протоколов с включенной доменной аутентификацией, например, SSH или RDP для Linux и Windows соответственно.
Получение информации о парольной политике
Для получения этой информации необходим уже другой инструмент, который называется Polenum, а также логин/пароль от доменной учетной записи. Об этом написано в справочной информации вместе со ссылкой на него. Указав логин/пароль и выбрав один из двух вариантов протоколов (445/SMB или 139/SMB), получим информацию для конкретного компьютера.
# ./polenum.py ivanov:OIWjdjsid92@192.168.60.101 139/SMB
Результат

Узнать больше об инструментарии для проведения тестирования на проникновение на программах практической подготовки Корпоративные лаборатории Pentestit.