aboutsummaryrefslogtreecommitdiff
path: root/examples/distributed_fuzzing
diff options
context:
space:
mode:
Diffstat (limited to 'examples/distributed_fuzzing')
-rwxr-xr-xexamples/distributed_fuzzing/sync_script.sh97
1 files changed, 0 insertions, 97 deletions
diff --git a/examples/distributed_fuzzing/sync_script.sh b/examples/distributed_fuzzing/sync_script.sh
deleted file mode 100755
index b28ff6cd..00000000
--- a/examples/distributed_fuzzing/sync_script.sh
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/sh
-#
-# american fuzzy lop++ - fuzzer synchronization tool
-# --------------------------------------------------
-#
-# Originally written by Michal Zalewski
-#
-# Copyright 2014 Google Inc. All rights reserved.
-# Copyright 2019-2020 AFLplusplus Project. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# To make this script work:
-#
-# - Edit FUZZ_HOSTS, FUZZ_DOMAIN, FUZZ_USER, and SYNC_DIR to reflect your
-# environment.
-#
-# - Make sure that the system you are running this on can log into FUZZ_HOSTS
-# without a password (authorized_keys or otherwise).
-#
-# - Make sure that every fuzzer is running with -o pointing to SYNC_DIR and -S
-# that consists of its local host name, followed by an underscore, and then
-# by some host-local fuzzer ID.
-#
-
-# Hosts to synchronize the data across.
-FUZZ_HOSTS='host1 host2 host3 host4'
-
-# Domain for all hosts
-FUZZ_DOMAIN='example.com'
-
-# Remote user for SSH
-FUZZ_USER=bob
-
-# Directory to synchronize
-SYNC_DIR='/home/bob/sync_dir'
-
-# We only capture -M main nodes, set the name to your chosen naming scheme
-MAIN_NAME='main'
-
-# Interval (seconds) between sync attempts (eg one hour)
-SYNC_INTERVAL=$((60 * 60))
-
-if [ "$AFL_ALLOW_TMP" = "" ]; then
-
- if [ "$PWD" = "/tmp" -o "$PWD" = "/var/tmp" ]; then
- echo "[-] Error: do not use shared /tmp or /var/tmp directories with this script." 1>&2
- exit 1
- fi
-
-fi
-
-rm -rf .sync_tmp 2>/dev/null
-mkdir .sync_tmp || exit 1
-
-while :; do
-
- # Pull data in...
-
- for host in $FUZZ_HOSTS; do
-
- echo "[*] Retrieving data from ${host}.${FUZZ_DOMAIN}..."
-
- ssh -o 'passwordauthentication no' ${FUZZ_USER}@${host}.$FUZZ_DOMAIN \
- "cd '$SYNC_DIR' && tar -czf - ${host}_${MAIN_NAME}*/" > ".sync_tmp/${host}.tgz"
-
- done
-
- # Distribute data. For large fleets, see tips in the docs/ directory.
-
- for dst_host in $FUZZ_HOSTS; do
-
- echo "[*] Distributing data to ${dst_host}.${FUZZ_DOMAIN}..."
-
- for src_host in $FUZZ_HOSTS; do
-
- test "$src_host" = "$dst_host" && continue
-
- echo " Sending fuzzer data from ${src_host}.${FUZZ_DOMAIN}..."
-
- ssh -o 'passwordauthentication no' ${FUZZ_USER}@$dst_host \
- "cd '$SYNC_DIR' && tar -xkzf - " < ".sync_tmp/${src_host}.tgz"
-
- done
-
- done
-
- echo "[+] Done. Sleeping for $SYNC_INTERVAL seconds (Ctrl-C to quit)."
-
- sleep $SYNC_INTERVAL
-
-done
-