From charlesreid1

Line 53: Line 53:


===Compile John the Ripper===
===Compile John the Ripper===
We will compile John the Ripper using American Fuzzy Lop's own GCC:
<pre>
CC=/path/to/afl-gcc ./configure
</pre>

Revision as of 05:35, 2 April 2016

Fuzzer

https://necurity.co.uk/netsec/2015/03/30/Fun-With-AFL.html#sthash.h9Aurb7C.dpbs

About

American fuzzy lop is a program for fuzzing inputs. It is very sophisticated and can be instrumented with a binary to do very targeted fuzzing.

Installing

Get the latest version, and run make to make it:

$ wget http://lcamtuf.coredump.cx/afl/releases/afl-latest.tgz 
$ tar -xvf afl-latest.tgz cd afl-latest.tgz
$ cd afl-*
$ make 
$ make install

Success!

root@morpheus:~/codes/afl-2.10b# which afl-fuzz
/usr/local/bin/afl-fuzz

Fuzzing a Program

Programs that can be fuzzed are those that take input files, usually binary files or unusual formats. (Think mp3, multimedia, images, etc.)

We'll be fuzzing John the Ripper to understand how AFL works.

Compiling John the Ripper

We want to download and compile John so that it will be instrumented.

Dependencies

Start with dependencies - OpenSSL development libs:

# apt-get install --fix-missing libssl-dev

Get John the Ripper

# git clone git@github.com:magnumripper/JohnTheRipper.git
# cd JohnTheRipper/src
# ./configure --help

Compile John the Ripper

We will compile John the Ripper using American Fuzzy Lop's own GCC:

CC=/path/to/afl-gcc ./configure