
자동화된 패스워드 스프레이 도구
Trident 프로젝트는 다음 요구 사항을 충족하기 위해 개발된 자동화된 비밀번호 분사 도구입니다.
여러 클라우드 플랫폼/실행 제공자에 배포할 수 있는 능력
대상의 계정 잠금 정책에 따라 분사 캠페인을 예약할 수 있는 능력
운영 보안 목적으로 인증 시도가 발생하는 IP 풀을 늘릴 수 있는 능력
새로운 인증 플랫폼을 만났을 때 신속하게 기능을 확장할 수 있는 능력

이 다이어그램은 Diagrams를 사용하여 생성되었습니다. Go 고퍼는 Renee French에 의해 디자인되었으며 CC BY 3.0 라이선스 하에 있습니다.
Trident를 배포하려면 Google Cloud 프로젝트, 도메인 이름(오케스트레이터 API용) 및 이 도메인에 대한 Cloudflare Access 구성이 필요합니다. Cloudflare Access는 오케스트레이터 API에 대한 요청을 인증하는 데 사용됩니다.
brew install cloudflare/cloudflare/cloudflared
brew install terraform
cd terraform
cloudflared login
terraform init
terraform plan
terraform apply
Trident는 릴리스 페이지에서 사용할 수 있는 명령줄 인터페이스를 제공합니다. 또는 go get을 통해 trident-client를 다운로드하여 설치할 수 있습니다:
GO111MODULE=on go get github.com/praetorian-inc/trident/cmd/trident-client
trident-client 바이너리는 오케스트레이터에 API 요청을 보냅니다. 다음 형식의 ~/.trident/config.yaml 파일을 읽습니다:
orchestrator-url: https://trident.example.org
providers:
okta:
subdomain: example
adfs:
domain: adfs.example.org
o365:
domain: login.microsoft.com
유효한 config.yaml이 있으면 trident-client를 사용하여 아래와 같이 비밀번호 분사 캠페인을 생성할 수 있습니다:
trident-client campaign -u usernames.txt -p passwords.txt --interval 5s --window 120s
--interval 옵션을 사용하면 운영자가 자격 증명 시도 사이에 지연 시간을 삽입할 수 있습니다. --window 옵션을 사용하면 캠페인의 하드 정지 시간을 설정할 수 있습니다. 추가 인수는 아래에 설명되어 있습니다:
Usage:
trident-cli campaign [flags]
Flags:
-a, --auth-provider string 공격 중인 인증 플랫폼입니다 (기본값 "okta")
-h, --help 캠페인 도움말
-i, --interval duration 요청 간격 (기본값 1s)
-b, --notbefore string 이 시간 이전에는 요청이 시작되지 않습니다 (기본값 "2020-09-09T22:31:38.643959-05:00")
-p, --passfile string 비밀번호 파일 (줄바꿈으로 구분)
-u, --userfile string 사용자 이름 파일 (줄바꿈으로 구분)
-w, --window duration 캠페인이 활성화될 기간 (예: 4w) (기본값 672h0m0s)
results 하위 명령은 결과 테이블을 조회하는 데 사용할 수 있습니다. 이 하위 명령에는 여러 옵션이 있지만 기본적으로 모든 캠페인에서 유효한 모든 자격 증명을 표시합니다.
$ trident-client results
+----+-------------------+------------+-------+
| ID | USERNAME | PASSWORD | VALID |
+----+-------------------+------------+-------+
| 1 | [email protected] | Password1! | true |
| 2 | [email protected] | Password2! | true |
| 3 | [email protected] | Password3! | true |
+----+-------------------+------------+-------+
추가 인수는 아래에 설명되어 있습니다:
Usage:
trident-cli results [flags]
Flags:
-f, --filter string DB 결과 필터 (JSON 형식) (기본값 '{"valid":true}')
-h, --help 결과 도움말
-o, --output-format string 출력 형식 (table, csv, json) (기본값 "table")
-r, --return string 결과에서 보고 싶은 필드 목록 (쉼표로 구분된 문자열) (기본값 "*")