
Énumération d'utilisateurs et bruteforce de mots de passe sur Azure, ADFS, OWA, O365, Teams et collecte d'e-mails sur Linkedin
Ce projet a été écrit à l'origine pour apprendre Golang et explorer les différentes méthodes que j'ai rencontrées lors de tests d'intrusion pour énumérer ou forcer les utilisateurs, et les rassembler. Si vous rencontrez des erreurs, n'hésitez pas à ouvrir un ticket et je ferai de mon mieux pour les corriger ou améliorer les outils.
Rien de nouveau, mais les techniques existantes sont réunies dans un seul outil.
Les captures d'écran ci-dessous ne sont pas à jour et la ligne de commande a changé
Le module recommandé est o365 pour l'énumération des utilisateurs et l'attaque par force brute / pulvérisation de mots de passe. Des informations supplémentaires peuvent être récupérées pour éviter le verrouillage de compte, savoir que le mot de passe est correct mais expiré, que l'authentification multifacteur est activée, etc.
Ce module doit être utilisé pour récupérer une liste d'adresses e-mail avant de les valider via un module d'énumération d'utilisateurs. L'entreprise sera recherchée sur LinkedIn et toutes les personnes y travaillant seront renvoyées dans le format spécifié.
Notez qu'aucun profil ne sera consulté et donc l'utilisateur ne recevra aucune notification.
Les cookies de session LinkedIn li_at et JSESSIONID sont requis.

Ce module doit être utilisé pour récupérer une liste d'adresses e-mail avant de les valider via un module d'énumération d'utilisateurs.
Le nom de l'entreprise sera recherché sur Google et Bing avec une dork pour trouver des personnes travaillant dans l'entreprise (site:linkedin.com/in+"%s"). Les titres des résultats seront analysés pour produire des adresses e-mail au format spécifié.

Le module Azure est uniquement disponible pour énumérer les utilisateurs d'un locataire. La requête d'authentification sera effectuée sur https://autologon.microsoftazuread-sso.com, une réponse détaillée indique si le compte n'existe pas, si une authentification multifacteur est requise, si le compte est verrouillé, etc.

Le module ADFS est uniquement disponible pour forcer ou pulvériser un mot de passe. La requête d'authentification est envoyée à https://<target>/adfs/ls/idpinitiatedsignon.aspx?client-request-id=<randomGUID>&pullStatus=0. Un message d'erreur peut informer l'utilisateur si le mot de passe est expiré.

Ce module permet d'énumérer les utilisateurs et de forcer / pulvériser les mots de passe.
Plusieurs modes sont disponibles : office, oauth2 et onedrive (pas encore implémenté). Le mode office est recommandé car aucune authentification n'est effectuée. Oauth2 peut récupérer des informations supplémentaires via le code d'erreur AADSTS (authentification multifacteur activée, compte verrouillé, compte désactivé).

Comme pour l'énumération d'utilisateurs, deux modes sont disponibles : oauth2 et autodiscover (pas encore implémenté). Oauth2 est le mode recommandé ; il permet d'obtenir beaucoup d'informations grâce au code d'erreur AADSTS.

Ce module permet d'énumérer les utilisateurs et de forcer / pulvériser les mots de passe. Actuellement, l'authentification NTLM et basique sont prises en charge.
L'énumération est effectuée avec des requêtes d'authentification. L'authentification pour un utilisateur inexistant prendra plus de temps que pour un utilisateur valide. Dans un premier temps, le temps de réponse moyen pour un utilisateur invalide sera calculé, puis le temps de réponse de chaque requête d'authentification sera comparé.

Veuillez noter qu'aucun mécanisme de verrouillage de compte ne peut être implémenté car aucune information à ce sujet n'est renvoyée.

Ce module permet d'énumérer les utilisateurs via les fonctionnalités de recherche.
Par défaut, une organisation est accessible depuis une autre organisation. Des informations telles que le prénom, le nom, l'état de présence, le message d'absence, etc. peuvent être récupérées. Si aucun message n'est envoyé, l'utilisateur ciblé ne saura pas qu'il a été recherché. Cela peut être utile pour valider discrètement une liste d'adresses e-mail cibles, détecter les utilisateurs en absence, etc.

Les serveurs SMTP peuvent être vulnérables à une faiblesse d'énumération d'utilisateurs. Trois techniques différentes permettent l'énumération des utilisateurs. Les mots-clés RCPT TO, VRFY et EXPN. Ce module trouve le MX pour le domaine spécifié et, par défaut, teste les trois méthodes pour trouver des utilisateurs valides.
