Hacking Tools

Brainstorm : Revolutionizing Web Fuzzing With Local LLMs

Brainstorm is an innovative web fuzzing tool that integrates traditional fuzzing techniques with AI-powered insights, leveraging local Large Language Models (LLMs) via Ollama to optimize the discovery of hidden directories, files, and endpoints in web applications.

By combining the speed and efficiency of tools like ffuf with the intelligence of LLMs, Brainstorm significantly enhances the fuzzing process, uncovering more endpoints with fewer requests.

Key Features

  1. AI-Powered Path Generation: Brainstorm uses local LLMs to analyze extracted links from a target website and generate intelligent guesses for potential paths and filenames.
  2. Iterative Learning: The tool learns from its discoveries, refining its suggestions in subsequent cycles to maximize efficiency.
  3. Customizable Fuzzing: Users can specify models, prompts, status codes, and cycles to tailor the fuzzing process to their needs.

Brainstorm operates in a repetitive cycle:

  • Extract initial links from the target website.
  • Use an LLM model (e.g., qwen2.5-coder) to suggest new paths based on these links.
  • Fuzz the suggested paths using ffuf.
  • Incorporate valid discoveries into the next cycle for further exploration.

This approach reduces the number of requests sent to the target site while increasing the likelihood of finding hidden resources, making it particularly effective for applications with strict rate limits or defenses against brute-force attacks.

Brainstorm includes two main tools:

  1. fuzzer.py: A general-purpose fuzzer for path discovery.
  2. fuzzer_shortname.py: Specialized for discovering short filenames (e.g., legacy 8.3 formats).

Requirements:

  • Python 3.6+
  • ffuf
  • Ollama (for running local LLMs)
  • Python dependencies listed in requirements.txt

To get started:

  1. Clone the repository and install dependencies: bashgit clone https://github.com/Invicti-Security/brainstorm.git cd brainstorm pip install -r requirements.txt
  2. Ensure ffuf is installed and Ollama is running locally.
  3. Run basic fuzzing: bashpython fuzzer.py "ffuf -w ./fuzz.txt -u http://example.com/FUZZ"

Brainstorm has demonstrated exceptional results compared to traditional wordlist-based fuzzing:

  • ffuf with wordlist jsp.txt: 100,000 requests yielded 5 endpoints.
  • Brainstorm: Only 328 requests uncovered 10 endpoints.

This efficiency highlights Brainstorm’s potential to transform web fuzzing by combining AI-driven insights with robust traditional methods.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

2 weeks ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

2 weeks ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

4 weeks ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

4 weeks ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 weeks ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

4 weeks ago