
Enumeração de usuários e força bruta de senhas no Azure, ADFS, OWA, O365, Teams e coleta de e-mails no Linkedin
Este projeto foi originalmente escrito para aprender Golang e explorar as diferentes formas que encontrei durante testes de penetração para enumerar ou forçar usuários e reuni-las em uma única ferramenta. Se você encontrar erros, sinta-se à vontade para criar uma issue e farei o meu melhor para corrigi-los ou melhorar as ferramentas.
Nada de novo, mas técnicas existentes são reunidas em uma única ferramenta.
As capturas de tela abaixo não estão atualizadas e a linha de comando foi alterada
O módulo recomendado é o365 para enumeração de usuários e força bruta / pulverização de senhas. Informações adicionais podem ser obtidas para evitar bloqueio de conta, saber que a senha está boa mas expirada, MFA ativado,...
Este módulo deve ser usado para obter uma lista de endereços de e-mail antes de validá-los através de um módulo de enumeração de usuários. A empresa será pesquisada no Linkedin e todas as pessoas que trabalham nessas empresas serão retornadas no formato especificado.
Observe que nenhum perfil será visualizado e, portanto, o usuário não receberá nenhuma notificação.
O cookie de sessão do Linkedin li_at e JSESSIONID são necessários.

Este módulo deve ser usado para obter uma lista de endereços de e-mail antes de validá-los através de um módulo de enumeração de usuários.
O nome da empresa será pesquisado no Google e no Bing com um dork para encontrar pessoas que trabalham na empresa (site:linkedin.com/in+"%s"). O título dos resultados será analisado para gerar endereços de e-mail no formato especificado.

O módulo Azure está disponível apenas para enumerar os usuários de um tenant. A solicitação de autenticação será feita em https://autologon.microsoftazuread-sso.com, uma resposta detalhada mostra se a conta não existe, se MFA é necessário, se a conta está bloqueada, ...

O módulo ADFS está disponível apenas para fazer força bruta ou pulverizar uma senha. A solicitação de autenticação é enviada para https://<target>/adfs/ls/idpinitiatedsignon.aspx?client-request-id=<randomGUID>&pullStatus=0. Uma mensagem de erro pode informar o usuário se a senha expirou

Este módulo permite enumerar usuários e fazer força bruta / pulverizar senhas.
Vários modos estão disponíveis: office, oauth2 e onedrive (ainda não implementado). O modo office é recomendado, pois nenhuma autenticação é feita. O Oauth2 pode recuperar informações adicionais através do código de erro AADSTS (MFA ativado, conta bloqueada, conta desativada)

Assim como na enumeração de usuários, dois modos estão disponíveis: oauth2 e autodiscover (ainda não implementado). O Oauth2 é o modo recomendado, pois permite obter muitas informações graças ao código de erro AADSTS.

Este módulo permite enumerar usuários e fazer força bruta / pulverizar senhas. Atualmente, a autenticação NTLM e básica são suportadas.
A enumeração é feita com solicitações de autenticação. A autenticação para um usuário inexistente levará mais tempo do que para um usuário válido. Primeiro, o tempo médio de resposta para um usuário inválido será calculado e, em seguida, o tempo de resposta para cada solicitação de autenticação será comparado.

Observe que nenhum mecanismo de bloqueio de conta pode ser implementado porque nenhuma informação sobre isso é retornada.

Este módulo permite enumerar usuários através das funcionalidades de pesquisa.
Por padrão, uma organização é acessível por outra organização. Informações podem ser obtidas, como nome, sobrenome, status de presença, mensagem de ausência,... Se nenhuma mensagem for enviada, o usuário alvo não saberá que foi pesquisado. Isso pode ser útil para validar discretamente uma lista de endereços de e-mail alvo, detectar usuários ausentes,...

Servidores SMTP podem ser vulneráveis a uma falha de enumeração de usuários. Três técnicas diferentes permitem a enumeração de usuários. As palavras-chave RCPT TO, VRFY e EXPN. Este módulo encontra o MX para o domínio especificado e, por padrão, testará os três métodos para encontrar usuários válidos.
