업데이트로 돌아가기
New releaseAug 13, 2026

brutus v1.11.0

Go로 작성된 빠르고 의존성 없는 자격 증명 테스트 도구입니다. SSH, MySQL, PostgreSQL, Redis, MongoDB, SMB 및 20개 이상의 프로토콜을 무차별 대입합니다. 기본 nerva/naabu 파이프라인 통합을 갖춘 Hydra 대체 도구입니다.

공유
Brutus - Social

Brutus

"Et tu, Brute?" — 자격 증명이 무너지기 전의 마지막 말.

순수 Go로 작성된 현대적인 자격 증명 테스트 도구

설치 • 빠른 시작 • 파이프라인 • 지원 프로토콜 • 계정 열거 • 프록시 • 라이브러리


개요

Brutus는 다양한 네트워크 서비스에 대한 효율적인 자격 증명 검증이라는 공격적 보안 도구의 중요한 격차를 해결하기 위해 설계된 다중 프로토콜 인증 테스트 도구입니다. HTTP에 초점을 맞춘 도구는 많지만, 침투 테스터와 레드팀 운영자는 데이터베이스, SSH, SMB 및 기타 네트워크 서비스를 자주 마주하게 되며, 이러한 서비스에는 특화된 인증 테스트 기능이 필요합니다.

Go로 작성되어 외부 의존성이 전혀 없는 단일 바이너리로 제공되는 Brutus는 Nerva와 원활하게 통합되어 자동 서비스 검색을 지원하며, 운영자가 전체 네트워크 범위에서 인증 벡터를 신속하게 식별하고 테스트할 수 있도록 합니다.

주요 기능:

  • 의존성 제로: 단일 바이너리, 크로스 플랫폼 (Linux, Windows, macOS)
  • 27개 프로토콜: SSH, RDP, MySQL, PostgreSQL, MSSQL, Oracle, Redis, SMB, LDAP, WinRM, SNMP, HTTP Basic Auth 등
  • SOCKS5 프록시 지원: --proxy 플래그로 모든 트래픽을 SOCKS5 프록시를 통해 라우팅
  • 공격성 모드: 커버리지와 안전성을 조정하기 위한 --mode cautious|default|aggressive
  • 파이프라인 통합: Nerva, naabu, nmap, masscan 워크플로우를 기본 지원
  • 내장된 불량 키: 알려진 SSH 키(Vagrant, F5, ExaGrid 등)의 내장 컬렉션
  • 계정 열거: 계정 존재 여부 오라클 열거, Kerberos 사용자 열거, 이메일 생성, Microsoft Teams/Entra ID 디바이스 코드 인증
  • Go 라이브러리: 보안 자동화 도구에 직접 임포트
  • 프로덕션 준비: 속도 제한, 연결 풀링, 포괄적인 오류 처리

Brutus를 선택해야 하는 이유?

THC Hydra와 같은 전통적인 도구는 보안 커뮤니티에 유용하게 사용되어 왔지만, 복잡한 의존성 체인, 플랫폼별 컴파일 문제, 현대적인 정찰 워크플로우와의 기본 통합 부재 등 상당한 마찰이 있습니다.

Brutus는 현대적인 공격적 보안을 위해 특별히 제작되었습니다:

  • 진정한 제로 의존성 배포: 단일 바이너리를 다운로드하여 실행하세요. libssh-dev, libmysqlclient-dev 없음, 컴파일 오류 없음. Linux, macOS, Windows에서 동일하게 작동합니다.
  • 네이티브 파이프라인 통합: Brutus는 JSON을 사용하며 Nerva, naabu, nmap, masscan와 직접 통합됩니다. 발견된 서비스를 형식 변환이나 스크립팅 없이 자격 증명 테스트로 바로 연결합니다.
  • 내장된 지능: 알려진 SSH 불량 키(Vagrant, F5 BIG-IP, ExaGrid 등)가 바이너리에 컴파일되어 있습니다. brutus badkeys 명령어로 SSH 대상에 대해 테스트하세요.
  • 라이브러리 우선 설계: Brutus를 Go 보안 도구에 직접 임포트하세요. 외부 프로세스에 의존하지 않고 맞춤형 자동화를 구축할 수 있습니다.```bash

Full network credential audit in one pipeline (JSON mode)

naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva --json | brutus creds --json

Or use Nerva's default URI output — no --json flags needed

naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva | brutus creds

---

## 사용 사례

### 침투 테스트
- 내부 평가 중에 발견된 자격 증명을 여러 서비스에서 검증
- 데이터베이스 및 파일 공유 서비스 전반의 비밀번호 재사용 패턴 테스트
- 새로 배포된 인프라에서 기본 자격 증명 식별

### 레드 팀 운영
- 비밀번호 덤프 또는 피싱 캠페인 이후 빠른 자격 증명 검증
- 네트워크 서비스 전반의 측면 이동 기회 테스트
- 이질적인 환경에서 손상된 자격 증명 검증

### 개인 키 스프레이

손상된 시스템에서 개인 키를 찾았나요? 네트워크 전체에 스프레이하여 다른 곳에서도 액세스 권한을 부여하는지 확인하세요:```bash
# Discover SSH services and spray a found private key
naabu -host 10.0.0.0/24 -p 22 -silent | \
  nerva --json | \
  brutus creds -u root,admin,ubuntu,deploy -k /path/to/found_key --json

이 파이프라인은 모든 SSH 서비스를 발견하고, Nerva로 식별하며, 손상된 키를 일반적인 사용자 이름으로 테스트하여 몇 초 만에 측면 이동 기회를 드러냅니다.

웹 관리자 패널 테스트

HTTP 서비스를 발견하고 AI 기반 탐지 또는 수동 자격 증명 목록을 사용하여 자격 증명을 테스트합니다:```bash

AI-powered: auto-detect devices and suggest default credentials

naabu -host 10.0.0.0/24 -p 80,443,3000,8080,9090 -silent |
nerva --json |
brutus web --experimental-ai --json

Manual: test specific credentials against web panels

naabu -host 10.0.0.0/24 -p 80,443,8080 -silent |
nerva --json |
brutus web -c "admin:admin,root:password" --json

Default wordlist: test common credentials without AI or -c

naabu -host 10.0.0.0/24 -p 80,443,8080 -silent |
nerva --json |
brutus web --json

### 보안 검증
- 새로 배포된 서비스에 기본 자격 증명 테스트
- 플랫폼 간 비밀번호 정책 적용 검증
- 컴플라이언스 및 보안 평가를 위한 감사 추적 생성

---

## 설치

### 사전 빌드된 바이너리 (권장)

[GitHub Releases](https://github.com/praetorian-inc/brutus/releases)에서 다운로드:```bash
# Linux (amd64)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-linux-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/

# macOS (Apple Silicon)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-arm64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/

# macOS (Intel)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/

입력:```powershell

Windows (PowerShell)

Invoke-WebRequest -Uri https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-windows-amd64.zip -OutFile brutus.zip Expand-Archive -Path brutus.zip -DestinationPath . Remove-Item brutus.zip

### Go 설치```bash
go install github.com/praetorian-inc/brutus/cmd/brutus@latest

빠른 시작

하위 명령어

Brutus는 기능을 6개의 특화된 하위 명령어로 구성합니다.```bash brutus creds # Non-HTTP credential auditing (SSH, databases, SMB, etc.) brutus web # HTTP/web panel auditing (Basic Auth, form login, AI-powered) brutus snmp # SNMP community string testing brutus badkeys # Known weak/compromised SSH key testing brutus logon # Windows logon-screen backdoor detection (sticky keys, utilman) brutus enum # Account enumeration (account-existence oracles, Kerberos, Teams auth, email generation)

각 서브명령어에는 검색을 위한 별칭이 있습니다:

| 서브명령어 | 별칭 |
|------------|---------|
| `creds` | `services`, `defaults`, `credentials` |
| `web` | `http`, `panels` |
| `snmp` | `community` |
| `badkeys` | `keys`, `ssh-keys`, `badkey` |
| `logon` | `stickykeys`, `sticky-keys`, `utilman`, `sethc`, `winlogon`, `accessibility` |
| `enum` | *(없음)* |```bash
# Test SSH credentials
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

# Test HTTP web panel with AI credential detection
brutus web --target 192.168.1.1:80 --experimental-ai

# Test HTTP web panel with manual credentials
brutus web --target 192.168.1.1:80 -c "admin:admin,root:toor"

# Test SNMP community strings
brutus snmp --target 192.168.1.1:161 --mode aggressive

# Detect Windows logon-screen backdoors
brutus logon --target 10.0.0.50:3389

# Pipeline mode: creds skips HTTP/SNMP, web skips non-HTTP, snmp skips non-SNMP
naabu -host 10.0.0.0/24 -silent | nerva --json | brutus creds -P passwords.txt
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | nerva --json | brutus web --experimental-ai
naabu -host 10.0.0.0/24 -p 161 -silent | nerva --json | brutus snmp --mode aggressive

기본 사용법```bash

Test SSH with default credentials

brutus creds --target 192.168.1.100:22 --protocol ssh

Test with specific credentials

brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

Test with username and password lists

brutus creds --target 192.168.1.100:22 --protocol ssh -U users.txt -P passwords.txt

Test MySQL database

brutus creds --target 192.168.1.100:3306 --protocol mysql -u root -p password

Test SSH with a specific private key

brutus creds --target 192.168.1.100:22 --protocol ssh -u deploy -k /path/to/id_rsa

Increase threads for faster testing

brutus creds --target 192.168.1.100:22 --protocol ssh -t 20

카테고리