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

How Web Application Firewalls (WAFs) Work

General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…

5 hours ago

How to Send POST Requests Using curl in Linux

How to Send POST Requests Using curl in Linux If you work with APIs, servers,…

5 hours ago

What Does chmod 777 Mean in Linux

If you are a Linux user, you have probably seen commands like chmod 777 while…

5 hours ago

How to Undo and Redo in Vim or Vi

Vim and Vi are among the most powerful text editors in the Linux world. They…

5 hours ago

How to Unzip and Extract Files in Linux

Working with compressed files is a common task for any Linux user. Whether you are…

5 hours ago

Free Email Lookup Tools and Reverse Email Search Resources

In the digital era, an email address can reveal much more than just a contact…

6 hours ago