From charlesreid1

Line 31: Line 31:


We'll be fuzzing [[John the Ripper]] to understand how AFL works.
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.
We want to download and compile John so that it will be instrumented.
===Dependencies===
Start with dependencies - OpenSSL development libs:
<pre>
# apt-get install --fix-missing libssl-dev
</pre>
===Get John the Ripper===


<pre>
<pre>
Line 39: Line 51:
# ./configure --help
# ./configure --help
</pre>
</pre>
===Compile John the Ripper===

Revision as of 05:33, 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