From 9e671217e1620b9aefbc55d6147f1e3d6b6abfa0 Mon Sep 17 00:00:00 2001 From: Damien Stuart Date: Wed, 19 Nov 2014 22:01:04 -0500 Subject: [PATCH 01/19] Move #include directive so it is not seen in the windows build --- client/http_resolve_host.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/http_resolve_host.c b/client/http_resolve_host.c index c2b4496d..ae4ef690 100644 --- a/client/http_resolve_host.c +++ b/client/http_resolve_host.c @@ -31,7 +31,6 @@ */ #include "fwknop_common.h" #include "utils.h" -#include #include @@ -43,6 +42,7 @@ #include #endif #include + #include #endif struct url From c1a1a4d3aaf563917c7ee3dafaac1f1b124a0b8b Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Fri, 21 Nov 2014 21:22:20 -0500 Subject: [PATCH 02/19] [test suite] minor comment removal --- test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh b/test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh index 06b46694..00c3addc 100755 --- a/test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh +++ b/test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh @@ -1,6 +1,5 @@ #!/bin/sh -x SPA_PKT="1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA" -#SPA_PKT="1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:A" echo -n $SPA_PKT | LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t From 5041533c65569e001c219178015a9c991946fef8 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Fri, 21 Nov 2014 21:32:05 -0500 Subject: [PATCH 03/19] [test suite] update AFL helper scripts to accept file path from the command line --- test/afl/fuzzing-wrappers/fwknop-rc-test.sh | 9 ++++++++- test/afl/fuzzing-wrappers/fwknopd-parse-access.sh | 9 ++++++++- test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh | 9 ++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/test/afl/fuzzing-wrappers/fwknop-rc-test.sh b/test/afl/fuzzing-wrappers/fwknop-rc-test.sh index c5ece1ab..dabd0003 100755 --- a/test/afl/fuzzing-wrappers/fwknop-rc-test.sh +++ b/test/afl/fuzzing-wrappers/fwknop-rc-test.sh @@ -1,3 +1,10 @@ #!/bin/sh -x -LD_LIBRARY_PATH=../../lib/.libs ../../client/.libs/fwknop --rc-file test-cases/client-rc/fwknoprc -T -a 1.1.1.1 -n testhost.com +RC_FILE="test-cases/client-rc/fwknoprc" + +if [ $@ ] +then + RC_FILE=$@ +fi + +LD_LIBRARY_PATH=../../lib/.libs ../../client/.libs/fwknop --rc-file $RC_FILE -T -a 1.1.1.1 -n testhost.com diff --git a/test/afl/fuzzing-wrappers/fwknopd-parse-access.sh b/test/afl/fuzzing-wrappers/fwknopd-parse-access.sh index 9b605223..a4ec94f4 100755 --- a/test/afl/fuzzing-wrappers/fwknopd-parse-access.sh +++ b/test/afl/fuzzing-wrappers/fwknopd-parse-access.sh @@ -1,3 +1,10 @@ #!/bin/sh -x -LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t --exit-parse-config -D +ACCESS_FILE="../conf/default_access.conf" + +if [ $@ ] +then + ACCESS_FILE=$@ +fi + +LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a $ACCESS_FILE -A -f -t --exit-parse-config -D diff --git a/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh b/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh index eb12114e..8ab7a04e 100755 --- a/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh +++ b/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh @@ -1,3 +1,10 @@ #!/bin/sh -x -LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c test-cases/server-conf/fwknopd.conf -a ../conf/default_access.conf -A -f -t --exit-parse-config -D +FWKNOPD_CONF_FILE="test-cases/server-conf/fwknopd.conf" + +if [ $@ ] +then + FWKNOPD_CONF_FILE=$@ +fi + +LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c $FWKNOPD_CONF_FILE -a ../conf/default_access.conf -A -f -t --exit-parse-config -D From 46a6b5a1e59357aae504ce9424b46c88675fb5dc Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Fri, 21 Nov 2014 21:42:32 -0500 Subject: [PATCH 04/19] [test suite] moved helper scripts to fuzzing-wrappers/helpers/ --- test/afl/fuzzing-wrappers/client-rc.sh | 2 +- test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh | 8 ++++++++ test/afl/fuzzing-wrappers/{ => helpers}/fwknop-rc-test.sh | 0 .../{ => helpers}/fwknopd-parse-access.sh | 0 .../fuzzing-wrappers/{ => helpers}/fwknopd-parse-conf.sh | 0 .../fuzzing-wrappers/{ => helpers}/fwknopd-stdin-test.sh | 0 test/afl/fuzzing-wrappers/server-access.sh | 2 +- test/afl/fuzzing-wrappers/server-conf.sh | 2 +- test/afl/fuzzing-wrappers/spa-pkts.sh | 2 +- 9 files changed, 12 insertions(+), 4 deletions(-) create mode 100755 test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh rename test/afl/fuzzing-wrappers/{ => helpers}/fwknop-rc-test.sh (100%) rename test/afl/fuzzing-wrappers/{ => helpers}/fwknopd-parse-access.sh (100%) rename test/afl/fuzzing-wrappers/{ => helpers}/fwknopd-parse-conf.sh (100%) rename test/afl/fuzzing-wrappers/{ => helpers}/fwknopd-stdin-test.sh (100%) diff --git a/test/afl/fuzzing-wrappers/client-rc.sh b/test/afl/fuzzing-wrappers/client-rc.sh index 1895515f..69a3d6ad 100755 --- a/test/afl/fuzzing-wrappers/client-rc.sh +++ b/test/afl/fuzzing-wrappers/client-rc.sh @@ -15,7 +15,7 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure the client can handle the rc file -./fuzzing-wrappers/fwknop-rc-test.sh || exit +./fuzzing-wrappers/helpers/fwknop-rc-test.sh || exit LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/fwknoprc $CLIENT --rc-file $OUT_DIR/fwknoprc -T -a 1.1.1.1 -n testhost.com diff --git a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh new file mode 100755 index 00000000..43d4e912 --- /dev/null +++ b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh @@ -0,0 +1,8 @@ +#!/bin/sh -x + +for f in `find fuzzing-output/client-rc.out/hangs -name 'id*'` +do + ./fuzzing-wrappers/helpers/fwknop-rc-test.sh $f +done + +exit diff --git a/test/afl/fuzzing-wrappers/fwknop-rc-test.sh b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh similarity index 100% rename from test/afl/fuzzing-wrappers/fwknop-rc-test.sh rename to test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh diff --git a/test/afl/fuzzing-wrappers/fwknopd-parse-access.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh similarity index 100% rename from test/afl/fuzzing-wrappers/fwknopd-parse-access.sh rename to test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh diff --git a/test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh similarity index 100% rename from test/afl/fuzzing-wrappers/fwknopd-parse-conf.sh rename to test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh diff --git a/test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh similarity index 100% rename from test/afl/fuzzing-wrappers/fwknopd-stdin-test.sh rename to test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh diff --git a/test/afl/fuzzing-wrappers/server-access.sh b/test/afl/fuzzing-wrappers/server-access.sh index e7968728..a0c248f3 100755 --- a/test/afl/fuzzing-wrappers/server-access.sh +++ b/test/afl/fuzzing-wrappers/server-access.sh @@ -15,7 +15,7 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that parsing the access.conf file works -./fuzzing-wrappers/fwknopd-parse-access.sh || exit +./fuzzing-wrappers/helpers/fwknopd-parse-access.sh || exit LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/default_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D diff --git a/test/afl/fuzzing-wrappers/server-conf.sh b/test/afl/fuzzing-wrappers/server-conf.sh index 7fe5b6e7..c2336dab 100755 --- a/test/afl/fuzzing-wrappers/server-conf.sh +++ b/test/afl/fuzzing-wrappers/server-conf.sh @@ -15,7 +15,7 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that parsing the fwknopd.conf file works -./fuzzing-wrappers/fwknopd-parse-conf.sh || exit +./fuzzing-wrappers/helpers/fwknopd-parse-conf.sh || exit LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_fwknopd.conf $SERVER -c $OUT_DIR/afl_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D diff --git a/test/afl/fuzzing-wrappers/spa-pkts.sh b/test/afl/fuzzing-wrappers/spa-pkts.sh index 4bedc0cb..fdf63cf4 100755 --- a/test/afl/fuzzing-wrappers/spa-pkts.sh +++ b/test/afl/fuzzing-wrappers/spa-pkts.sh @@ -15,7 +15,7 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that a basic SPA packet to stdin in fwknopd -A mode works -./fuzzing-wrappers/fwknopd-stdin-test.sh || exit +./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh || exit LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR $SERVER -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t From 63a2ae92d4335468218d2444f0a4c22fa2b475d3 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Fri, 21 Nov 2014 22:16:02 -0500 Subject: [PATCH 05/19] [test suite] added *hang.sh helper scripts for AFL results analysis --- test/afl/{ => compile}/afl-compile-code-coverage.sh | 0 test/afl/compile/afl-compile-no-enable-arg.sh | 10 ++++++++++ test/afl/{ => compile}/afl-compile.sh | 0 test/afl/{ => compile}/afl-gen-code-coverage.sh | 0 test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh | 7 +++++-- .../helpers/fwknopd-parse-access-hangs.sh | 11 +++++++++++ .../helpers/fwknopd-parse-conf-hangs.sh | 11 +++++++++++ .../fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh | 11 +++++++++++ 8 files changed, 48 insertions(+), 2 deletions(-) rename test/afl/{ => compile}/afl-compile-code-coverage.sh (100%) create mode 100755 test/afl/compile/afl-compile-no-enable-arg.sh rename test/afl/{ => compile}/afl-compile.sh (100%) rename test/afl/{ => compile}/afl-gen-code-coverage.sh (100%) create mode 100755 test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh create mode 100755 test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh create mode 100755 test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh diff --git a/test/afl/afl-compile-code-coverage.sh b/test/afl/compile/afl-compile-code-coverage.sh similarity index 100% rename from test/afl/afl-compile-code-coverage.sh rename to test/afl/compile/afl-compile-code-coverage.sh diff --git a/test/afl/compile/afl-compile-no-enable-arg.sh b/test/afl/compile/afl-compile-no-enable-arg.sh new file mode 100755 index 00000000..5e5474fc --- /dev/null +++ b/test/afl/compile/afl-compile-no-enable-arg.sh @@ -0,0 +1,10 @@ +#!/bin/sh -x + +# this is for the fuzzing-wrappers/client-rc.sh script + +cd ../../ +CC=afl-gcc ./extras/apparmor/configure_args.sh $@ +make clean +make +cd test/afl +exit diff --git a/test/afl/afl-compile.sh b/test/afl/compile/afl-compile.sh similarity index 100% rename from test/afl/afl-compile.sh rename to test/afl/compile/afl-compile.sh diff --git a/test/afl/afl-gen-code-coverage.sh b/test/afl/compile/afl-gen-code-coverage.sh similarity index 100% rename from test/afl/afl-gen-code-coverage.sh rename to test/afl/compile/afl-gen-code-coverage.sh diff --git a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh index 43d4e912..7faf9785 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh @@ -1,8 +1,11 @@ #!/bin/sh -x -for f in `find fuzzing-output/client-rc.out/hangs -name 'id*'` +HANG_DIR="fuzzing-output/client-rc.out/hangs" +HELPER_SH="fuzzing-wrappers/helpers/fwknop-rc-test.sh" + +for f in `find $HANG_DIR -name 'id*'` do - ./fuzzing-wrappers/helpers/fwknop-rc-test.sh $f + ./$HELPER_SH $f done exit diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh new file mode 100755 index 00000000..94fa68ca --- /dev/null +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh @@ -0,0 +1,11 @@ +#!/bin/sh -x + +HANG_DIR="fuzzing-output/server-access.out/hangs" +HELPER_SH="fuzzing-wrappers/helpers/fwknopd-parse-access.sh" + +for f in `find $HANG_DIR -name 'id*'` +do + ./$HELPER_SH $f +done + +exit diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh new file mode 100755 index 00000000..06f63caf --- /dev/null +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh @@ -0,0 +1,11 @@ +#!/bin/sh -x + +HANG_DIR="fuzzing-output/server-conf.out/hangs" +HELPER_SH="fuzzing-wrappers/helpers/fwknopd-parse-conf.sh" + +for f in `find $HANG_DIR -name 'id*'` +do + ./$HELPER_SH $f +done + +exit diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh new file mode 100755 index 00000000..2ee83119 --- /dev/null +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh @@ -0,0 +1,11 @@ +#!/bin/sh -x + +HANG_DIR="fuzzing-output/spa-pkts.out/hangs" +HELPER_SH="fuzzing-wrappers/helpers/fwknopd-stdin-test.sh" + +for f in `find $HANG_DIR -name 'id*'` +do + ./$HELPER_SH $f +done + +exit From 0e5606fb263d89518d7ba90fcaa5d62767fc63f4 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Fri, 21 Nov 2014 22:18:17 -0500 Subject: [PATCH 06/19] [test suite] AFL fuzzing README update --- test/afl/README | 57 +++++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/test/afl/README b/test/afl/README index f2d5ab60..aa2dd442 100644 --- a/test/afl/README +++ b/test/afl/README @@ -1,38 +1,53 @@ +-- Quick Start -- + +To get going with AFL fuzzing against fwknop: + +$ ./compile/afl-compile.sh +$ ./fuzzing-wrappers/spa-pkts.sh + +Output will be placed in fuzzing-output/server-conf.out/ + + +-- More Information -- + The fwknop project supports various fuzzing strategies, and one of the most important is usage of the 'American Fuzzy Lop' (AFL) fuzzer written by Michal -Zalewski (see: https://code.google.com/p/american-fuzzy-lop/). Because AFL is -not designed to handle encryption schemes (see the README included in the AFL -sources for more information on this), a special --enable-afl-fuzzing command -line switch is available to the fwknop autoconf configure script. This argument -allows encryption and base64 encoding to be bypassed when feeding SPA packet -data to fwknopd via stdin. It is the feature that enables AFL fuzzing. +Zalewski (see: http://lcamtuf.coredump.cx/afl/). Because AFL is not designed to +handle encryption schemes (see the README included in the AFL sources for more +information on this), a special --enable-afl-fuzzing command line switch is +available in the fwknop autoconf configure script. This argument allows +encryption and base64 encoding to be bypassed when feeding SPA packet data to +fwknopd via stdin. It is this feature that enables AFL fuzzing. One exception +to this is made when using AFL to fuzz the fwknoprc file that is leveraged by +the fwknop client - in this case, fwknop should not be compiled with +--enable-afl-fuzzing (use the compile/afl-compile-no-enable-arg.sh script). -This directory contains enabling scripts in order to make it easy to fuzz -fwknop with AFL. It is assumed that AFL is installed and in your path. The +The top level directory contains enabling scripts in order to make it easy to +fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The files are in this directory are organized as follows: -afl-fuzzing.in - Directory for initial AFL test case(s). -afl-fuzzing.out - Directory for AFL results after a fuzzing run. +fuzzing-wrappers/ - Directory that contains wrapper scripts for running AFL + against fwknop. All interaction with AFL should be done + with these scripts, and they should be executed from the + test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" -afl-compile.sh - Script to compile fwknop underneath afl-gcc. -afl-fuzzing.in - AFL input directory which contains input test cases. -afl-fuzzing.out - AFL output directory. -afl-run.sh - Script to invoke AFL with proper command line arguments to - fwknopd for fuzzing enablement. +test-cases/ - Directory for ALF test cases used by the wrapper scripts. + There are four areas in fwknop that are fuzzed: SPA packet + encoding/decoding, server access.conf and fwknopd.conf + parsing, and client fwknoprc file parsing. -For gcov code coverage only: +compile/ - Directory for compilation scripts to ensure fwknop is + compiled underneath afl-gcc. -afl-compile-code-coverage.sh - Compile fwknop with code coverage support. -afl-gen-code-coverage.sh - Generate code coverage report after running - afl-run.sh (and with coverage support - compiled in) +fuzzing-output/ - Results directory that is made underneath an AFL fuzzing + cycle. Here is an example of what fwknopd produces when compiled for AFL support when a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's stdin: -$ ./fwknopd-stdin-test.sh +$ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh + SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t + echo -n 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA From f8d3cc51f046128d803a0198c637a4dedf698fc6 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 09:11:39 -0500 Subject: [PATCH 07/19] [test suite] stronger access.conf test case for AFL fuzzing --- .../helpers/fwknopd-parse-access.sh | 2 +- test/afl/fuzzing-wrappers/server-access.sh | 2 +- test/afl/test-cases/server-access/access.conf | 24 ++++++++++--------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh index a4ec94f4..e3b4cd89 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh @@ -7,4 +7,4 @@ then ACCESS_FILE=$@ fi -LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a $ACCESS_FILE -A -f -t --exit-parse-config -D +LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/ipt_snat_fwknopd.conf -a $ACCESS_FILE -A -f -t --exit-parse-config -D diff --git a/test/afl/fuzzing-wrappers/server-access.sh b/test/afl/fuzzing-wrappers/server-access.sh index a0c248f3..cdded281 100755 --- a/test/afl/fuzzing-wrappers/server-access.sh +++ b/test/afl/fuzzing-wrappers/server-access.sh @@ -17,6 +17,6 @@ mkdir $OUT_DIR ### make sure that parsing the access.conf file works ./fuzzing-wrappers/helpers/fwknopd-parse-access.sh || exit -LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/default_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D +LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/ipt_snat_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D exit diff --git a/test/afl/test-cases/server-access/access.conf b/test/afl/test-cases/server-access/access.conf index 77aac5a6..dea3417c 100644 --- a/test/afl/test-cases/server-access/access.conf +++ b/test/afl/test-cases/server-access/access.conf @@ -9,8 +9,9 @@ FW_ACCESS_TIMEOUT 2 SOURCE ANY KEY test3 -ACCESS_EXPIRE 3-10-01; ### comment -OPEN_PORTS tcp/80 +ACCESS_EXPIRE 03/10/2014; ### comment +OPEN_PORTS tcp/22; +RESTRICT_PORTS udp/6001, tcp/45, tcp/80, tcp/12345 FW_ACCESS_TIMEOUT 3 ENCRYPTION_MODE legacy @@ -20,26 +21,27 @@ REQUIRE_USERNAME nouser KEY test4 OPEN_PORTS tcp/80 FORCE_NAT 192.168.1.123 22 +FORCE_SNAT 33.3.3.3 -SOURCE ANY -KEY test5 -HMAC_KEY test6 -OPEN_PORTS tcp/80 -RESTRICT_PORTS tcp/34 +SOURCE 1.2.3.4 +KEY_BASE64 wzNP62oPPgEc+kXDPQLHPOayQBuNbYUTPP+QrErNDmg= +HMAC_KEY_BASE64 Yh+xizBnl6FotC5ec7FanVGClRMlsOAPh2u6eovnerfBVKwaVKzjGoblFMHMc593TNyi0dWn4opLoTIV9q/ttg== +OPEN_PORTS tcp/80; ### also appears in RESTRICT_PORTS +RESTRICT_PORTS udp/6001, tcp/22, tcp/80, tcp/12345 FW_ACCESS_TIMEOUT 3 ENABLE_CMD_EXEC Y SOURCE ANY KEY fwknoptest FW_ACCESS_TIMEOUT 3 -GPG_HOME_DIR conf/server-gpg -GPG_DECRYPT_ID 361BBAD4 -GPG_DECRYPT_PW fwknoptest +GPG_HOME_DIR ../conf/server-gpg +GPG_DECRYPT_ID 12341234, DEADBEEF, 361BBAD4, 43214321 +GPG_DECRYPT_PW fwknoptest, testtest GPG_REMOTE_ID 6A3FAD56 SOURCE ANY FW_ACCESS_TIMEOUT 3 -GPG_HOME_DIR conf/server-gpg-no-pw +GPG_HOME_DIR ../conf/server-gpg-no-pw GPG_DECRYPT_ID 361BBAD4 GPG_ALLOW_NO_PW Y GPG_FINGERPRINT_ID 00CC95F05BC146B6AC4038C9E36F443C6A3FAD56 From ca64e3aa4e8fe831d47a81d3deb11ce9df2f0541 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:38:46 -0500 Subject: [PATCH 08/19] [test suite] start on AFL README in .md format --- test/afl/README | 66 +++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/test/afl/README b/test/afl/README index aa2dd442..6ba1c7f6 100644 --- a/test/afl/README +++ b/test/afl/README @@ -1,19 +1,21 @@ --- Quick Start -- +# Fuzzing fwknop With American Fuzzy Lop (AFL) + +## Quick Start To get going with AFL fuzzing against fwknop: -$ ./compile/afl-compile.sh -$ ./fuzzing-wrappers/spa-pkts.sh + $ ./compile/afl-compile.sh + $ ./fuzzing-wrappers/spa-pkts.sh -Output will be placed in fuzzing-output/server-conf.out/ +Fuzzing results will be placed in fuzzing-output/server-conf.out/. For more +information, read on. - --- More Information -- +## Introduction The fwknop project supports various fuzzing strategies, and one of the most important is usage of the 'American Fuzzy Lop' (AFL) fuzzer written by Michal -Zalewski (see: http://lcamtuf.coredump.cx/afl/). Because AFL is not designed to +Zalewski (see: [http://lcamtuf.coredump.cx/afl/]). Because AFL is not designed to handle encryption schemes (see the README included in the AFL sources for more information on this), a special --enable-afl-fuzzing command line switch is available in the fwknop autoconf configure script. This argument allows @@ -47,29 +49,29 @@ Here is an example of what fwknopd produces when compiled for AFL support when a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's stdin: -$ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh -+ SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA -+ LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t -+ echo -n 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA -Warning: REQUIRE_SOURCE_ADDRESS not enabled for access stanza source: 'ANY' -SPA Field Values: -================= - Random Value: 1716411011200157 - Username: root - Timestamp: 1397329899 - FKO Version: 2.0.1 - Message Type: 1 (Access msg) - Message String: 127.0.0.2,tcp/22 - Nat Access: - Server Auth: - Client Timeout: 0 - Digest Type: 3 (SHA256) - HMAC Type: 0 (None) -Encryption Type: 1 (Rijndael) -Encryption Mode: 2 (CBC) - Encoded Data: 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22 -SPA Data Digest: AAAAA - HMAC: - Final SPA Data: 200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + $ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh + + SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + + LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t + + echo -n 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + Warning: REQUIRE_SOURCE_ADDRESS not enabled for access stanza source: 'ANY' + SPA Field Values: + ================= + Random Value: 1716411011200157 + Username: root + Timestamp: 1397329899 + FKO Version: 2.0.1 + Message Type: 1 (Access msg) + Message String: 127.0.0.2,tcp/22 + Nat Access: + Server Auth: + Client Timeout: 0 + Digest Type: 3 (SHA256) + HMAC Type: 0 (None) + Encryption Type: 1 (Rijndael) + Encryption Mode: 2 (CBC) + Encoded Data: 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22 + SPA Data Digest: AAAAA + HMAC: + Final SPA Data: 200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA -SPA packet decode: Success + SPA packet decode: Success From 38977b5f2fd8def73a29850ac07baf9d16f8366d Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:39:24 -0500 Subject: [PATCH 09/19] [test suite] use exit status in wrapper scripts --- test/afl/compile/afl-compile-code-coverage.sh | 2 +- test/afl/compile/afl-compile-no-enable-arg.sh | 2 +- test/afl/compile/afl-compile.sh | 2 +- test/afl/compile/afl-gen-code-coverage.sh | 2 +- test/afl/fuzzing-wrappers/client-rc.sh | 5 +++-- test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh | 2 +- test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh | 2 ++ .../fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh | 2 +- test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh | 2 ++ .../afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh | 2 +- test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh | 2 ++ test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh | 2 +- test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh | 2 ++ test/afl/fuzzing-wrappers/server-access.sh | 4 ++-- test/afl/fuzzing-wrappers/server-conf.sh | 4 ++-- test/afl/fuzzing-wrappers/spa-pkts.sh | 4 ++-- 16 files changed, 25 insertions(+), 16 deletions(-) diff --git a/test/afl/compile/afl-compile-code-coverage.sh b/test/afl/compile/afl-compile-code-coverage.sh index 6d7d42fd..174cd17c 100755 --- a/test/afl/compile/afl-compile-code-coverage.sh +++ b/test/afl/compile/afl-compile-code-coverage.sh @@ -6,4 +6,4 @@ cd afl ./afl-compile.sh --enable-profile-coverage -exit +exit $? diff --git a/test/afl/compile/afl-compile-no-enable-arg.sh b/test/afl/compile/afl-compile-no-enable-arg.sh index 5e5474fc..de6e38b6 100755 --- a/test/afl/compile/afl-compile-no-enable-arg.sh +++ b/test/afl/compile/afl-compile-no-enable-arg.sh @@ -7,4 +7,4 @@ CC=afl-gcc ./extras/apparmor/configure_args.sh $@ make clean make cd test/afl -exit +exit $? diff --git a/test/afl/compile/afl-compile.sh b/test/afl/compile/afl-compile.sh index 332605bf..6e10643b 100755 --- a/test/afl/compile/afl-compile.sh +++ b/test/afl/compile/afl-compile.sh @@ -5,4 +5,4 @@ CC=afl-gcc ./extras/apparmor/configure_args.sh --enable-afl-fuzzing $@ make clean make cd test/afl -exit +exit $? diff --git a/test/afl/compile/afl-gen-code-coverage.sh b/test/afl/compile/afl-gen-code-coverage.sh index b17643d6..747f42c1 100755 --- a/test/afl/compile/afl-gen-code-coverage.sh +++ b/test/afl/compile/afl-gen-code-coverage.sh @@ -10,4 +10,4 @@ cd afl echo "[+] Code coverage available in the $RESULTS_DIR/ directory" -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/client-rc.sh b/test/afl/fuzzing-wrappers/client-rc.sh index 69a3d6ad..9059df39 100755 --- a/test/afl/fuzzing-wrappers/client-rc.sh +++ b/test/afl/fuzzing-wrappers/client-rc.sh @@ -15,8 +15,9 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure the client can handle the rc file -./fuzzing-wrappers/helpers/fwknop-rc-test.sh || exit +./fuzzing-wrappers/helpers/fwknop-rc-test.sh || \ + { echo "[*] Client rc file fuzzing requires compilation with ./compile/afl-compile-no-enable-args.sh"; exit 1; } LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/fwknoprc $CLIENT --rc-file $OUT_DIR/fwknoprc -T -a 1.1.1.1 -n testhost.com -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh index 7faf9785..ec252688 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-hangs.sh @@ -8,4 +8,4 @@ do ./$HELPER_SH $f done -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh index dabd0003..af42ae46 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknop-rc-test.sh @@ -8,3 +8,5 @@ then fi LD_LIBRARY_PATH=../../lib/.libs ../../client/.libs/fwknop --rc-file $RC_FILE -T -a 1.1.1.1 -n testhost.com + +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh index 94fa68ca..a2ac62cf 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access-hangs.sh @@ -8,4 +8,4 @@ do ./$HELPER_SH $f done -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh index e3b4cd89..7a6f39d5 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-access.sh @@ -8,3 +8,5 @@ then fi LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/ipt_snat_fwknopd.conf -a $ACCESS_FILE -A -f -t --exit-parse-config -D + +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh index 06f63caf..5d69a7ca 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf-hangs.sh @@ -8,4 +8,4 @@ do ./$HELPER_SH $f done -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh index 8ab7a04e..8f90f518 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-parse-conf.sh @@ -8,3 +8,5 @@ then fi LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c $FWKNOPD_CONF_FILE -a ../conf/default_access.conf -A -f -t --exit-parse-config -D + +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh index 2ee83119..f49dc105 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-hangs.sh @@ -8,4 +8,4 @@ do ./$HELPER_SH $f done -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh index 00c3addc..7cdb2e4c 100755 --- a/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh +++ b/test/afl/fuzzing-wrappers/helpers/fwknopd-stdin-test.sh @@ -3,3 +3,5 @@ SPA_PKT="1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA" echo -n $SPA_PKT | LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t + +exit $? diff --git a/test/afl/fuzzing-wrappers/server-access.sh b/test/afl/fuzzing-wrappers/server-access.sh index cdded281..5b3e2155 100755 --- a/test/afl/fuzzing-wrappers/server-access.sh +++ b/test/afl/fuzzing-wrappers/server-access.sh @@ -15,8 +15,8 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that parsing the access.conf file works -./fuzzing-wrappers/helpers/fwknopd-parse-access.sh || exit +./fuzzing-wrappers/helpers/fwknopd-parse-access.sh || exit $? LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_access.conf $SERVER -c ../conf/ipt_snat_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/server-conf.sh b/test/afl/fuzzing-wrappers/server-conf.sh index c2336dab..64f8155d 100755 --- a/test/afl/fuzzing-wrappers/server-conf.sh +++ b/test/afl/fuzzing-wrappers/server-conf.sh @@ -15,8 +15,8 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that parsing the fwknopd.conf file works -./fuzzing-wrappers/helpers/fwknopd-parse-conf.sh || exit +./fuzzing-wrappers/helpers/fwknopd-parse-conf.sh || exit $? LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR -f $OUT_DIR/afl_fwknopd.conf $SERVER -c $OUT_DIR/afl_fwknopd.conf -a $OUT_DIR/afl_access.conf -A -f -t --exit-parse-config -D -exit +exit $? diff --git a/test/afl/fuzzing-wrappers/spa-pkts.sh b/test/afl/fuzzing-wrappers/spa-pkts.sh index fdf63cf4..9b920b7b 100755 --- a/test/afl/fuzzing-wrappers/spa-pkts.sh +++ b/test/afl/fuzzing-wrappers/spa-pkts.sh @@ -15,8 +15,8 @@ TS=`date +"%m%d%y%H%M%S"` mkdir $OUT_DIR ### make sure that a basic SPA packet to stdin in fwknopd -A mode works -./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh || exit +./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh || exit $? LD_LIBRARY_PATH=$LIB_DIR afl-fuzz -t 1000 -i $IN_DIR -o $OUT_DIR $SERVER -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t -exit +exit $? From a15d76a3ea3e995a68232fe2f9b3f97c32fec0e0 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:40:52 -0500 Subject: [PATCH 10/19] [test suite] AFL README -> README.md --- test/afl/README | 78 +--------------------------------------------- test/afl/README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 77 deletions(-) mode change 100644 => 120000 test/afl/README create mode 100644 test/afl/README.md diff --git a/test/afl/README b/test/afl/README deleted file mode 100644 index 6ba1c7f6..00000000 --- a/test/afl/README +++ /dev/null @@ -1,77 +0,0 @@ - -# Fuzzing fwknop With American Fuzzy Lop (AFL) - -## Quick Start - -To get going with AFL fuzzing against fwknop: - - $ ./compile/afl-compile.sh - $ ./fuzzing-wrappers/spa-pkts.sh - -Fuzzing results will be placed in fuzzing-output/server-conf.out/. For more -information, read on. - -## Introduction - -The fwknop project supports various fuzzing strategies, and one of the most -important is usage of the 'American Fuzzy Lop' (AFL) fuzzer written by Michal -Zalewski (see: [http://lcamtuf.coredump.cx/afl/]). Because AFL is not designed to -handle encryption schemes (see the README included in the AFL sources for more -information on this), a special --enable-afl-fuzzing command line switch is -available in the fwknop autoconf configure script. This argument allows -encryption and base64 encoding to be bypassed when feeding SPA packet data to -fwknopd via stdin. It is this feature that enables AFL fuzzing. One exception -to this is made when using AFL to fuzz the fwknoprc file that is leveraged by -the fwknop client - in this case, fwknop should not be compiled with ---enable-afl-fuzzing (use the compile/afl-compile-no-enable-arg.sh script). - -The top level directory contains enabling scripts in order to make it easy to -fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The -files are in this directory are organized as follows: - -fuzzing-wrappers/ - Directory that contains wrapper scripts for running AFL - against fwknop. All interaction with AFL should be done - with these scripts, and they should be executed from the - test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" - -test-cases/ - Directory for ALF test cases used by the wrapper scripts. - There are four areas in fwknop that are fuzzed: SPA packet - encoding/decoding, server access.conf and fwknopd.conf - parsing, and client fwknoprc file parsing. - -compile/ - Directory for compilation scripts to ensure fwknop is - compiled underneath afl-gcc. - -fuzzing-output/ - Results directory that is made underneath an AFL fuzzing - cycle. - -Here is an example of what fwknopd produces when compiled for AFL support when -a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's -stdin: - - $ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh - + SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA - + LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t - + echo -n 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA - Warning: REQUIRE_SOURCE_ADDRESS not enabled for access stanza source: 'ANY' - SPA Field Values: - ================= - Random Value: 1716411011200157 - Username: root - Timestamp: 1397329899 - FKO Version: 2.0.1 - Message Type: 1 (Access msg) - Message String: 127.0.0.2,tcp/22 - Nat Access: - Server Auth: - Client Timeout: 0 - Digest Type: 3 (SHA256) - HMAC Type: 0 (None) - Encryption Type: 1 (Rijndael) - Encryption Mode: 2 (CBC) - Encoded Data: 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22 - SPA Data Digest: AAAAA - HMAC: - Final SPA Data: 200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA - - SPA packet decode: Success diff --git a/test/afl/README b/test/afl/README new file mode 120000 index 00000000..42061c01 --- /dev/null +++ b/test/afl/README @@ -0,0 +1 @@ +README.md \ No newline at end of file diff --git a/test/afl/README.md b/test/afl/README.md new file mode 100644 index 00000000..6ba1c7f6 --- /dev/null +++ b/test/afl/README.md @@ -0,0 +1,77 @@ + +# Fuzzing fwknop With American Fuzzy Lop (AFL) + +## Quick Start + +To get going with AFL fuzzing against fwknop: + + $ ./compile/afl-compile.sh + $ ./fuzzing-wrappers/spa-pkts.sh + +Fuzzing results will be placed in fuzzing-output/server-conf.out/. For more +information, read on. + +## Introduction + +The fwknop project supports various fuzzing strategies, and one of the most +important is usage of the 'American Fuzzy Lop' (AFL) fuzzer written by Michal +Zalewski (see: [http://lcamtuf.coredump.cx/afl/]). Because AFL is not designed to +handle encryption schemes (see the README included in the AFL sources for more +information on this), a special --enable-afl-fuzzing command line switch is +available in the fwknop autoconf configure script. This argument allows +encryption and base64 encoding to be bypassed when feeding SPA packet data to +fwknopd via stdin. It is this feature that enables AFL fuzzing. One exception +to this is made when using AFL to fuzz the fwknoprc file that is leveraged by +the fwknop client - in this case, fwknop should not be compiled with +--enable-afl-fuzzing (use the compile/afl-compile-no-enable-arg.sh script). + +The top level directory contains enabling scripts in order to make it easy to +fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The +files are in this directory are organized as follows: + +fuzzing-wrappers/ - Directory that contains wrapper scripts for running AFL + against fwknop. All interaction with AFL should be done + with these scripts, and they should be executed from the + test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" + +test-cases/ - Directory for ALF test cases used by the wrapper scripts. + There are four areas in fwknop that are fuzzed: SPA packet + encoding/decoding, server access.conf and fwknopd.conf + parsing, and client fwknoprc file parsing. + +compile/ - Directory for compilation scripts to ensure fwknop is + compiled underneath afl-gcc. + +fuzzing-output/ - Results directory that is made underneath an AFL fuzzing + cycle. + +Here is an example of what fwknopd produces when compiled for AFL support when +a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's +stdin: + + $ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh + + SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + + LD_LIBRARY_PATH=../../lib/.libs ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t + + echo -n 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + Warning: REQUIRE_SOURCE_ADDRESS not enabled for access stanza source: 'ANY' + SPA Field Values: + ================= + Random Value: 1716411011200157 + Username: root + Timestamp: 1397329899 + FKO Version: 2.0.1 + Message Type: 1 (Access msg) + Message String: 127.0.0.2,tcp/22 + Nat Access: + Server Auth: + Client Timeout: 0 + Digest Type: 3 (SHA256) + HMAC Type: 0 (None) + Encryption Type: 1 (Rijndael) + Encryption Mode: 2 (CBC) + Encoded Data: 1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22 + SPA Data Digest: AAAAA + HMAC: + Final SPA Data: 200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA + + SPA packet decode: Success From 0b58e3af57c4dbc231aa7d0a9ca2195eb57fe5fc Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:43:56 -0500 Subject: [PATCH 11/19] [test suite] AFL README.md files list --- test/afl/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index 6ba1c7f6..ef64351c 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -29,20 +29,20 @@ The top level directory contains enabling scripts in order to make it easy to fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The files are in this directory are organized as follows: -fuzzing-wrappers/ - Directory that contains wrapper scripts for running AFL + * *fuzzing-wrappers/* - Directory that contains wrapper scripts for running AFL against fwknop. All interaction with AFL should be done with these scripts, and they should be executed from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" -test-cases/ - Directory for ALF test cases used by the wrapper scripts. + * *test-cases/* - Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: SPA packet encoding/decoding, server access.conf and fwknopd.conf parsing, and client fwknoprc file parsing. -compile/ - Directory for compilation scripts to ensure fwknop is + * *compile/* - Directory for compilation scripts to ensure fwknop is compiled underneath afl-gcc. -fuzzing-output/ - Results directory that is made underneath an AFL fuzzing + * *fuzzing-output/* - Results directory that is made underneath an AFL fuzzing cycle. Here is an example of what fwknopd produces when compiled for AFL support when From 9dbe7f5bd6ad911b3ba8be329ce212dc4cf68dbf Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:52:42 -0500 Subject: [PATCH 12/19] [test suite] AFL README formatting update --- test/afl/README.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index ef64351c..5ad12fdd 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -29,21 +29,25 @@ The top level directory contains enabling scripts in order to make it easy to fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The files are in this directory are organized as follows: - * *fuzzing-wrappers/* - Directory that contains wrapper scripts for running AFL - against fwknop. All interaction with AFL should be done - with these scripts, and they should be executed from the - test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" + * *fuzzing-wrappers/* - * *test-cases/* - Directory for ALF test cases used by the wrapper scripts. - There are four areas in fwknop that are fuzzed: SPA packet - encoding/decoding, server access.conf and fwknopd.conf - parsing, and client fwknoprc file parsing. + ...Directory that contains wrapper scripts for running AFL against fwknop. All interaction with AFL should be done with these scripts, and they should be executed from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" - * *compile/* - Directory for compilation scripts to ensure fwknop is - compiled underneath afl-gcc. + * *test-cases/* - * *fuzzing-output/* - Results directory that is made underneath an AFL fuzzing - cycle. + ...Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: + ..1. SPA packet encoding/decoding + ..2. server access.conf parsing + ..3. server fwknopd.conf parsing + ..4. client fwknoprc file parsing. + + * *compile/* + + ...Directory for compilation scripts to ensure fwknop is compiled underneath afl-gcc. + + * *fuzzing-output/* + + ...Results directory that is made underneath an AFL fuzzing cycle. Here is an example of what fwknopd produces when compiled for AFL support when a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's From f53c15fbda4a5737c087ee16692fe8291515b020 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:53:54 -0500 Subject: [PATCH 13/19] [test suite] AFL README formatting update --- test/afl/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index 5ad12fdd..a5a1e559 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -31,23 +31,23 @@ files are in this directory are organized as follows: * *fuzzing-wrappers/* - ...Directory that contains wrapper scripts for running AFL against fwknop. All interaction with AFL should be done with these scripts, and they should be executed from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" + Directory that contains wrapper scripts for running AFL against fwknop. All interaction with AFL should be done with these scripts, and they should be executed from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" * *test-cases/* - ...Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: - ..1. SPA packet encoding/decoding - ..2. server access.conf parsing - ..3. server fwknopd.conf parsing - ..4. client fwknoprc file parsing. + Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: + ..1. SPA packet encoding/decoding + ..2. server access.conf parsing + ..3. server fwknopd.conf parsing + ..4. client fwknoprc file parsing. * *compile/* - ...Directory for compilation scripts to ensure fwknop is compiled underneath afl-gcc. + Directory for compilation scripts to ensure fwknop is compiled underneath afl-gcc. * *fuzzing-output/* - ...Results directory that is made underneath an AFL fuzzing cycle. + Results directory that is made underneath an AFL fuzzing cycle. Here is an example of what fwknopd produces when compiled for AFL support when a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's From 8d38980915aba3d4d6d8d77f2e291aaff20124ea Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 13:55:05 -0500 Subject: [PATCH 14/19] [test suite] AFL README formatting update --- test/afl/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index a5a1e559..ff7acb6f 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -36,10 +36,10 @@ files are in this directory are organized as follows: * *test-cases/* Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: - ..1. SPA packet encoding/decoding - ..2. server access.conf parsing - ..3. server fwknopd.conf parsing - ..4. client fwknoprc file parsing. + 1. SPA packet encoding/decoding + 2. server access.conf parsing + 3. server fwknopd.conf parsing + 4. client fwknoprc file parsing. * *compile/* From dd0571ad56c121fc0abef3c792818a7460062254 Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 15:03:12 -0500 Subject: [PATCH 15/19] [test suite] AFL README formatting update --- test/afl/README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index ff7acb6f..604926f1 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -31,16 +31,21 @@ files are in this directory are organized as follows: * *fuzzing-wrappers/* - Directory that contains wrapper scripts for running AFL against fwknop. All interaction with AFL should be done with these scripts, and they should be executed from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh" + Directory that contains wrapper scripts for running AFL against fwknop. All + interaction with AFL should be done with these scripts, and they should be executed + from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh". - * *test-cases/* - - Directory for ALF test cases used by the wrapper scripts. There are four areas in fwknop that are fuzzed: + There are four areas in fwknop that are fuzzed: 1. SPA packet encoding/decoding 2. server access.conf parsing 3. server fwknopd.conf parsing 4. client fwknoprc file parsing. + + * *test-cases/* + + Directory for ALF test cases used by the wrapper scripts. + * *compile/* Directory for compilation scripts to ensure fwknop is compiled underneath afl-gcc. From 18760d4d64969b49174ca6e83ed6b81f2449ef4c Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 15:10:00 -0500 Subject: [PATCH 16/19] [test suite] AFL README add all four fuzzing wrappers --- test/afl/README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index 604926f1..f3b3d21c 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -36,11 +36,10 @@ files are in this directory are organized as follows: from the test/afl/ directory, e.g. "./fuzzing-wrappers/client-rc.sh". There are four areas in fwknop that are fuzzed: - 1. SPA packet encoding/decoding - 2. server access.conf parsing - 3. server fwknopd.conf parsing - 4. client fwknoprc file parsing. - + 1. SPA packet encoding/decoding (*./fuzzing-wrappers/spa-pkts.sh*) + 2. server access.conf parsing (*./fuzzing-wrappers/server-access.sh*) + 3. server fwknopd.conf parsing (*./fuzzing-wrappers/server-conf.sh*) + 4. client fwknoprc file parsing. (*./fuzzing-wrappers/client-rc.sh*) * *test-cases/* From e7da008d34134de85f2d7202e20b330d9bd4448e Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 16:03:51 -0500 Subject: [PATCH 17/19] [test suite] more AFL README updates --- test/afl/AFL_status_screen.png | Bin 0 -> 232415 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/afl/AFL_status_screen.png diff --git a/test/afl/AFL_status_screen.png b/test/afl/AFL_status_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..e77078172b64c6d0ab552b26720ef3c505daa653 GIT binary patch literal 232415 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

