Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Go365 — Un outil d'attaque pour utilisateurs Office365 | Kitploit
Outils/GitHubGitHub/optiv/go365
Attaques de Mots de PasseCollecte d'InformationsTests d'IntrusionAuthentification
GitHuboptiv/go365

Go365

Un outil d'attaque pour utilisateurs Office365

Voir le dépôt
652102il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Go365 v2.0

  • Correction des problèmes de passerelle AWS (merci h0useh3ad !)
  • Ne plante plus lorsque les connexions au serveur proxy échouent
  • Ajout du point de terminaison graph

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.

Lisez ces trois points !
  • Cet outil peut ne pas fonctionner sur tous les domaines qui utilisent o365. Les tests montrent qu'il fonctionne avec la plupart des domaines fédérés. Certains domaines ne signaleront que des utilisateurs valides même si un mot de passe valide est également fourni. Vos résultats peuvent varier !
  • Les domaines sur lesquels cet outil a été testé ont montré qu'il ne verrouillait pas réellement les comptes après plusieurs échecs de mot de passe. Vos résultats peuvent varier !
  • Cet outil est destiné à être utilisé par des professionnels de la sécurité autorisés à « attaquer » l'instance o365 de l'organisation cible.

Obtention

Option 0

Téléchargez un binaire pré-compilé pour votre OS ICI.

Option 1

Téléchargez le code source et compilez localement.

  1. Installez Go.
  2. Clonez le dépôt.
  3. Naviguez vers le dépôt et compilez, espèce d'ahuri.
root@kitploit:~
go build Go365.go
  1. Exécutez le binaire résultant

Utilisation

root@kitploit:~
$ ./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

Exemples

root@kitploit:~
  ./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

  *Astuce : Si vous obtenez beaucoup de réponses "Compte verrouillé", alors vous voudrez peut-être utiliser un proxy ou une passerelle AWS.

Compte verrouillé ! (Défenses du domaine)

astuce : Vous ne verrouillez probablement pas réellement les comptes.

Après un certain nombre de requêtes sur un domaine cible, les résultats peuvent commencer à signaler que les comptes sont verrouillés.

Une fois cette défense déclenchée, l'énumération d'utilisateurs devient peu fiable car les requêtes pour les utilisateurs valides et invalides signaleront aléatoirement que leurs comptes ont été verrouillés.

root@kitploit:~
...
[-] Utilisateur non trouvé : [email protected]
[-] Utilisateur non trouvé : [email protected]
[-] Utilisateur valide, mais mot de passe invalide : [email protected]
[!] Compte verrouillé : [email protected]
[-] Utilisateur valide, mais mot de passe invalide : [email protected]
[!] Compte verrouillé : [email protected]
[!] Compte verrouillé : [email protected]
[-] Utilisateur valide, mais mot de passe invalide : [email protected]
[-] Utilisateur valide, mais mot de passe invalide : [email protected]
[!] Compte verrouillé : [email protected]
...

Il s'agit d'un mécanisme défensif déclenché par le nombre de requêtes d'utilisateurs valides sur le domaine cible dans une certaine période de temps. Le nombre de tentatives et la période de temps varieront en fonction du domaine cible car les seuils peuvent être personnalisés par l'organisation cible.

Contrer les défenses

Temps d'attente

Le mécanisme défensif est basé sur le temps et l'adresse IP. Go365 fournit des options pour inclure un temps d'attente entre les requêtes et des options de proxy pour distribuer la source des requêtes. Pour contourner les mécanismes défensifs sur votre domaine cible, utilisez un temps d'attente long et plusieurs serveurs proxy.

Un temps d'attente d'AU MOINS 15 secondes est recommandé. -w 15

Proxies SOCKS5

Si vous obtenez toujours des réponses "compte verrouillé", commencez à utiliser des proxies pour vos requêtes. Les options de proxy n'ont été testées qu'avec des proxies dynamiques SOCKS5 SSH (ssh -D <port> user@proxyserver)

Créez un tas de proxies SOCKS5 sur DO ou AWS ou Vultr ou autre et créez un fichier qui ressemble à ceci :

root@kitploit:~
127.0.0.1:8081
127.0.0.1:8082
127.0.0.1:8083
127.0.0.1:8084
127.0.0.1:8085
127.0.0.1:8086
...

L'outil parcourra aléatoirement les serveurs proxy fournis et attendra le temps spécifié entre les requêtes.

-w 15 -proxyfile ./proxies.txt

Amazon API Gateway

De plus, une URL de point de terminaison peut être spécifiée pour que cet outil puisse interagir avec Amazon API Gateway. Configurez une passerelle pointant vers le point de terminaison https://login.microsoftonline.com/rst2.srf, puis définissez le paramètre -url sur l' Invoke URL fournie. Votre IP devrait être changée à chaque requête.

-url https://justanexample.execute-api.us-east-2.amazonaws.com/login

Télécharger l’outil