Transfer AFL files over a mesh to fuzz across multiple servers
Go to file
2021-04-22 20:47:07 +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 Choose fuzzers to transmit based on the role of the node afl-transmit runs on 2021-04-22 20:47:07 +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 Choose fuzzers to transmit based on the role of the node afl-transmit runs on 2021-04-22 20:47:07 +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 --main --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
  • On your host 10.0.0.3: ./afl-transmit --fuzzer-directory /ram/output --peers 10.0.0.1