I&#39;ve deployed those sigs as well (a similar variant to your createTextNode, and the .php?f=\d+$ one) -- and have actually had pretty good catches with them. With the URL one, the $ in the pcre has been key to reducing FPs... although I don&#39;t rely on it for similar URLs like the &quot;w.php?f=&amp;e=&quot; ...<div>
<br></div><div>A sig I&#39;ve been using for the BlackHole script combo (rather specific, but at least no false negatives so far) has been:</div><div><br></div><div>Alert TCP $EXTERNAL_NET any -&gt; $HOME_NET any (msg:&quot;Obfuscation.Method.C.Javascript&quot;; content:&quot;createTextNode&quot;; content:&quot;replaceData&quot;; distance:0; content:&quot;eval|28|&quot;; distance:0; sid:xxx; rev:1;)  </div>
<div><br><div><br></div><div><br></div><div>-alice</div><div><br><br><div class="gmail_quote">On Thu, Oct 13, 2011 at 12:56 PM, harry.tuttle <span dir="ltr">&lt;<a href="mailto:harry.tuttle@zoho.com">harry.tuttle@zoho.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi, Chris.<br>
<br>
I struggle with how to keep up with all the variations too. It seems like the only way is to have overlap so that as one element changes, hopefully something else will hit. At some point I guess this leads to ruleset bloat though.<br>

<br>
Would a simple &#39;content:&quot;.php?f=&quot;&#39; with &#39;pcre:&quot;/\.php\?f=\d{1,2}$/&quot;&#39; be a horribly performing rule do you think? That would seem to catch a lot of the various exploit pages used in the blackhole kit; not sure if it would false or not. If it does false, use it to set a flowbit and then trigger an alert on something in the file coming down (%PDF, MZ, etc.). Not sure if that&#39;s the right answer - just thinking out loud.<br>

<br>
I&#39;m having some luck this week with this one, which often hits other sigs but not always. I&#39;m sure it will only be temporary though.<br>
<br>
alert tcp $EXTERNAL_NET $HTTP_PORTS -&gt; $HOME_NET any (msg:&quot;ET CURRENT_EVENTS Combination of script elements often seen in Blackhole exploit kit&quot;; flow:established,to_client; content:&quot;String.fromCharCode&quot;; nocase; content:&quot;document.createTextNode&quot;; nocase; content:&quot;replaceData&quot;; nocase; content:&quot;setCharAt&quot;; nocase; classtype:attempted-user; sid:nnnnnnn; rev:1;)<br>

