sfuzz
sfuzz is a simple black box testing utility for fuzzing network services and protocols. It provides a flexible framework for generating and sending fuzz data to remote hosts.
Description
sfuzz, or Simple Fuzzer, is designed as an easy-to-use black box testing suite similar to the Generic Protocol Framework. Its primary goal is to offer a powerful yet straightforward tool for fuzzing to identify vulnerabilities in network services without requiring deep knowledge of the internal protocol structures.
Use cases include testing HTTP servers, custom protocols, or any TCP/UDP service by supplying a configuration file that defines fuzzing points. It supports literal and sequence fuzzing modes, logging, and integration with monitoring tools like sfo for crash detection.
The tool is particularly suited for penetration testers needing quick setup for protocol fuzzing in controlled environments.
How It Works
sfuzz reads a configuration file (e.g., basic.http) that specifies fuzzing points with literals, sequences, and symbols. It generates mutated payloads based on these definitions and sends them over TCP, UDP, or to output. Options like state, lineno, req_del, and mseq_len control fuzzing progression and timing. It integrates with sfo for spawning monitored oracle processes to detect crashes via exit statuses.
Installation
sudo apt install sfuzzFlags
Examples
sfuzz -S 192.168.1.1 -p 10443 -T -f /usr/share/sfuzz/sfuzz-sample/basic.httpsfuzz -hsfo -hsfuzz -Vsfuzz -S 192.168.1.1 -p 10443 -T -f config.http -vsfuzz -S target.host -p 80 -T -f /usr/share/sfuzz/sfuzz-sample/basic.http -L fuzz.log