Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
More support for mutation based fuzzing?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  9 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Radu Stanca  
View profile  
 More options Jun 27, 8:55 am
From: "Radu Stanca" <rstanca.li...@gmail.com>
Date: Sat, 27 Jun 2009 15:55:19 +0300
Local: Sat, Jun 27 2009 8:55 am
Subject: More support for mutation based fuzzing?
Hello

Is it possible to easily modify Peach so it can be used for mutation based  
fuzzing too? I would like to be able to just tell Peach where in a file to  
apply some mutators without writing a pit file to describe the contents of  
it, just tell peach to take a file and use a mutator between the 1 and the  
4th byte. Right now I have a python script using the python-bitstring  
module but it would be great to use Peach instead.

Regards,
Radu


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Michael Eddington  
View profile  
 More options Jun 27, 3:24 pm
From: Michael Eddington <medding...@gmail.com>
Date: Sat, 27 Jun 2009 12:24:30 -0700
Local: Sat, Jun 27 2009 3:24 pm
Subject: RE: [Peach] More support for mutation based fuzzing?
Sure, if you just use a blob type you will get dumb fuzzing, eg bit flips, dword slide, etc.  I recommend using the binary analyzer as it can locate strings sizes etc and auto fuzz them.  See web site for details on analyzers, a link under whats new in 2.3.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Radu Stanca  
View profile  
 More options Jun 27, 5:34 pm
From: "Radu Stanca" <rstanca.li...@gmail.com>
Date: Sun, 28 Jun 2009 00:34:31 +0300
Local: Sat, Jun 27 2009 5:34 pm
Subject: Re: [Peach] Re: More support for mutation based fuzzing?
On Sat, 27 Jun 2009 22:24:30 +0300, Michael Eddington  

<medding...@gmail.com> wrote:

> Sure, if you just use a blob type you will get dumb fuzzing, eg bit  
> flips, dword slide, etc.  I recommend using the binary analyzer as it  
> can locate strings sizes etc and auto fuzz them.  See web site for  
> details on analyzers, a link under whats new in 2.3.

Is there something I'm missing here? How can I tell Peach to take an  
existing binary file as input? The binary analyzer can't be run from the  
command line according to wiki. I just want something like this:

  peach.py --input=some-big-file.jpg --byte-range=1-4 --some-mutator

or we can have some xml

<File path="some-big-file.jpg">
        <Range from="1" to="4">

Peach should just care about the first 4 bytes from that file and create  
mutated files somewhere or whatever publisher you have.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Michael Eddington  
View profile  
 More options Jun 27, 5:55 pm
From: Michael Eddington <medding...@gmail.com>
Date: Sat, 27 Jun 2009 14:55:47 -0700
Local: Sat, Jun 27 2009 5:55 pm
Subject: RE: [Peach] Re: More support for mutation based fuzzing?
The xml might look a bit like this (on my phone so missing a couple things..)

(DataModel name=FileModel)
   (Blob length=4/)
   (Blob mutable=false/)
(DataModel/)

(statemodel initial=start)
  (state name=start)
     (action type=output)
        (datamodel ref=filemodel/)
        (data filename=some-big-file.bin/)
   (/action)
  (/state)
(/statemodel)

Then justpick the publisher u want to use...

mike


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Radu Stanca  
View profile  
 More options Jun 27, 6:06 pm
From: "Radu Stanca" <rstanca.li...@gmail.com>
Date: Sun, 28 Jun 2009 01:06:58 +0300
Local: Sat, Jun 27 2009 6:06 pm
Subject: Re: [Peach] Re: More support for mutation based fuzzing?
On Sun, 28 Jun 2009 00:55:47 +0300, Michael Eddington  

That's what I'm looking for, thank you very much for your help!

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Radu Stanca  
View profile  
 More options Jul 17, 1:07 pm
