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

cp Command: Copy Files and Directories in Linux

The cp command, short for "copy," is the main Linux utility for duplicating files and directories. Whether…

6 days ago

Image OSINT

Introduction In digital investigations, images often hold more information than meets the eye. With the…

6 days ago

cat Command: Read and Combine File Contents in Linux

The cat command short for concatenate, It is a fast and versatile tool for viewing and merging…

6 days ago

Port In Networking

What is a Port? A port in networking acts like a gateway that directs data…

6 days ago

ls Command: List Directory Contents in Linux

The ls command is fundamental for anyone working with Linux. It’s used to display the files and…

6 days ago

pwd Command: Find Your Location in Linux

The pwd (Print Working Directory) command is essential for navigating the Linux filesystem. It instantly shows your…

7 days ago