Git Product home page Git Product logo

peach's Introduction

Peach Fuzz - Vulnerability Scanning Framework

This tool aims to look through files in a given directory to detect any unsafe, vulnerable, or dangerous function calls. It is designed to be extensible and easy to understand; you can "plug-and-play" modules that specify criteria on which types of files will trigger what 'scans,' in which you determine what action it should take to find and report dangerous content within each file.

Also, it may be run as an experimental automated fuzzing tool. Given effective modules, the framework can be adapted to automatically fuzz executables. You may implement fuzzers using the generic fuzz.fuzzer.Fuzzer class. WARNING: this is a subclass of scan.scanner.Scanner, but will EXECUTE all files with executable permission! Be careful!

Usage

$ ./peach.py -h
usage: peach.py [-h] [-s] [-f] [--follow] [-c CONFIG] [-o OUTPUT] [-sh] [-nh]
                paths [paths ...]

positional arguments:
  paths                 files and directories to scan

optional arguments:
  -h, --help            show this help message and exit
  -s, --scan            use configuration file for vulnerability scanning
                        (vulnscan.json).
  -f, --fuzz            use configuration file for automated fuzzing
                        (fuzzing.json).
  --follow              follow symbolic links when scanning directories
  -c CONFIG, --config CONFIG
                        specify a custom configuration file (default:
                        vulnscan.json)
  -o OUTPUT, --output OUTPUT
                        output results to the specified JSON file
  -sh, --scan-hidden    Scan hidden files and directories (default)
  -nh, --no-hidden      Do not scan hidden files and directories

File & Directory Information

  • peach.py

    This is the core of the utility; the Python script that kickstarts all threads and scans from the given command-line arguments.

  • scan

    This directory hosts all the classes that can be duplicated and extended for specific file "scans," in which you could do pretty much anything you want. They are just housed in this folder to keep things clean.

  • vulnscan.json

    This acts like the global configuation; in this JSON file you specify what scans you want to run for all of the files processed, and determine whatever criteria you want to use to identify those files (file extension, MIME type, or executable). All scanners listed in this configuration should be merely that: scanners. No fuzzers should be listed here!

  • fuzzing.json

    This file is similar to vulnscan.json except that it contains references to fuzzers and can be used to start automatically fuzzing a directory or file. WARNING: using this config will execute ALL files with executable permissions! Be careful using it!

  • test

    This directory holds anything that has been often used to test some of the scanners. You can add to it as you please.

  • colors.py

    This small module acts as a wrapper for colorama, in an effort to supply some shorthand function calls.

That's it! The idea behind the tool is simple; the real power comes from building scanners to detect and report any mischievous content or code in large amounts of unknown data. So add your own scanner!

peach's People

Contributors

calebstewart avatar johnhammond avatar

Watchers

 avatar  avatar

Forkers

m31moth

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.