
Легковесный инструмент для быстрого извлечения ценной информации из среды Active Directory как для атаки, так и для защиты.
ADCollector — это легковесный инструмент, который перечисляет среду Active Directory для выявления возможных векторов атак. Он даёт вам базовое понимание конфигурации/развёртывания среды в качестве отправной точки.
ADCollector — это не замена мощному PowerView, он просто автоматизирует перечисление для быстрого выявления интересной информации без лишних размышлений на раннем этапе разведки. Функции, реализованные в ADCollector, идеально подходят для перечисления в крупной корпоративной среде с множеством пользователей/компьютеров, не создавая большого трафика и не занимая много времени. Он фокусируется только на извлечении полезных атрибутов/свойств/ACL из наиболее ценных целей, вместо перечисления всех доступных атрибутов всех объектов пользователей/компьютеров в домене. Вам определённо понадобится PowerView для более детального перечисления позже. Вы можете использовать ADSI вместо PowerView для перечисления домена, если знаете, что хотите перечислить, см. https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/.
Цель разработки этого инструмента — помочь мне узнать больше о безопасности Active Directory с другой точки зрения, а также разобраться, что скрывается за кулисами функций PowerView.
Он использует пространство имён S.DS для получения информации о домене/лесе от контроллера домена (LDAP-сервера). Также используется S.DS.P для LDAP-поиска.
Этот инструмент ещё в разработке. Функции, которые будут реализованы, можно увидеть на моей странице проекта
Убедитесь, что у вас есть доступ к SYSVOL, если вы запускаете его с хоста, не входящего в домен. Возможно, потребуется выполнить следующую команду, если применяется политика жёсткого UNC:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths /v "\\*\SYSVOL" /d "RequireMutualAuthentication=0" /t REG_SZ
PS C:\> .\ADCollector.exe --help
_ ____ ____ _ _ _
/ \ | _ \ / ___|___ | | | ___ ___ _| |_ ___ _ __
/ _ \ | | | | | / _ \| | |/ _ \/ __|_ __/ _ \| '__|
/ ___ \| |_| | |__| (_) | | | __/ (__ | || (_) | |
/_/ \_\____/ \____\___/|_|_|\___|\___| |__/\___/|_|
v3.0.1 by dev2null
--Domain Domain to enumerate
--LDAPS (Default: false) LDAP over SSL/TLS
--DisableSigning (Default: false) Disable Kerberos Encryption (with -LDAPS flag)
--UserName Alternative UserName
--Password Alternative Credential
--DC Alternative Domain Controller (Hostname/IP) to connect to
--OU Perform the Search under a specific Organizational Unit
--LDAPONLY Only Enumearte Objects in LDAP
--ACLScan Perform ACL scan for an Identity
--ADCS (Default: false) Only Perform AD Certificate Service Check
--TEMPLATES (Default: false) Only Enumerate All Certificate Templates with their DACL
--SCHEMA (Default: false) Count Schema Attributes in the default naming context
--ADIDNS (Default: false) Only Collect ADIDNS Records
--NGAGP Only enumerate Nested Group Membership and Applied Group Policies on the target object
--DACL Enumerate DACL on the target object (with DistinguishedName)
--SessionEnum (Default: false) Enumerate session information on the target host
--UserEnum (Default: false) Enumerate user information on the target host
--LocalGMEnum (Default: false) Enumerate local group members on the target host
--Host (Default: Localhost) Hostname for Session/User/Groupmember Enumeration
--Group (Default: Administrators) Local Group Name for Local GroupMember Enumeration
--Debug (Default: false) Debug Mode
--help Display this help screen.
Example: .\ADCollector.exe
.\ADCollector.exe --LDAPs --DisableSigning
.\ADCollector.exe --OU IT
.\ADCollector.exe --OU OU=IT,DC=domain,DC=local
.\ADCollector.exe --ADCS
.\ADCollector.exe --TEMPLATES
.\ADCollector.exe --LDAPOnly
.\ADCollector.exe --SCHEMA
.\ADCollector.exe --ADIDNS
.\ADCollector.exe --NGAGP samaccountname
.\ADCollector.exe --DACL DC=domain,DC=net
.\ADCollector.exe --ACLScan user --OU OU=IT,DC=domain,DC=local
.\ADCollector.exe --SessionEnum --Host targetHost
.\ADCollector.exe --UserEnum --Host targetHost
.\ADCollector.exe --LocalGMEnum --Host targetHost --Group 'Remote Desktop Users'
.\ADCollector.exe --Domain domain.local --Username user --Password pass
.\ADCollector.exe --Domain domain.local --DC 10.10.10.1