• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Enum4linux: получаем информацию из Active Directory

pablo

(L2) cache
Пользователь
Регистрация
01.02.2019
Сообщения
433
Реакции
1 524
Проводя тестирование на проникновение, довольно часто приходится иметь дело с доменами 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
1.png

Как правило, название домена определяется автоматически и довольно точно, поэтому указывать его нет необходимости. В случае, если по каким-либо причинам 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-сервера.
2.png

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

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

Получение списка компьютеров в домене

В текущем релизе функционал работает некорректно.

Пример

4750b69a5812835d307cd58abdb1b82c.png


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

53a5785b16b132adcc8bec17d3136b62.png

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

Получение списка групп и членов
Код:
# enum4linux -G 192.168.60.100
f45fa8b421d8f09aa56ed520a04219c3.png


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

Для выполнения данной команды применительно к Windows необходимо также указать логин/пароль от любой имеющейся доменной учетной записи. Сделать это можно используя опции -u и -p. Получить список пользователей можно с помощью опции -U, которую ранее рассматривали, а пароль — методом перебора для протоколов с включенной доменной аутентификацией, например, SSH или RDP для Linux и Windows соответственно.

Получение информации о парольной политике

Для получения этой информации необходим уже другой инструмент, который называется Polenum, а также логин/пароль от доменной учетной записи. Об этом написано в справочной информации вместе со ссылкой на него. Указав логин/пароль и выбрав один из двух вариантов протоколов (445/SMB или 139/SMB), получим информацию для конкретного компьютера.

Код:
# ./polenum.py ivanov:OIWjdjsid92@192.168.60.101 139/SMB

Результат
b3048535c334495d8e2f958131c71778.png

by @Hekpo
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх