James,<div><br></div><div>ASN.1 stuff really has to be done using an SO rule.  Thankfully, I've written a collection of functions that you can get with the SO Rules distribution to make handling the BER data much, much easier.  If you go through the history of SO Rules, you can see how the library developed into something that makes going through ASN.1 much faster and easier.</div>
<div><br></div><div>The functions I'm referring to are in dos_ber.[ch] (and duplicated in exploit_ber.* and snmp_ber.*).</div><div><br></div><div>There are other rules that use ASN.1 that don't use the library, but if you want a brief view of the visible history of the progression of those helper functions, first look at dos_linux-snmp-nat-netfilter.c and dos_openldap-bind-request-dos.c, then look at dos_oracle-ldap-bind-request-version.c and dos_tivoli-director-bind-string-overflow.c.  The former are presented as a warning and as insight into the nitty gritty, and the latter are examples of how it can be clean.  You'll probably want a mix of the two for the example you are trying to do.</div>
<div><br></div><div>For the particular example you are referring to, you should be able to traverse the structure using the utility functions and just check for sizes > 0x7FFFFF (or, more simply, size & 0x800000).</div>
<div><br></div><div>What's left, of course, is properly traversing the structure, which given that you're going through a cert, could be painful and slow, and I didn't necessarily read that advisory closely enough to see if there is a subset of places you need to check the size value or if you need to do that after every single read.  Using the utility functions I mention, the size value would be in ber_element.size, so accessing that information is easy, but still the validation will be slow.</div>
<div><br></div><div><br></div><div>Good luck,</div><div><br></div><div>~Patrick</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 18, 2012 at 12:53 PM, James Lay <span dir="ltr"><<a href="mailto:jlay@...3266..." target="_blank">jlay@...3266...</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey all,<br>
<br>
I'm trying to craft a sig that revolves around:<br>
<br>
<a href="http://seclists.org/fulldisclosure/2012/Apr/210" target="_blank">http://seclists.org/fulldisclosure/2012/Apr/210</a><br>
<br>
but I'm not exactly sure on where to start.  I'm guessing that<br>
asn1:bitstring_overflow 10000 may be the ticket, but I wanted to get<br>
some input from here.  Any hints on if this is the right way to go?<br>
Thank you.<br>
<br>
James<br>
<br>
------------------------------------------------------------------------------<br>
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial<br>
Remotely access PCs and mobile devices and provide instant support<br>
Improve your efficiency, and focus on delivering more value-add services<br>
Discover what IT Professionals Know. Rescue delivers<br>
<a href="http://p.sf.net/sfu/logmein_12329d2d" target="_blank">http://p.sf.net/sfu/logmein_12329d2d</a><br>
_______________________________________________<br>
Snort-sigs mailing list<br>
<a href="mailto:Snort-sigs@lists.sourceforge.net">Snort-sigs@...639...forge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/snort-sigs" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-sigs</a><br>
<a href="http://www.snort.org" target="_blank">http://www.snort.org</a><br>
<br>
<br>
Please visit <a href="http://blog.snort.org" target="_blank">http://blog.snort.org</a> for the latest news about Snort!<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Patrick Mullen<br>Response Research Manager<br>Sourcefire VRT<br>
</div>