<br>
Regards,<br>
Harry<br>
<br>
<br>
---- On Thu, 13 Oct 2011 07:23:34 -0700 Chris Wakelin  wrote ----<br>
<div class="im"><br>
&gt;Looking at emerging-current_events.rules:<br>
&gt;<br>
&gt;alert http $HOME_NET any -&gt; $EXTERNAL_NET any (msg:&quot;ET CURRENT_EVENTS<br>
&gt;Java/PDF Exploit kit from /Home/games/ initial landing&quot;;<br>
&gt;flow:established,to_server; content:&quot;/Home/games/2fdp.php?f=&quot;; http_uri;<br>
&gt;classtype:trojan-activity; sid:2013025; rev:2;)<br>
&gt;alert http $HOME_NET any -&gt; $EXTERNAL_NET any (msg:&quot;ET CURRENT_EVENTS<br>
&gt;Java/PDF Exploit kit initial landing&quot;; flow:established,to_server;<br>
&gt;content:&quot;/2fdp.php?f=&quot;; http_uri; classtype:trojan-activity;<br>
&gt;sid:2013027; rev:3;)<br>
&gt;<br>
&gt;Looks like 2013025 is covered by 2013027. Perhaps we should rename it<br>
&gt;&quot;Blackhole Exploit kit PDF/Javascript Exploit #2&quot; (it uses obfuscated<br>
&gt;Javascript, not Java and seems to target Acrobat &lt;= 9.3)<br>
&gt;<br>
&gt;We also have &quot;1fdp.php?f=&quot; (same thing for Acrobat &lt; 8)<br>
&gt;<br>
&gt;and in the last couple of days new variants:<br>
&gt;<br>
&gt;&quot;2ddfp.php?f=&quot;/&quot;1ddfp.php?f=&quot; and (once) &quot;2dfp.php?f=&quot;/&quot;1dfp.php?f=&quot;.<br>
&gt;<br>
&gt;Is it better to have these as separate rules or to use a PCRE? I&#39;m<br>
&gt;guessing the former as there&#39;s precious little for a &quot;content:&quot; match.<br>
&gt;<br>
&gt;Next,<br>
&gt;<br>
&gt;alert http $EXTERNAL_NET any -&gt; $HOME_NET any (msg:&quot;ET CURRENT_EVENTS<br>
&gt;Blackhole landing page with malicious Java applet&quot;;<br>
&gt;flow:established,from_server; content:&quot;&lt;applet<br>
&gt;code=|27|buildService.MapYandex.class|27|&quot;; content:&quot;.jar&quot;;<br>
</div>&gt;content:&quot;&quot;; classtype:bad-unknown; sid:2013553; rev:2;)<br>
<div class="im">&gt;alert http $EXTERNAL_NET any -&gt; $HOME_NET any (msg:&quot;ET CURRENT_EVENTS<br>
&gt;Blackhole landing page with malicious Java applet&quot;;<br>
&gt;flow:established,from_server; content:&quot;&lt;applet&quot;; content:&quot;code=&quot;;<br>
</div>&gt;content:&quot;.jar&quot;; content:&quot;e00oMDD&quot;; content:&quot;&quot;;<br>
<div><div></div><div class="h5">&gt;classtype:bad-unknown; sid:2013700; rev:2;)<br>
&gt;<br>
&gt;We&#39;re still matching 2013700, but I think 2013553 might be redundant<br>
&gt;(the &quot;.class&quot; varies a lot). In any case, they shouldn&#39;t have the same<br>
&gt;description!<br>
&gt;<br>
&gt;(BTW &quot;worms.jar&quot; seems to have been replaced by &quot;rabbit.jar&quot; and<br>
&gt;&quot;field.jar&quot; in the last couple of days.)<br>
&gt;<br>
&gt;I&#39;ve seen quite a bit of:-<br>
&gt;<br>
&gt;<a href="http://s17.eu.tf/2jzgte.php" target="_blank">s17.eu.tf/2jzgte.php</a> (2011-10-07)<br>
&gt;<a href="http://s16.net.tf/2jzgte.php" target="_blank">s16.net.tf/2jzgte.php</a> (2011-10-10)<br>
&gt;<a href="http://s06.au.tc/2jzgte.php" target="_blank">s06.au.tc/2jzgte.php</a> (2011-10-10)<br>
&gt;<a href="http://s13.it.tc/2jzgte.php(2011-10-11)" target="_blank">s13.it.tc/2jzgte.php(2011-10-11)</a><br>
&gt;<a href="http://s13.it.tc/2jzgte.php" target="_blank">s13.it.tc/2jzgte.php</a> (2011-10-11)<br>
&gt;<a href="http://s07.pro.tc/2jzgte.php" target="_blank">s07.pro.tc/2jzgte.php</a> (2011-10-11)<br>
&gt;<a href="http://s11.at.tc/2jzgte.php" target="_blank">s11.at.tc/2jzgte.php</a> (2011-10-13)<br>
&gt;<br>
&gt;(no query string). It might be worth a sig for &quot;/2jzgte.php&quot;, though I<br>
&gt;suspect this is just one user of the exploit kit.<br>
&gt;<br>
&gt;The Javascript obfuscation has changed to things like<br>
&gt;<br>
&gt;&gt; s=&#39;73_84_72_90_82_74_83 ... 21_13_14_32&#39;.split(&#39;_&#39;);<br>
&gt;&gt; function setCharAt(str,q,index) {<br>
&gt;&gt; return String.fromCharCode(1*str[index] + 27);<br>
&gt;&gt; }<br>
&gt;<br>
&gt;(the &quot;_&quot; could be other characters of course, I&#39;ve also seen &quot;:&quot;). I<br>
&gt;think while 2013700 still matches, we probably don&#39;t need to write a new<br>
&gt;sig for this.<br>
&gt;<br>
&gt;Best Wishes,<br>
&gt;Chris<br>
&gt;<br>
&gt;--<br>
&gt;--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-<br>
&gt;Christopher Wakelin, <a href="mailto:c.d.wakelin@reading.ac.uk">c.d.wakelin@reading.ac.uk</a><br>
&gt;IT Services Centre, The University of Reading, Tel: <a href="tel:%2B44%20%280%29118%20378%202908" value="+441183782908">+44 (0)118 378 2908</a><br>
&gt;Whiteknights, Reading, RG6 6AF, UK Fax: <a href="tel:%2B44%20%280%29118%20975%203094" value="+441189753094">+44 (0)118 975 3094</a><br>
&gt;_______________________________________________<br>
&gt;Emerging-sigs mailing list<br>
&gt;<a href="mailto:Emerging-sigs@emergingthreats.net">Emerging-sigs@emergingthreats.net</a><br>
&gt;<a href="http://lists.emergingthreats.net/mailman/listinfo/emerging-sigs" target="_blank">http://lists.emergingthreats.net/mailman/listinfo/emerging-sigs</a><br>
&gt;<br>
&gt;Support Emerging Threats! Subscribe to Emerging Threats Pro <a href="http://www.emergingthreatspro.com" target="_blank">http://www.emergingthreatspro.com</a><br>
&gt;The ONLY place to get complete premium rulesets for Snort 2.4.0 through Current!<br>
&gt;<br>
<br>
_______________________________________________<br>
Emerging-sigs mailing list<br>
<a href="mailto:Emerging-sigs@emergingthreats.net">Emerging-sigs@emergingthreats.net</a><br>
<a href="http://lists.emergingthreats.net/mailman/listinfo/emerging-sigs" target="_blank">http://lists.emergingthreats.net/mailman/listinfo/emerging-sigs</a><br>
<br>
Support Emerging Threats! Subscribe to Emerging Threats Pro <a href="http://www.emergingthreatspro.com" target="_blank">http://www.emergingthreatspro.com</a><br>
The ONLY place to get complete premium rulesets for Snort 2.4.0 through Current!<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>---<br><a href="mailto:girl@techn0ev3.net">girl@techn0ev3.net</a><br><br>Finché c&#39;è vita, c&#39;è speranza.<br>As long as there is life, there is hope. <br>

</div></div>