3@-TFf?cU!06q5 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 Q|G@r~ Date: Sat, 22 Nov 2014 16:05:02 -0500 Subject: [PATCH 18/19] [test suite] more AFL README updates --- test/afl/README.md | 60 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/test/afl/README.md b/test/afl/README.md index f3b3d21c..4cdf37f3 100644 --- a/test/afl/README.md +++ b/test/afl/README.md @@ -17,13 +17,22 @@ The fwknop project supports various fuzzing strategies, and one of the most important is usage of the 'American Fuzzy Lop' (AFL) fuzzer written by Michal Zalewski (see: [http://lcamtuf.coredump.cx/afl/]). Because AFL is not designed to handle encryption schemes (see the README included in the AFL sources for more -information on this), a special --enable-afl-fuzzing command line switch is +information on this), a special *--enable-afl-fuzzing* command line switch is available in the fwknop autoconf configure script. This argument allows encryption and base64 encoding to be bypassed when feeding SPA packet data to -fwknopd via stdin. It is this feature that enables AFL fuzzing. One exception -to this is made when using AFL to fuzz the fwknoprc file that is leveraged by -the fwknop client - in this case, fwknop should not be compiled with ---enable-afl-fuzzing (use the compile/afl-compile-no-enable-arg.sh script). +fwknopd via stdin. It is this feature that enables AFL fuzzing, and is analogous +to the *libpng-nocrc.patch* patch included in the AFL sources. The corresponding +commit that enables this functionality in fwknop is aaa44656bcfcb705d80768a7b9aa0d45a0e55e21 +(see: [https://github.com/mrash/fwknop/commit/aaa44656bcfcb705d80768a7b9aa0d45a0e55e21]) + +One exception to the need for compiling fwknop wtih *--enable-afl-fuzzing* is +when using AFL to fuzz the fwknoprc file that is leveraged by the fwknop client. +In this case, fwknop should not be compiled with +*--enable-afl-fuzzing* (use the *compile/afl-compile-no-enable-arg.sh* script) +since the fwknoprc file parsing routines are fuzzed instead of the SPA packet +encoding/decoding cycles. + +## AFL Wrappers The top level directory contains enabling scripts in order to make it easy to fuzz fwknop with AFL. It is assumed that AFL is installed and in your path. The @@ -41,6 +50,11 @@ files are in this directory are organized as follows: 3. server fwknopd.conf parsing (*./fuzzing-wrappers/server-conf.sh*) 4. client fwknoprc file parsing. (*./fuzzing-wrappers/client-rc.sh*) + * *fuzzing-wrappers/helpers/* + + Directory for helper scripts that are used by the fuzzing wrappers to ensure + that fwknop is compiled properly for AFL support and is ready for fuzzing cycles. + * *test-cases/* Directory for ALF test cases used by the wrapper scripts. @@ -53,9 +67,41 @@ files are in this directory are organized as follows: Results directory that is made underneath an AFL fuzzing cycle. +## Complete Example + +To fuzz the SPA packet encoding/decoding routines, the *fuzzing-wrappers/spa-pkts.sh* +script will kick things off. This assumes that fwknop has been compiled with AFL +support with the *compile/afl-compile.sh* script: + + $ ./fuzzing-wrappers/spa-pkts.sh + ... + + LD_LIBRARY_PATH=../../lib/.libs afl-fuzz -t 1000 -i test-cases/spa-pkts -o fuzzing-output/spa-pkts.out ../../server/.libs/fwknopd -c ../conf/default_fwknopd.conf -a ../conf/default_access.conf -A -f -t + afl-fuzz 0.64b (Nov 22 2014 13:04:11) by + [+] You have 1 CPU cores and 2 runnable tasks (utilization: 200%). + [*] Checking core_pattern... + [*] Setting up output directories... + [+] Output directory exists but deemed OK to reuse. + [*] Deleting old session data... + [+] Output dir cleanup successful. + [*] Scanning 'test-cases/spa-pkts'... + [*] Creating hard links for all input files... + [*] Validating target binary... + [*] Attempting dry run with 'id:000000,orig:spa.start'... + [*] Spinning up the fork server... + [+] All right - fork server is up. + ... + +Then the familiar AFL status screen is displayed: + +![alt text][AFL-status-screen] + +[AFL-status-screen]: https://github.com/mrash/fwknop/raw/master/test/afl/AFL_status_screen.png "AFL Fuzzing SPA Packets" + +## SPA Packet Helper Script + Here is an example of what fwknopd produces when compiled for AFL support when -a dummy SPA packet is provided in non-encoded/encrypted form via fwknopd's -stdin: +a dummy SPA packet is provided in non-encoded/encrypted from via fwknopd's +stdin. This uses the *fwknopd-stdin-test.sh* helper script: $ ./fuzzing-wrappers/helpers/fwknopd-stdin-test.sh + SPA_PKT=1716411011200157:root:1397329899:2.0.1:1:127.0.0.2,tcp/22:AAAAA From ec4647cdf0b8c7fa37d18324c41baa159624f17e Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 22 Nov 2014 16:52:15 -0500 Subject: [PATCH 19/19] [test suite] path bug fix --- test/afl/compile/afl-compile-code-coverage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/afl/compile/afl-compile-code-coverage.sh b/test/afl/compile/afl-compile-code-coverage.sh index 174cd17c..6c2d9376 100755 --- a/test/afl/compile/afl-compile-code-coverage.sh +++ b/test/afl/compile/afl-compile-code-coverage.sh @@ -4,6 +4,6 @@ cd .. ./rm-coverage-files.sh cd afl -./afl-compile.sh --enable-profile-coverage +./compile/afl-compile.sh --enable-profile-coverage exit $?