Archive for January, 2008

Peach 2.1 – Fixups, checksums, crc32's

January 13th, 2008 | Category: Peach

Peach 2.1 includes a much improved mechanism for performing what I call data fix-ups were we calculate checksums required to make our data correct.  Many protocols and most file formats include some form of checksum field to verify that data was not corrupted.  When we generate/mutate data we want to make sure we re-calculate these checksums after our modifications, otherwise we will likely not get very far down the parser code paths due to failed validations.

Peach 2.1 BETA3 includes the following fixups out of the box:

  • checksums.Crc32Fixup — This fixup computes the standard CRC32 as defined by ISO 3309 and is used by PNG, zip, etc.
  • checksums.EthernetChecksumFixup — Computes the ethernet checksum.
  • checksums.IcmpChecksumFixup — Computes the ICMP packet checksum.

Read more

No comments

Peach 2.1 BETA3 Bug Patch

January 13th, 2008 | Category: Peach

Well it was bound to happen, the first “stupid developer” (that’s me ;) bug was reported.  I have a patched posted up to the mailing list.  This bug affects the <Number> element when specifying valueType=”hex” values.  Additionally, I fixed the Tutorial_DHCP-Request.xml so it works with beta3.

Thanks to David for reporting this bug.

Patch and List Post

1 comment

Peach 2.1 – Exposed Mutators – Part 1

January 13th, 2008 | Category: Peach

Peach 2.1 BETA3 exposes the mutators used by Peach to perform fuzzing.  Each mutator performs a specific mutation.  Custom mutators can be created and included, additionally the order in which mutators are used can be customized for all fuzzers down to specific tests.

Read more

No comments

Peach 2.1 – Mutator Hints

January 13th, 2008 | Category: Peach

This is the first in several articles covering some of the new features in Peach 2.1 BETA3.  In this article I will cover the new <Hint> element.  This element was added to allow metadata that can be used by different mutators to be added to the data model.  For example, consider this data model:


 <DataModel name="FilenameParameter">
  <String name="Filename" value="c:\path\file.bin" />
</DataModel>

Deliverance rip The Filename string element is a prime candidate for a hint indicating that not only is it a string, it is also a filename.  The following is our changed data model that includes a hint:



 <DataModel name="FilenameParameter">
  <String name="Filename" value="c:\path\file.bin">
    <Hint name="type" value="filename" />
  </String>
</DataModel>

One Hour Photo divx Welcome Home, Roscoe Jenkins psp

When a Man Loves a Woman download

Multiple Hints are allowed per data element.  The current set of mutators included with Peach only understand the following hints:

download brokeback mountain divx

Out Cold film

Punch-Drunk Love trailer

The Hard Way release

drive thru dvdrip

Halloween 4: The Return of Michael Myers full

Pippi Longstocking move

Real Time download
Name Value Description

Deep Blue Sea release

The Messenger: The Story of Joan of Arc movie

type path Indicates a path name
  filename Indicates a filename w/path.
  xml Indicates value is XML.  Causes the inclusion of the W3C parser tests
  hostname Indicates value is a hostname.

Slumdog Millionaire hd

No comments

PacSec 2007 Peach Slides

January 09th, 2008 | Category: Peach

« Previous Page