Home

Awesome

Peach Orchard

Peach Orchard is a web front-end to aggregate crash and status information for different fuzzers; it provides a centralized server and distributed nodes that centralizes all crash and status information. Each system that runs a fuzzer can fire up an Orchard node that will send crash information back to the mothership, which will then be viewable from the web interface. If you happen to run a dozen or so fuzzers like I do, this is a nice way to pull that information together to quickly check for any crashes.

I'm bad at web design and have implemented a simple Django app with Bootstrap3; if you're a web guy who likes doing web things, I'd love PRs.

This is similar iSEC's PeachFarmer project, but whilst that only aggregates logs, this provides a way of viewing the data. Also has the added benefit of not opening up ports on all your fuzzing machines; Peach Orchard follows a strict push-only architecture, in which all fuzzers push data up to the core server; one IP, one port.

Requirements

Server & Node

Server:

Node:

Tested on both Windows and Linux.

Action

Home Page Home

Node View Node

Crash View Crash

Setup

Pretty simple, really. Fundamentally there are two bits of information a Peach Orchard node needs: one, how and where nodes communicate, and what nodes monitor. The how and where can be configured in src/core/config.py by setting the following:

To start the server, run ./start_server.sh. _If this is the first run, the database will be built and you'll need to create an administrative user.

To start the node, ensure config.py is setup correctly, then run python node.py -f [your fuzzer] -n [your session name].

Fuzzer Support

Currently PeachOrchard supports the following fuzzers:

On the to-do list:

Other requests welcome.

TODO