https://img.defcon.ru/store/2020/08/2cc295f48e33bc75cf15413fadc9fb86.png

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

by

Проводя тестирование на проникновение, довольно часто приходится иметь дело с доменами Active Directory. Домен — группа подключенных к сети компьютеров, которые совместно используют информацию об учетных записях пользователей и политику безопасности. За его управление отвечает контроллер домена, на котором работает служба Active Directory, если используется Windows Server, или Samba — для Unix-подобных систем. Эти службы позволяют хранить информацию о самом домене, всех ее пользователях, настройках и т.д.

Чтобы получить информацию о домене, необходимо использовать специальный инструментарий, например Enum4linux. Этот инструмент написан на Perl и представляет собой обёртку вокруг инструментов из пакета Samba: smbclient, rpclient, net и nmblookup, поэтому необходимо установить сам пакет Samba в качестве зависимости.

Ключевые функции:

Информация предоставлена исключительно в ознакомительных целях. Не нарушайте законодательство!

Установка

Если говорить про Kali Linux, то пакет присутствует в стандартном репозитории, поэтому проблем с установкой не возникает:

# apt install enum4linux

Основные опции для запуска:

Рассмотрим некоторые из них по отдельности:

Получение списка пользователей

# enum4linux -U 192.168.60.100

https://img.defcon.ru/store/2020/08/6ef68ad0f55bf7ff9ce8d47fee22a558.png

Как правило, название домена определяется автоматически и довольно точно, поэтому указывать его нет необходимости. В случае, если по каким-либо причинам Enum4linux не смог определить этот параметр, то указать вручную его можно через опцию -w, например: -w EXAMPLE.COM. При сборе подобной информации обращаться необходимо непосредственно к контроллеру домена, иначе ответ получен не будет. Чтобы определить, какой сервер является контроллером домена, можно использовать nslookup. Выполняем команду:

# nslookup -q=SRV _ldap._tcp.dc._msdcs.EXAMPLE.COM 192.168.60.100, где

https://img.defcon.ru/store/2020/08/3cb864c1dcf563b13858e1fde2b59fff.png

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

# nslookup master.example.com 192.168.60.100

https://img.defcon.ru/store/2020/08/8a040e3829c37f86a5cb657b201d95a3.png

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

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

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

Пример
https://img.defcon.ru/store/2020/08/4750b69a5812835d307cd58abdb1b82c.png

Получение списка общих ресурсов

# enum4linux -S 192.168.60.100

https://img.defcon.ru/store/2020/08/53a5785b16b132adcc8bec17d3136b62.png

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

Получение списка групп и членов

# enum4linux -G 192.168.60.100

https://img.defcon.ru/store/2020/08/f45fa8b421d8f09aa56ed520a04219c3.png

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

# enum4linux -o 192.168.60.101

https://img.defcon.ru/store/2020/08/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

Результат
https://img.defcon.ru/store/2020/08/b3048535c334495d8e2f958131c71778.png

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