##
# Загрузить с
# ADRecon: Active Directory Recon  из среды Active Directory. Информация может быть представлена в специально отформатированном отчёте Microsoft Excel, который включает сводные представления с метриками для облегчения анализа и предоставления целостной картины текущего состояния целевой AD-среды.
Инструмент полезен для различных категорий специалистов по безопасности: аудиторов, DFIR, студентов, администраторов и т.д. Он также может быть бесценным инструментом для пост-эксплуатации в ходе тестирования на проникновение.
Его можно запускать с любой рабочей станции, подключённой к среде, даже с хостов, не являющихся членами домена. Кроме того, инструмент может выполняться в контексте непривилегированной (т.е. обычной доменной учётной записи пользователя) учётной записи. Для политики тонкой настройки паролей, LAPS и BitLocker могут потребоваться привилегированные учётные записи. Инструмент будет использовать Microsoft Remote Server Administration Tools (RSAT), если они доступны; в противном случае он будет взаимодействовать с контроллером домена по протоколу LDAP.
Инструмент собирает следующую информацию:
* Политика паролей по умолчанию и с тонкой настройкой (если реализована);
* Контроллеры домена, версии SMB, поддержка подписи SMB и роли FSMO;
* Объекты групповой политики и детали gPLink;
* Ключи восстановления BitLocker (если реализованы);
* ACL (DACL и SACL) для объектов домена, OU, корневых контейнеров, GPO, пользователей, компьютеров и групп;
* Kerberoast (не входит в метод сбора по умолчанию); и
* Учётные записи домена, используемые для сервисных учётных записей (требуется привилегированная учётная запись и не входит в метод сбора по умолчанию).
ADRecon был представлен на: 
* PowerShell 2.0 или новее (Windows 7 включает 2.0)
* Remote Server Administration Tools (RSAT):
* Windows 10 (
* Windows 7 (
Если у вас установлен git, начните с клонирования репозитория:
git clone
В противном случае вы можете скачать zip-архив последнего релиза. Предполагается, что ветка master всегда находится в рабочем состоянии.
Запуск ADRecon на хосте, входящем в домен.
Запуск ADRecon на хосте, входящем в домен, от имени другого пользователя.
PS C:\>.\ADRecon.ps1 -DomainController -Credential
Запуск ADRecon на хосте, не входящем в домен, с использованием LDAP.
PS C:\>.\ADRecon.ps1 -Protocol LDAP -DomainController -Credential
Запуск ADRecon с определёнными модулями на хосте, не входящем в домен, с RSAT. (По умолчанию OutputType равен STDOUT при использовании параметра -Collect)
PS C:\>.\ADRecon.ps1 -Protocol ADWS -DomainController -Credential -Collect Domain, DomainControllers
Генерация файла ADRecon-Report.xlsx на основе выходных данных ADRecon (CSV-файлы).
PS C:\>.\ADRecon.ps1 -GenExcel C:\ADRecon-Report-
При запуске ADRecon будет создана папка `ADRecon-Report- `, которая будет содержать файл ADRecon-Report.xlsx и папку CSV с исходными файлами.
Какой протокол использовать: ADWS (по умолчанию) или LDAP
IP-адрес контроллера домена или полное доменное имя домена.
Путь к выходной папке ADRecon, содержащей CSV-файлы, для создания ADRecon-Report.xlsx. Используется для генерации ADRecon-Report.xlsx, когда Microsoft Excel не установлен на хосте, с которого запускается ADRecon.
Путь к выходной папке ADRecon для сохранения CSV/XML/JSON/HTML-файлов и ADRecon-Report.xlsx. (Указанная папка будет создана, если её не существует) (По умолчанию: текущая рабочая папка)
Какие модули запускать (через запятую; например: Forest, Domain. По умолчанию все, кроме Kerberoast)
Допустимые значения: Forest, Domain, Trusts, Sites, Subnets, PasswordPolicy, FineGrainedPasswordPolicy, DomainControllers, Users, UserSPNs, PasswordAttributes, Groups, GroupMembers, OUs, ACLs, GPOs, gPLinks, GPOReport, DNSZones, Printers, Computers, ComputerSPNs, LAPS, BitLocker, Kerberoast, DomainAccountsusedforServiceLogon.
Тип вывода; через запятую; например: CSV,STDOUT,Excel (По умолчанию STDOUT с параметром -Collect, иначе CSV и Excel).
Допустимые значения: STDOUT, CSV, XML, JSON, HTML, Excel, All (исключает STDOUT).
Период для неактивных учётных записей. (По умолчанию: 90 дней)
Максимальный возраст пароля для учётных записей компьютеров. (По умолчанию: 30 дней)
Размер страницы для объекта поиска LDAP. (По умолчанию: 200)
Количество потоков для обработки объектов. (По умолчанию: 10)
Создать журнал ADRecon с помощью Start-Transcript
* Заменить System.DirectoryServices.DirectorySearch на System.DirectoryServices.Protocols и добавить поддержку LDAP STARTTLS и LDAPS (TCP-порт 636).
* ~~Добавить перечисление доверенных доменов.~~
* Добавить возможность фильтрации ACL по умолчанию.
* ~~Сбор ACL для других объектов, таких как пользователи, группы и т.д.~~
* Дополнительные варианты экспорта и хранения: экспорт в ~~STDOUT~~ , SQLite, ~~xml~~ , ~~json~~ , ~~html~~ , pdf.
* Использовать библиотеку EPPlus для создания отчётов Excel и удалить зависимость от MS Excel.
* Выявлять проблемы и предоставлять рекомендации по их устранению на основе анализа данных.
Пожалуйста, сообщайте обо всех ошибках, проблемах и запросах функций в трекере задач. Или свяжитесь со мной (@prashant3535) напрямую.
Запросы на включение (pull requests) всегда приветствуются.
Спасибо за отличную работу @_wald0, @CptJesus, @harmj0y, @mattifestation, @PyroTek3, @darkoperator, команде Sense of Security и другим.
ADRecon — это инструмент, который собирает информацию об Active Directory и формирует отчёт, позволяющий получить целостную картину текущего состояния целевой AD-среды.
Эта программа является свободным программным обеспечением: вы можете распространять её и/или модифицировать в соответствии с условиями GNU Affero General Public License, опубликованной Free Software Foundation, либо версии 3 этой лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; без подразумеваемой гарантии КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См. GNU Affero General Public License для более подробной информации.
Вы должны были получить копию GNU Affero General Public License вместе с этой программой. Если нет, см.
Эта программа заимствует и использует код из многих источников. Принимаются все меры для указания первоначального автора. Если вы обнаружили, что ваш код используется без надлежащего указания авторства, пожалуйста, отправьте упрёк @prashant3535. Спасибо.
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
