Transfer AFL files over a mesh to fuzz across multiple servers
Go to file
2021-04-22 20:35:32 +02:00
logistic Do not delete existing things - AFLs filenames are unique, so the files are identical anyway 2021-04-22 20:35:32 +02:00
net Add statistics 2021-04-20 10:34:32 +02:00
stats Add statistics 2021-04-20 10:34:32 +02:00
watchdog Search for local fuzzers on every run, not only on first run 2020-06-20 10:38:21 +02:00
go.mod Add statistics 2021-04-20 10:34:32 +02:00
go.sum Add statistics 2021-04-20 10:34:32 +02:00
main.go Add flag for statistics 2021-04-20 10:36:04 +02:00
README.md Add Features section to README 2021-04-22 19:54:23 +02:00

afl-transmit

Transfer AFL files over a mesh to fuzz across multiple servers

Features

  • Using DEFLATE compression format (see RFC 1951)
  • Automatically syncs the main fuzzer to secondary nodes, and all secondary fuzzers back to the main node
  • Usable on UNIXoid (Linux, OSX) systems and Windows

Usage

You need to specify your AFL output directory with --fuzzer-directory, and your peers with --peers. Some other options exist to let you fine-tune your afl-transmit experience, have a look at them via --help.

On default, afl-transmit opens port 1337/TCP to wait for incoming connections. If you are not on a private net, make sure to protect this port with a firewall, or anyone on the internet may send you files (although this might become interesting). As a countermeasure, use the --restrict-to-peers flags to only allow connections from your known peers.

Quickstart

  • On your host 10.0.0.1: ./afl-transmit --fuzzer-directory /ram/output --peers 10.0.0.2,10.0.0.3
  • On your host 10.0.0.2: ./afl-transmit --fuzzer-directory /ram/output --peers 10.0.0.1,10.0.0.3
  • On your host 10.0.0.3: ./afl-transmit --fuzzer-directory /ram/output --peers 10.0.0.1,10.0.0.2