From: "Radu Stanca" <rstanca.li...@gmail.com>
Date: Fri, 17 Jul 2009 19:07:17 +0200
Local: Fri, Jul 17 2009 1:07 pm
Subject: Re: [Peach] Re: More support for mutation based fuzzing?
On Sat, 27 Jun 2009 23:55:47 +0200, Michael Eddington  

Hi Michael

I finally had time to play around with this but it does not behave as I  
want it to. Here's the data model and the state model, I'm using  
FilePerIteration as a publisher, the sample.bin file is a 157 kbytes in  
size

<DataModel name="TheDataModel">
     <Blob name="Header" lenght="4"/>
     <Blob name="TheRest" mutable="false" />
</DataModel>

<StateModel name="TheStateModel" initialState="Initial">
     <State name="Initial">
       <Action type="output">
         <DataModel ref="TheDataModel" />
         <Data name="SampleFile" fileName="sample.bin" />
       </Action>
     </State>
</StateModel>

The problem is that the BitFlipperMutator will run through the whole file  
and not only on those 4 bytes specified by the Blob "Header". If I add the  
the binary.Binary analyzer, Peach will add 4 bytes to the end of every  
generate file and that's it. I also noticed that adding more than 2 Blob  
fields to the data model will significantly increase the cracking of the  
data, in my case with 3 Blob fields and that 157kbytes file it takes more  
than 10 minutes(I cancelled it after, not sure how long it would take) on  
a quad core processor.

Maybe you have some hints for me?

Thanks


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Žember  
View profile  
 More options Jul 17, 1:21 pm
From: Martin Žember <zem...@gmail.com>
Date: Fri, 17 Jul 2009 19:21:50 +0200
Local: Fri, Jul 17 2009 1:21 pm
Subject: Re: [Peach] Re: More support for mutation based fuzzing?

On Fri, Jul 17, 2009 at 7:07 PM, Radu Stanca<rstanca.li...@gmail.com> wrote:
>     <Blob name="Header" lenght="4"/>

Use "length"...

Strange enough, 'peach -t' does not report any error.

Martin


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Michael Eddington  
View profile  
 More options Jul 17, 2:44 pm
From: Michael Eddington <medding...@gmail.com>
Date: Fri, 17 Jul 2009 11:44:09 -0700
Local: Fri, Jul 17 2009 2:44 pm
Subject: Re: [Peach] Re: More support for mutation based fuzzing?

On Fri, Jul 17, 2009 at 10:07 AM, Radu Stanca<rstanca.li...@gmail.com> wrote:
> <DataModel name="TheDataModel">
>     <Blob name="Header" lenght="4"/>
>     <Blob name="TheRest" mutable="false" />
> </DataModel>

try length instead of lenght :)

> generate file and that's it. I also noticed that adding more than 2 Blob
> fields to the data model will significantly increase the cracking of the
> data, in my case with 3 Blob fields and that 157kbytes file it takes more

Unless two out of the three blobs are sized with a length field then,
yes, things will be VERY slow.  Why?  Because Peach is trying to
figure out how large the Blobs should be (it assumes you had a good
reason for specifying three unsized blobs).

Likely due to the misspelling of length.

mike


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Radu Stanca  
View profile  
 More options Jul 18, 8:25 am
From: Radu Stanca <rstanca.li...@gmail.com>
Date: Sat, 18 Jul 2009 14:25:19 +0200
Local: Sat, Jul 18 2009 8:25 am
Subject: Re: [Peach] Re: More support for mutation based fuzzing?

On Fri, Jul 17, 2009 at 8:44 PM, Michael Eddington<medding...@gmail.com> wrote:

> On Fri, Jul 17, 2009 at 10:07 AM, Radu Stanca<rstanca.li...@gmail.com> wrote:
>> <DataModel name="TheDataModel">
>>     <Blob name="Header" lenght="4"/>
>>     <Blob name="TheRest" mutable="false" />
>> </DataModel>

> try length instead of lenght :)

Yep, that typo was the issue, not sure how it end up in there, I'm
using Visual C++ 2008 which has intellisense. Thanks

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google