Spike
Spike is a network protocol fuzzer designed for analyzing new network protocols for buffer overflows and similar weaknesses. It is the professional tool of choice, producing unmatched results in the field.
Description
When you need to analyze a new network protocol for buffer overflows or similar weaknesses, Spike is the tool of choice for professionals. While it requires a strong knowledge of C to use, it produces results second to none in the field. Spike includes specialized fuzzer scripts for various protocols and services including Citrix, web servers, MSRPC, and game servers.
The package contains multiple binary tools like citrix, closed_source_web_server_fuzz, dceoversmb, msrpcfuzz, and others, each targeting specific protocols or services. These tools enable comprehensive fuzzing of network interactions to discover vulnerabilities such as buffer overflows, server crashes, and exploitable conditions in closed-source and proprietary software.
Spike is particularly useful for security researchers testing web servers, RPC services, and custom protocols where standard fuzzers fall short. Users are encouraged to test various file extensions, HTTP methods, and protocol parameters to identify buggy or exploitable conditions.
How It Works
Spike operates by generating fuzzed network packets and protocol interactions based on predefined spike scripts (.spk files) or direct parameter inputs. It systematically injects malformed data, oversized buffers, random XDR items, and invalid parameters into target protocols like MSRPC, SunRPC, HTTP POST requests, and game protocols. Tools connect via TCP/UDP to targets, send crafted payloads while skipping specified variables or fuzz strings, and monitor for crashes, 500 errors, or other indicators of vulnerabilities. Specialized binaries handle protocol-specific fuzzing such as chunked HTTP, NTLM authentication, and web server extensions.
Installation
sudo apt install spikeFlags
Examples
./citrix 192.168.1.101 1494./closed_source_web_server_fuzz localhost 80 POST /_vti_bin/ shtml .exe 0 0./dceoversmb 10.25.25.15 \pipe\srvsvc e1af8308-5d1f-11c9-91a4-08002b14a0fa 3 0 2 10 3 [login password]./generic_listen_tcp 70 gopherd.spk./generic_send_tcp 192.168.1.100 701 something.spk 0 0./halflife 192.168.1.101 27010./msrpcfuzz 10.25.25.15 135 e1af8308-5d1f-11c9-91a4-08002b14a0fa 3 0 2 10 3 [OBJECT UUID]./post_fuzz localhost 80 /bob2.php