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

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 days 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 days 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,…

5 days 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…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago