
Ferramenta de enumeração do Active Directory baseada em .NET, inspirada no PowerView. Enumera domínios, usuários, computadores, grupos, compartilhamentos e sessões. Suporta consultas LDAP, verificações de escalonamento de privilégios e descoberta de movimento lateral via WMI e agendador de tarefas.
O Enumerate Domain Data é projetado para ser semelhante ao PowerView, mas em .NET. O PowerView é essencialmente a ferramenta definitiva de enumeração de domínios, e queríamos uma implementação em .NET que desenvolvêssemos nós mesmos. Esta ferramenta foi amplamente montada ao observar implementações de diferentes funcionalidades em uma vasta gama de projetos existentes e combiná-las no EDD.
Para usar o EDD, basta chamar a aplicação, fornecer a função que deseja executar (listada abaixo) e fornecer quaisquer parâmetros opcionais/obrigatórios usados pela função.
Argumentos:
-f, --function=VALUE a função que você deseja usar
-o, --output=VALUE o caminho do arquivo para salvar
-c, --computername=VALUE o computador que você está visando
-n, --canonicalname=VALUE nome canônico para usuário do domínio
-d, --domainname=VALUE o computador que você está visando
-g, --groupname=VALUE o grupo de domínio que você está visando
-p, --processname=VALUE o processo que você está visando
-fd, --filedata=PATH o caminho para um arquivo contendo dados relacionados à função que você está invocando
-w, --password=VALUE a senha para autenticar ou para o que você está
definindo
-u, --username=VALUE a conta de domínio que você está visando
-t, --threads=VALUE o número de threads para executar (padrão: 5)
-q, --query=VALUE filtro LDAP personalizado para pesquisar
-a, --adright=VALUE Direitos do Active Directory para retornar, separados por
vírgulas
-s, --search=VALUE o(s) termo(s) de pesquisa para
FindInterestingDomainShareFile separados por uma
vírgula (,), aceita curingas
--sharepath=VALUE o compartilhamento específico para pesquisar arquivos interessantes
-i, --info retorna informações sobre uma função especificada
-l, --listfunction retorna todas as funções disponíveis
-h, --help mostra esta mensagem e sai
As seguintes funções podem ser usadas com a flag -f para especificar os dados que você deseja enumerar/ação que deseja realizar.
getdomainsid - Retorna o SID do domínio (por padrão, o domínio atual se nenhum domínio for fornecido)
getforest - retorna o nome da floresta atual
getforestdomains - retorna o nome de todos os domínios na floresta atual
getsiddata - Converte um SID para o nome de grupo ou domínio correspondente (use a opção -u para fornecer o valor do SID)
getadcsservers - Obtém uma lista de servidores executando AD CS no domínio atual
getdomaincomputers - Obtém uma lista de todos os computadores no domínio
getdomaincontrollers - Obtém uma lista de todos os controladores de domínio
getdomainshares - Obtém uma lista de todos os compartilhamentos de domínio
getreadabledomainshares - Obtém uma lista de todos os compartilhamentos de domínio legíveis
changeaccountpassword - Altera a senha de uma conta alvo
customldapquery - Define filtro LDAP arbitrário para pesquisar objetos
getuserdacl - Retorna a DACL de um objeto de domínio especificado
getnetlocalgroupmember - Retorna uma lista de todos os usuários em um grupo local em um sistema remoto
getdomaingroupmember - Retorna uma lista de todos os usuários em um grupo de domínio
getdomainuser - Recupera informações sobre um usuário específico (nome, descrição, SID, Grupos de Domínio)
getdomaindescriptions - retorna objetos de domínio com descrições de conta não padrão
getnetsession - Retorna uma lista de contas com sessões no sistema alvo
getnetloggedon - Retorna uma lista de contas conectadas ao sistema alvo
getuserswithspns - Retorna uma lista de todas as contas de domínio que possuem um SPN associado a elas
getdomaingroupsid - Obtém o SID de um grupo
getdomainsid - Obtém o SID do domínio
getsiddata - Retorna o nome de usuário a partir do SID
joingroupbysid - Adiciona uma conta a um grupo através do SID do grupo
joingroupbyname - Adiciona uma conta a um grupo através do nome do grupo
findadminsch - Usa o agendador de tarefas para consultar direitos de administrador em um domínio
findadminwmi - Usa WMI para pesquisar direitos de administrador em um domínio
finddomainprocess - Pesquisa um processo específico em todos os sistemas do domínio (requer acesso de administrador nos sistemas remotos)
finddomainuser - Pesquisa no ambiente de domínio por um usuário ou grupo especificado e tenta encontrar sessões ativas (padrão pesquisa por Administradores de Domínio)
findemptysystem - Pesquisa no domínio por sistemas sem nenhuma conta de usuário conectada
findinterestingdomainsharefile - Pesquisa no ambiente de domínio por todos os compartilhamentos acessíveis. Uma vez encontrados, analisa todos os nomes de arquivos em busca de strings "interessantes"
findwritableshares - Enumera todos os compartilhamentos no domínio e então verifica se a conta atual pode criar um arquivo de texto no compartilhamento raiz e um nível abaixo.
PowerView - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
CSharp-Tools - https://github.com/RcoIl/CSharp-Tools
StackOverflow - Perguntas aleatórias (se isso não estiver listado como referência, sabemos que estamos esquecendo algo :))
SharpView - https://github.com/tevora-threat/SharpView