
automatisiertes Passwort-Spraying-Tool
Das Trident-Projekt ist ein automatisiertes Passwort-Spraying-Werkzeug, das entwickelt wurde, um die folgenden Anforderungen zu erfüllen:

Dieses Diagramm wurde mit Diagrams erstellt. Der Go-Gopher wurde von Renee French entworfen und ist unter CC BY 3.0 lizenziert.
Die Bereitstellung von Trident erfordert ein Google Cloud-Projekt, einen Domainnamen (für die Orchestrator-API) und eine Cloudflare Access-Konfiguration für diese Domain. Cloudflare Access wird verwendet, um Anfragen an die Orchestrator-API zu authentifizieren.
brew install cloudflare/cloudflare/cloudflared
brew install terraform
cd terraform
cloudflared login
terraform init
terraform plan
terraform apply
Trident verfügt über eine Befehlszeilenschnittstelle, die auf der Releases-Seite verfügbar ist.
Alternativ können Sie trident-client über go get herunterladen und installieren:
GO111MODULE=on go get github.com/praetorian-inc/trident/cmd/trident-client
Die Binärdatei trident-client sendet API-Anfragen an den Orchestrator. Sie liest
aus ~/.trident/config.yaml, das folgendes Format hat:
orchestrator-url: https://trident.example.org
providers:
okta:
subdomain: example
adfs:
domain: adfs.example.org
o365:
domain: login.microsoft.com
Mit einer gültigen config.yaml kann der trident-client verwendet werden, um Passwort-Spraying-Kampagnen zu erstellen, wie unten gezeigt:
trident-client campaign -u usernames.txt -p passwords.txt --interval 5s --window 120s
Die Option --interval ermöglicht es dem Operator, Verzögerungen zwischen den Anmeldeversuchen einzufügen. Die Option --window ermöglicht es dem Operator, eine feste Stoppzeit für die Kampagne festzulegen. Zusätzliche Argumente sind unten dokumentiert:
Usage:
trident-cli campaign [flags]
Flags:
-a, --auth-provider string dies ist die Authentifizierungsplattform, die Sie angreifen (Standard: "okta")
-h, --help Hilfe für campaign
-i, --interval duration Anfragen erfolgen mit diesem Intervall dazwischen (Standard: 1s)
-b, --notbefore string Anfragen beginnen nicht vor diesem Zeitpunkt (Standard: "2020-09-09T22:31:38.643959-05:00")
-p, --passfile string Datei mit Passwörtern (durch Zeilenumbruch getrennt)
-u, --userfile string Datei mit Benutzernamen (durch Zeilenumbruch getrennt)
-w, --window duration Eine Dauer, für die diese Kampagne aktiv ist (z.B. 4w) (Standard: 672h0m0s)
Der Unterbefehl results kann verwendet werden, um die Ergebnistabelle abzufragen. Dieser Unterbefehl hat mehrere Optionen, zeigt aber standardmäßig alle gültigen Anmeldeinformationen aller Kampagnen an.
$ trident-client results
+----+-------------------+------------+-------+
| ID | USERNAME | PASSWORD | VALID |
+----+-------------------+------------+-------+
| 1 | [email protected] | Password1! | true |
| 2 | [email protected] | Password2! | true |
| 3 | [email protected] | Password3! | true |
+----+-------------------+------------+-------+
Zusätzliche Argumente sind unten dokumentiert:
Usage:
trident-cli results [flags]
Flags:
-f, --filter string Filter auf DB-Ergebnisse (angegeben in JSON) (Standard: '{"valid":true}')
-h, --help Hilfe für results
-o, --output-format string Ausgabeformat (table, csv, json) (Standard: "table")
-r, --return string Die Liste der Felder, die Sie aus den Ergebnissen sehen möchten (durch Komma getrennte Zeichenfolge) (Standard: "*")