bugtraq
[Top] [All Lists]

Re: 0-day ANI vulnerability in Microsoft Windows (CVE-2007-0038)

To: Jan Wrobel <wrobel@blues.ath.cx>
Subject: Re: 0-day ANI vulnerability in Microsoft Windows (CVE-2007-0038)
From: Alexander Sotirov <asotirov@determina.com>
Date: Fri, 30 Mar 2007 17:28:54 -0700
Cc: bugtraq@securityfocus.com, full-disclosure@lists.grok.org.uk
Delivered-to: sp-com-lists@consult.net
Delivered-to: bugtraq-list@securepoint.com
Delivered-to: mailing list bugtraq@securityfocus.com
Delivered-to: moderator for bugtraq@securityfocus.com
In-reply-to: <20070330231115.GA31923@blues.ath.cx>
List-help: <mailto:bugtraq-help@securityfocus.com>
List-id: <bugtraq.list-id.securityfocus.com>
List-post: <mailto:bugtraq@securityfocus.com>
List-subscribe: <mailto:bugtraq-subscribe@securityfocus.com>
List-unsubscribe: <mailto:bugtraq-unsubscribe@securityfocus.com>
Mailing-list: contact bugtraq-help@securityfocus.com; run by ezmlm
References: <460CA5CB.8080905@determina.com> <20070330231115.GA31923@blues.ath.cx>
User-agent: Thunderbird 1.5.0.10 (Windows/20070221)
Jan Wrobel wrote:
> I don't know if this rule detects all possible exploits or just one
> particular type. Here is a Firekeeper version of the rule, which can
> be used to detect sites hosting malicious files:
> 
> alert (msg:"BLEEDING-EDGE CURRENT EVENTS MS ANI exploit"; body_content:"|54 
> 53 49 4C 03 00 00 00 00 00 00 00 54 53 49 4C 04 00 00 00 02 02 02 02 61 6E 69 
> 68 52|"; reference:url,http://isc.sans.org/diary.html?storyid=2534; 
> reference:url,http://www.avertlabs.com/research/blog/?p=233; 
> reference:url,doc.bleedingthreats.net/2003519; fid:2003519; rev:1;)

A better way would be to look for all files that start with "RIFF" and contain
two copies of the string "anih", the first one followed by the dword 0x24, the
second one followed by a dword that's not 0x24. This should detect the
exploitation of the stack overflow with no false negatives. To avoid false
positives, you'll need code to parse all records in the ANI file and check for
more an "anih" record with a size not equal to 0x24.

Here's the regexp in Perl (somebody please convert it to a Snort rule)

/^RIFF.*anih\x24\x00\x00\x00.*anih(?!\x24\x00\x00\x00)/

Alex

Attachment: signature.asc
Description: OpenPGP digital signature

<Prev in Thread] Current Thread [Next in Thread>