All Projects → praetorian-inc → trident

praetorian-inc / trident

Licence: Apache-2.0 license
automated password spraying tool

Programming Languages

go
31211 projects - #10 most used programming language
HCL
1544 projects
Dockerfile
14818 projects

Labels

Projects that are alternatives of or similar to trident

AggressiveGadgetToJScript
A Cobalt Strike Aggressor script to generate GadgetToJScript payloads
Stars: ✭ 90 (-32.33%)
Mutual labels:  redteam
KnockOutlook
A little tool to play with Outlook
Stars: ✭ 188 (+41.35%)
Mutual labels:  redteam
transportc2
PoC Command and Control Server. Interact with clients through a private web interface, add new users for team sharing and more.
Stars: ✭ 22 (-83.46%)
Mutual labels:  redteam
AggressorScripts 0x727
Cobalt Strike AggressorScripts For Red Team
Stars: ✭ 131 (-1.5%)
Mutual labels:  redteam
1earn
ffffffff0x 团队维护的安全知识框架,内容包括不仅限于 web安全、工控安全、取证、应急、蓝队设施部署、后渗透、Linux安全、各类靶机writup
Stars: ✭ 3,715 (+2693.23%)
Mutual labels:  redteam
volana
🌒 Shell command obfuscation to avoid detection systems
Stars: ✭ 38 (-71.43%)
Mutual labels:  redteam
DNSWho
transmit cs beacon (shellcode) over self-made dns to avoid anti-kill and AV
Stars: ✭ 47 (-64.66%)
Mutual labels:  redteam
Shelly
Automatic Reverse Shell Generator
Stars: ✭ 38 (-71.43%)
Mutual labels:  redteam
meteor
A cross-platform C2/teamserver supporting multiple transport protocols, written in Go.
Stars: ✭ 31 (-76.69%)
Mutual labels:  redteam
ReverseShellDll
C++ Windows Reverse Shell - Universal DLL Hijack | SSL Encryption | Statically Linked
Stars: ✭ 69 (-48.12%)
Mutual labels:  redteam
nTimetools
Timestomper and Timestamp checker with nanosecond accuracy for NTFS volumes
Stars: ✭ 25 (-81.2%)
Mutual labels:  redteam
purple-team-exercise-framework
Purple Team Exercise Framework
Stars: ✭ 284 (+113.53%)
Mutual labels:  redteam
RedBook
基于Threathunting-book基础上完善的狩猎视角红队handbook
Stars: ✭ 56 (-57.89%)
Mutual labels:  redteam
Jiraffe
One stop place for exploiting Jira instances in your proximity
Stars: ✭ 157 (+18.05%)
Mutual labels:  redteam
MsfMania
Python AV Evasion Tools
Stars: ✭ 388 (+191.73%)
Mutual labels:  redteam
MurMurHash
This little tool is to calculate a MurmurHash value of a favicon to hunt phishing websites on the Shodan platform.
Stars: ✭ 79 (-40.6%)
Mutual labels:  redteam
adduser-dll
Simple DLL that add a user to the local Administrators group
Stars: ✭ 48 (-63.91%)
Mutual labels:  redteam
OffensiveCloudDistribution
Leverage the ability of Terraform and AWS or GCP to distribute large security scans across numerous cloud instances.
Stars: ✭ 86 (-35.34%)
Mutual labels:  redteam
Constole
Scan for and exploit Consul agents
Stars: ✭ 37 (-72.18%)
Mutual labels:  redteam
fofa viewer
一个简单实用的FOFA客户端 By flashine
Stars: ✭ 815 (+512.78%)
Mutual labels:  redteam

trident

CI Release Docker

The Trident project is an automated password spraying tool developed to meet the following requirements:

  • the ability to be deployed on several cloud platforms/execution providers

  • the ability to schedule spraying campaigns in accordance with a target’s account lockout policy

  • the ability to increase the IP pool that authentication attempts originate from for operational security purposes

  • the ability to quickly extend functionality to include newly-encountered authentication platforms

Table of Contents

Architecture

Architecture diagram

This diagram was generated using Diagrams. The Go gopher was designed by Renee French and is licensed under CC BY 3.0.

Deployment

Deploying trident requires a Google Cloud project, a domain name (for the orchestrator API), and a Cloudflare Access configuration for this domain. Cloudflare Access is used to authenticate requests to the orchestrator API.

brew install cloudflare/cloudflare/cloudflared
brew install terraform
cd terraform
cloudflared login
terraform init
terraform plan
terraform apply

Installation

Trident has a command line interface available in the releases page. Alternatively, you can download and install trident-client via go get:

GO111MODULE=on go get github.com/praetorian-inc/trident/cmd/trident-client

Usage

Config

The trident-client binary sends API requests to the orchestrator. It reads from ~/.trident/config.yaml, which has the following format:

orchestrator-url: https://trident.example.org
providers:
  okta:
    subdomain: example
  adfs:
    domain: adfs.example.org
  o365:
    domain: login.microsoft.com

Campaigns

With a valid config.yaml, the trident-client can be used to create password spraying campaigns, as shown below:

trident-client campaign -u usernames.txt -p passwords.txt --interval 5s --window 120s

The --interval option allows the operator to insert delays between credential attempts. The --window option allows the operator to set a hard stop time for the campaign. Additional arguments are documented below:

Usage:
  trident-cli campaign [flags]

Flags:
  -a, --auth-provider string   this is the authentication platform you are attacking (default "okta")
  -h, --help                   help for campaign
  -i, --interval duration      requests will happen with this interval between them (default 1s)
  -b, --notbefore string       requests will not start before this time (default "2020-09-09T22:31:38.643959-05:00")
  -p, --passfile string        file of passwords (newline separated)
  -u, --userfile string        file of usernames (newline separated)
  -w, --window duration        a duration that this campaign will be active (ex: 4w) (default 672h0m0s)

Results

The results subcommand can be used to query the result table. This subcommand has several options, but defaults to showing all valid credentials across all campaigns.

$ trident-client results
+----+-------------------+------------+-------+
| ID | USERNAME          | PASSWORD   | VALID |
+----+-------------------+------------+-------+
|  1 | [email protected] | Password1! | true  |
|  2 | [email protected]   | Password2! | true  |
|  3 | [email protected]   | Password3! | true  |
+----+-------------------+------------+-------+

Additional arguments are documented below:

Usage:
  trident-cli results [flags]

Flags:
  -f, --filter string          filter on db results (specified in JSON) (default '{"valid":true}')
  -h, --help                   help for results
  -o, --output-format string   output format (table, csv, json) (default "table")
  -r, --return string          the list of fields you would like to see from the results (comma-separated string) (default "*")
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].