
Uma ferramenta leve para extrair rapidamente informações valiosas do ambiente Active Directory tanto para ataque quanto para defesa.
ADCollector é uma ferramenta leve que enumera o ambiente Active Directory para identificar possíveis vetores de ataque. Ela lhe dará uma compreensão básica da configuração/implantação do ambiente como ponto de partida.
ADCollector não é uma alternativa ao poderoso PowerView, ele apenas automatiza a enumeração para identificar rapidamente informações interessantes sem pensar muito no estágio inicial de Reconhecimento. As funções implementadas no ADCollector são ideais para enumeração em um ambiente corporativo grande com muitos usuários/computadores, sem gerar muito tráfego e consumir muito tempo. Ele foca apenas em extrair atributos/propriedades/ACLs úteis dos alvos mais valiosos, em vez de enumerar todos os atributos disponíveis de todos os objetos de usuário/computador no domínio. Você definitivamente precisará do PowerView para fazer uma enumeração mais detalhada depois. Você pode usar ADSI em vez de PowerView para enumerar o domínio desde que saiba o que deseja enumerar, veja https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/.
O objetivo de desenvolver esta ferramenta é me ajudar a aprender mais sobre segurança do Active Directory sob uma perspectiva diferente, além de descobrir o que está por trás das funções do PowerView.
Ela usa o namespace S.DS para recuperar informações de domínio/floresta do controlador de domínio (servidor LDAP). Também utiliza o namespace S.DS.P para pesquisa LDAP.
Esta ferramenta ainda está em construção. As funcionalidades que serão implementadas podem ser vistas na minha página do projeto
Certifique-se de ter acesso ao SYSVOL se executá-lo a partir de um host não associado ao domínio. Talvez seja necessário executar o seguinte comando se a política UNC endurecida estiver aplicada:
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