Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with crash detection in the fuzzstati0n/fuzzgoat project? #59

Open
ihadnsgpsr opened this issue Apr 26, 2020 · 2 comments
Open

Comments

@ihadnsgpsr
Copy link

Hi,

I failed to launch a fuzzer in a way that allows me to detect crashes in the fuzzgoat project.

https://github.com/fuzzstati0n/fuzzgoat

This C program has been deliberately backdoored with several memory corruption bugs to test the efficacy of fuzzers and other analysis tools.

For some reason manul has failed to detect them despite fuzzing for hours, there is a 99% chance that I failed to set it up properly.

Do I need to build the target in a different way compared to standard AFL build with e.g. afl-gcc?
Am I doing something wrong?

Steps needed to reproduce steps: 

  1. Download and build fuzzgoat
git clone https://github.com/fuzzstati0n/fuzzgoat.git
cd /home/user/fuzzgoat
make

Here is the fuzzgoat Makefile:

CC=afl-gcc
DEPS=main.c fuzzgoat.c
ASAN=-fsanitize=address
CFLAGS=-I.
LIBS=-lm

all: $(DEPS)
	$(CC) -o fuzzgoat $(CFLAGS) $^ $(LIBS)
	$(CC) $(ASAN) -o fuzzgoat_ASAN $(CFLAGS) $^ $(LIBS)

afl: fuzzgoat
	afl-fuzz -i in -o out ./fuzzgoat @@

.PHONY: clean

clean:
	rm ./fuzzgoat ./fuzzgoat_ASAN
  1. Download and build manul
pip3 install psutil
git clone https://github.com/mxmssh/manulcd manul
mkdir in
mkdir out
echo "AAAAAA" > in/test
  1. Launch manul against the target

python3 manul.py -i in -o out -n 4 "/home/user/fuzzgoat/fuzzgoat @@"

@ihadnsgpsr
Copy link
Author

ihadnsgpsr commented Apr 26, 2020

Ok, let's say I "fixed it".

I simply changed the input seed.

default manul test file contained --> " AAAAAA "
default fuzzgoat test file contained --> " {"":"'} "

I tried to launch AFL with both test strings against fuzzgoat, but only with the first one using manul.
Manul detected crashes using the second string as an input.

In my defense... both inputs generated crashes immediately using AFL, and I haven't thought that it might be the problem.

@mxmssh
Copy link
Owner

mxmssh commented Apr 27, 2020

Seems like this issue related to #54

mxmssh added a commit that referenced this issue Apr 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants