<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Didier Stevens &#187; Forensics</title>
	<atom:link href="http://blog.didierstevens.com/category/forensics/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.didierstevens.com</link>
	<description>(blog 'DidierStevens)</description>
	<lastBuildDate>Thu, 26 Aug 2010 12:11:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.didierstevens.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/60bb50c97cd147341ffb43b0e2ef0d15?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Didier Stevens &#187; Forensics</title>
		<link>http://blog.didierstevens.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.didierstevens.com/osd.xml" title="Didier Stevens" />
	<atom:link rel='hub' href='http://blog.didierstevens.com/?pushpress=hub'/>
		<item>
		<title>Frisky Solitaire &#8211; Another Info Stealer</title>
		<link>http://blog.didierstevens.com/2010/03/09/frisky-solitaire-another-info-stealer/</link>
		<comments>http://blog.didierstevens.com/2010/03/09/frisky-solitaire-another-info-stealer/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 00:00:15 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Malware]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=2072</guid>
		<description><![CDATA[Marcus Murray gave a great talk at TechEd Berlin 2009: &#8220;Hack-Proofing Your Clients Using Windows 7 Security&#8221;. In one of his demos, he showed a trojaned Excel spreadsheet. The spreadsheet was a simple text-based game, but it had a malicious component that executed surreptitiously while the game was played. As I&#8217;ve done several hacks with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=2072&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.truesec.com/en/consulting.htm#mm">Marcus Murray</a> gave a great talk at TechEd Berlin 2009: &#8220;Hack-Proofing Your Clients Using Windows 7 Security&#8221;. In one of his demos, he showed a trojaned Excel spreadsheet. The spreadsheet was a simple text-based game, but it had a malicious component that executed surreptitiously while the game was played.</p>
<p>As I&#8217;ve done several <a href="http://blog.didierstevens.com/2008/10/23/excel-exercises-in-style/">hacks with Excel macros</a> in the past, this made me realize that social engineering is a key element to get people to run macros from a spreadsheet of unknown origin.</p>
<p>Several people have asked me about de details of the vulnerability I exploited in my <a href="http://blog.didierstevens.com/2010/03/08/pdf-info-stealer-poc/">PDF Info Stealer PoC</a>. But that&#8217;s not important. It&#8217;s not about the exploit, it&#8217;s about the payload: the info stealer. As I&#8217;ve written in <a href="http://blog.didierstevens.com/2010/03/08/pdf-info-stealer-poc/">my previous post</a>, I don&#8217;t even need an exploit to get users to execute the info stealer. If I put the info stealer inside an Excel spreadsheet and social engineer the targeted users to execute the macros, I&#8217;ve achieved my goal without exploiting a software vulnerability.</p>
<p>I present you Frisky Solitaire:</p>
<p><img class="alignnone size-full wp-image-2073" title="XPPROSP3-2010-03-05-20-49-19" src="http://didierstevens.files.wordpress.com/2010/03/xpprosp3-2010-03-05-20-49-19.png?w=1024&#038;h=768" alt="" width="1024" height="768" /></p>
<p>Frisky solitaire is more compelling than text-based Excel games, because of the graphics. I took Solitaire from ReactOS, turned it into a DLL and embedded it with my <a href="http://blog.didierstevens.com/2010/02/16/memoryloadlibrary-from-c-program-to-shellcode/">memory loading shellcode</a> into Excel macros (the same technique as <a href="http://blog.didierstevens.com/2010/02/08/excel-with-cmd-dll-regedit-dll/">I developed for cmd.dll and regedit.dll</a>). I imagine that a simple game like Solitaire in Excel can go viral inside a company, when you know that many corporations disable standard Windows games on their desktops and Terminal Servers.</p>
<p>But in a crude attempt at social engineering the male population of a targeted company, I added an element of nudity to the game. The implied message of the game&#8217;s title is that winning games increases nudity. I know, I&#8217;m talking about basic instincts here, but it still does the trick&#8230;</p>
<p>So I imagine that this game can become popular with a large part of the male employees of a targeted company. And that they wouldn&#8217;t question the fact you have to execute Excel macros to play a game. Sounds plausible, no?</p>
<p>Of course, you guessed it: Frisky Solitaire is trojaned with an info stealer&#8230; No need to exploit a software vulnerability to steal info. Given that here too, everything is done in memory, detection is unlikely.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/2072/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/2072/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/2072/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=2072&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2010/03/09/frisky-solitaire-another-info-stealer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2010/03/xpprosp3-2010-03-05-20-49-19.png" medium="image">
			<media:title type="html">XPPROSP3-2010-03-05-20-49-19</media:title>
		</media:content>
	</item>
		<item>
		<title>PDF Info Stealer PoC</title>
		<link>http://blog.didierstevens.com/2010/03/08/pdf-info-stealer-poc/</link>
		<comments>http://blog.didierstevens.com/2010/03/08/pdf-info-stealer-poc/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 00:00:00 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=2046</guid>
		<description><![CDATA[An info stealer is malware that steals credentials or files from its victims. Info stealers don&#8217;t require admin rights to perform their task, and can be designed to evade or bypass AV, HIPS, DLP and other security software. I helped out a friend testing his environment with a PoC PDF info stealer I designed (I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=2046&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>An info stealer is malware that steals credentials or files from its victims.</p>
<p>Info stealers don&#8217;t require admin rights to perform their task, and can be designed to evade or bypass AV, HIPS, DLP and other security software.</p>
<p>I helped out a friend testing his environment with a PoC PDF info stealer I designed (I will not publish it).</p>
<p><img class="alignnone size-full wp-image-2049" title="pdf-infostealer-1" src="http://didierstevens.files.wordpress.com/2010/03/pdf-infostealer-1.png?w=499&#038;h=231" alt="" width="499" height="231" /></p>
<p>This PDF document exploits a known vulnerability, and executes shellcode to load a DLL (embedded inside the PDF document) from memory into memory. This way, nothing gets written to disk (except the PDF file). The DLL searches the My Documents folder of the currect user for a file called budget.xls, and uploads it to <a href="http://pastebin.com/HXDu9Z8r">Pastebin.com</a>.</p>
<p><img class="alignnone size-full wp-image-2050" title="pdf-infostealer-2" src="http://didierstevens.files.wordpress.com/2010/03/pdf-infostealer-2.png?w=712&#038;h=349" alt="" width="712" height="349" /></p>
<p>My PDF info stealer was succesful: file budget.xls was posted to Pastebin.com</p>
<p>Preventing an info stealer from operating is not easy. The Windows operating system is designed to give user processes unrestricted access to the user&#8217;s data. It&#8217;s only starting with the Windows Vista kernel and <a href="http://en.wikipedia.org/wiki/Mandatory_Integrity_Control">Windows Integrity Control</a> that a process can be assigned a lower level than user data and be restricted from accessing it. Lowering the Integrity Level of Acrobat Reader will help us in this case, but if I exploit an Excel vulnerability (or just use macros, without exploiting a vulnerability), the integrity levels will not protect us.</p>
<p>Neither is preventing data egress easy. OK, you can decide to block Pastebin.com. But can you block all sites that can be posted to? Like <a href="http://blog.didierstevens.com/2008/03/31/hiding-inside-wikipedia/">Wikipedia</a>? And if you can, do you block <a href="http://blog.didierstevens.com/2010/02/22/ping-shellcode/">ICMP packets</a>?</p>
<p>To protect confidential data, don&#8217;t let it be accessed by systems with Internet access. That&#8217;s not very practical, but it&#8217;s reliable. Or use strong encryption with strong passwords (not the default RC4 Excel encryption). The info stealer will have the <a href="http://blog.didierstevens.com/2008/12/09/updates-bpmtk-and-hakin9-pdf-and-metasploit/">extra difficulty to steal the password too</a>.</p>
<p>I know this is obvious advice, but it&#8217;s not easy protecting data from carefully designed info stealers on Windows.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/2046/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/2046/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/2046/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=2046&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2010/03/08/pdf-info-stealer-poc/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2010/03/pdf-infostealer-1.png" medium="image">
			<media:title type="html">pdf-infostealer-1</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2010/03/pdf-infostealer-2.png" medium="image">
			<media:title type="html">pdf-infostealer-2</media:title>
		</media:content>
	</item>
		<item>
		<title>New Format for UserAssist Registry Keys</title>
		<link>http://blog.didierstevens.com/2010/01/04/new-format-for-userassist-registry-keys/</link>
		<comments>http://blog.didierstevens.com/2010/01/04/new-format-for-userassist-registry-keys/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 15:29:45 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[My Software]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1920</guid>
		<description><![CDATA[With Windows 7 and Windows Server 2008 R2, the binary data format of the values stored in the UserAssist registry keys has changed. Here&#8217;s a partial description of the new format: the counter is 32-bits long, starting at byte 4 (first byte is byte 0) the timestamp (64-bits) starts at byte 60 there is a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1920&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With Windows 7 and Windows Server 2008 R2, the binary data format of the values stored in the UserAssist registry keys has changed.</p>
<p>Here&#8217;s a partial description of the new format:</p>
<ul>
<li>the counter is 32-bits long, starting at byte 4 (first byte is byte 0)</li>
<li>the timestamp (64-bits) starts at byte 60</li>
<li>there is a 32-bit value that appears to be the total time an application has focus, expressed in milli-seconds (starts at byte 8 )</li>
</ul>
<p>For more details, read my article in the new forensic magazine <a href="http://intotheboxes.wordpress.com/2010/01/01/into-the-boxes-issue-0x0/" target="_blank">Into The Boxes</a>.</p>
<p>Don&#8217;t forget to use the <a href="http://blog.didierstevens.com/2009/10/21/a-windows-7-launch-party-trick/" target="_self">special version of my UserAssist tool</a> on Windows 7 and Windows Server 2008 R2.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1920/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1920&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2010/01/04/new-format-for-userassist-registry-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>
	</item>
		<item>
		<title>Quickpost: Read-Only USB Stick</title>
		<link>http://blog.didierstevens.com/2009/12/20/quickpost-read-only-usb-stick/</link>
		<comments>http://blog.didierstevens.com/2009/12/20/quickpost-read-only-usb-stick/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 20:52:33 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Quickpost]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1878</guid>
		<description><![CDATA[When someone asks me for a read-only USB stick, I recommend to use an SD card with a SD-to-USB adapter, because these are easier to find than USB sticks with write-protection. Most SD cards have a write-protection tab. But last time I got a surprise: when testing a new SD card reader, I was able [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1878&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When someone asks me for a read-only USB stick, I recommend to use an <a href="http://en.wikipedia.org/wiki/Secure_Digital" target="_blank">SD card</a> with a SD-to-USB adapter, because these are easier to find than USB sticks with write-protection. Most SD cards have a write-protection tab.</p>
<p><img class="alignnone size-full wp-image-1882" title="20091220-214410" src="http://didierstevens.files.wordpress.com/2009/12/20091220-214410.png?w=500&#038;h=679" alt="" width="500" height="679" /></p>
<p>But last time I got a surprise: when testing a new SD card reader, I was able to write to the write-protected SD card. Turns out that this particular SD card reader doesn&#8217;t support the write-protection tab and always allows the OS to write to the SD card.</p>
<hr /><a href="http://blog.didierstevens.com/2007/11/01/announcing-quickposts/">Quickpost info</a></p>
<hr />
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1878/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1878&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/12/20/quickpost-read-only-usb-stick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/12/20091220-214410.png" medium="image">
			<media:title type="html">20091220-214410</media:title>
		</media:content>
	</item>
		<item>
		<title>Quickpost: SelectMyParent or Playing With the Windows Process Tree</title>
		<link>http://blog.didierstevens.com/2009/11/22/quickpost-selectmyparent-or-playing-with-the-windows-process-tree/</link>
		<comments>http://blog.didierstevens.com/2009/11/22/quickpost-selectmyparent-or-playing-with-the-windows-process-tree/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 20:36:53 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[My Software]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1860</guid>
		<description><![CDATA[I read something very interesting in &#8220;Windows via C/C++&#8221; today: starting with Windows Vista, CreateProcess can start a program where you specify the parent process! This is something forensic investigators must be aware of when they analyse processes running on a Windows machine. Normally the parent process of a new process is the process that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1860&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I read something very interesting in <a href="http://www.wintellect.com/BookInformation.aspx?ASIN=0735624240" target="_blank">&#8220;Windows via C/C++&#8221;</a> today: starting with Windows Vista, <a href="http://msdn.microsoft.com/en-us/library/ms682425%28VS.85%29.aspx" target="_blank">CreateProcess</a> can start a program where you specify the parent process! This is something forensic investigators must be aware of when they analyse processes running on a Windows machine.</p>
<p>Normally the parent process of a new process is the process that created the new process (via CreateProcess). But when using <a href="http://msdn.microsoft.com/en-us/library/ms686329%28VS.85%29.aspx" target="_blank">STARTUPINFOEX</a> with the right <a href="http://msdn.microsoft.com/en-us/library/ms683481%28VS.85%29.aspx" target="_blank">LPPROC_THREAD_ATTRIBUTE_LIST</a> to create a process, you can arbitrarely specify the parent process, provided you have the rights (i.e. it&#8217;s your process or you have debug rights).</p>
<p>I developed a small tool to start a program while specifying its parent process: SelectMyParent. Here I use it to start notepad as a child of lsass.exe:</p>
<p><img class="alignnone size-full wp-image-1863" title="20091122-211535" src="http://didierstevens.files.wordpress.com/2009/11/20091122-211535.png?w=601&#038;h=140" alt="" width="601" height="140" /></p>
<p><img class="alignnone size-full wp-image-1864" title="20091122-211621" src="http://didierstevens.files.wordpress.com/2009/11/20091122-211621.png?w=619&#038;h=99" alt="" width="619" height="99" /></p>
<p>2 remarks about this example:</p>
<ol>
<li>to make lsass.exe a parent process, you need to use SelectMyParent with admin rights and elevate its rights (Run as administrator)</li>
<li>the notepad process takes over the parent process&#8217; account: NT AUTHORITY\SYSTEM</li>
</ol>
<p>I don&#8217;t know how one can detect that a process&#8217; parent is not the process that created it, because a process has no access to its extended startup info (only to its startup info). And it is the extended startup info that contains the attribute list with the handle to the parent process.</p>
<p>SelectMyParent version 0.0.0.1 is available <a href="http://www.didierstevens.com/files/software/SelectMyParent_v0_0_0_1.zip" target="_self">here</a>.</p>
<hr /><a href="http://blog.didierstevens.com/2007/11/01/announcing-quickposts/">Quickpost info</a></p>
<p>&nbsp;</p>
<hr />
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1860/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1860&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/11/22/quickpost-selectmyparent-or-playing-with-the-windows-process-tree/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/11/20091122-211535.png" medium="image">
			<media:title type="html">20091122-211535</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/11/20091122-211621.png" medium="image">
			<media:title type="html">20091122-211621</media:title>
		</media:content>
	</item>
		<item>
		<title>A Windows 7 Launch Party Trick!</title>
		<link>http://blog.didierstevens.com/2009/10/21/a-windows-7-launch-party-trick/</link>
		<comments>http://blog.didierstevens.com/2009/10/21/a-windows-7-launch-party-trick/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:19:16 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[My Software]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1816</guid>
		<description><![CDATA[In search of a new trick for that Windows 7 Launch Party you&#8217;re invited to? Here&#8217;s one: You can download a beta version of my UserAssist tool here. Soon I&#8217;ll be posting a final version with details and source code.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1816&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In search of a new trick for that Windows 7 Launch Party you&#8217;re invited to? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Here&#8217;s one:</p>
<p><img class="alignnone size-full wp-image-1817" title="20091021-190621" src="http://didierstevens.files.wordpress.com/2009/10/20091021-190621.png?w=721&#038;h=440" alt="20091021-190621" width="721" height="440" /></p>
<p>You can download a beta version of my UserAssist tool <a href="http://didierstevens.com/files/software/UserAssistWindows7LaunchParty.zip">here</a>. Soon I&#8217;ll be posting a final version with details and source code.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1816/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1816/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1816&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/10/21/a-windows-7-launch-party-trick/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/10/20091021-190621.png" medium="image">
			<media:title type="html">20091021-190621</media:title>
		</media:content>
	</item>
		<item>
		<title>Update: UserAssist Tool Version 2.4.3</title>
		<link>http://blog.didierstevens.com/2009/08/11/update-userassist-tool-version-2-4-3/</link>
		<comments>http://blog.didierstevens.com/2009/08/11/update-userassist-tool-version-2-4-3/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 16:07:34 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[My Software]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1646</guid>
		<description><![CDATA[I had an interesting discussion with Hans Heins concerning the timestamp displayed by my UserAssist tool. The first version of the UserAssist tool would only decode the UserAssist registry keys of the account under which it was running. And thus it made sense to display the timestamp in local time format, even if the entry [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1646&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had an interesting discussion with <a href="http://blog.didierstevens.com/programs/userassist/#comments" target="_self">Hans Heins</a> concerning the timestamp displayed by my UserAssist tool.</p>
<p>The first version of the UserAssist tool would only decode the UserAssist registry keys of the account under which it was running. And thus it made sense to display the timestamp in local time format, even if the entry is stored in UTC.</p>
<p>I added a warning about the time zones when I added registry file import functions, but this was confusing.</p>
<p>This new version of the UserAssist tool adds an extra column, with the timestamp in UTC:</p>
<p><img class="alignnone size-full wp-image-1647" title="20090811-175725" src="http://didierstevens.files.wordpress.com/2009/08/20090811-175725.png?w=336&#038;h=265" alt="20090811-175725" width="336" height="265" /></p>
<p>And I&#8217;ll be posting a new version to support the new UserAssist registry key format of <a href="http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/" target="_self">Windows 7 and Windows 2008 R2</a>.</p>
<p>Download:</p>
<p><a href="http://didierstevens.com/files/software/UserAssist_V2_4_3.zip">UserAssist_V2_4_3.zip</a> (<a href="https://didierstevens.com/files/software/UserAssist_V2_4_3.zip">https</a>)</p>
<p>MD5: A5244C7F83E0DE70600E27F5D3B8AD7D</p>
<p>SHA256: 7E2D107BE84FBBF7E79F1BD11703401A374B5138B2F77E4FF8AFE1A3E749CCDA</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1646/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1646/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1646/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1646&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/08/11/update-userassist-tool-version-2-4-3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/08/20090811-175725.png" medium="image">
			<media:title type="html">20090811-175725</media:title>
		</media:content>
	</item>
		<item>
		<title>Quickpost: Vigenère Is Beta-Only</title>
		<link>http://blog.didierstevens.com/2009/01/29/quickpost-vigenere-is-beta-only/</link>
		<comments>http://blog.didierstevens.com/2009/01/29/quickpost-vigenere-is-beta-only/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 08:41:10 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Quickpost]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1225</guid>
		<description><![CDATA[I asked Steve Riley if he has inside information on the move from ROT13 to Vigenère for the UserAssist keys. It&#8217;s part of the beta program, to test upgrades. The final version of Windows 7 and Windows 2008 R2 will use ROT13 for the UserAssist keys, which has been used since Windows 2000. The binary [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1225&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I asked <a href="http://blogs.technet.com/steriley/" target="_blank">Steve Riley</a> if he has inside information on the <a href="http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/" target="_self">move from ROT13 to Vigenère for the UserAssist keys</a>. It&#8217;s part of the beta program, to test upgrades. The final version of Windows 7 and Windows 2008 R2 will use ROT13 for the UserAssist keys, which has been used since Windows 2000.</p>
<p>The binary format of the UserAssist keys has also changed, I&#8217;ve decoded most of it.</p>
<p>Here&#8217;s Steve&#8217;s complete answer, published with permission:</p>
<p><em>We used ROT-13 to obfuscate UserAssist for its historical Usenet purpose &#8212; not to try to secure the data, but to express that the data shouldn&#8217;t be tampered with. Sort of like claiming &#8220;Don&#8217;t peek and definitely don&#8217;t modify unless you&#8217;re prepared to deal with the consequences. You&#8217;ve been warned.&#8221; There are times, like this one, where simple obfuscation is technically justified. ROT-13 was never an encryption scheme, everyone fully expects everyone else to recognize ROT-13 on sight, and some people even developed the ability to read it directly. ROT-13 was an easy and inexpensive way to invoke an implicit social contract.</em></p>
<p><em>As you know, UserAssist stores the info about your most frequently used applications for display on the Start menu. (Basic principles at <a href="http://blogs.msdn.com/oldnewthing/archive/2007/06/11/3215739.aspx" target="_blank">http://blogs.msdn.com/oldnewthing/archive/2007/06/11/3215739.aspx</a>.) The data isn&#8217;t confidential and doesn&#8217;t need to be encrypted &#8212; after all, opening the Start menu displays it. However, its stored format is subject to change, and we don&#8217;t want applications or people unintentionally changing it. So we ROT-13ed it, in a geeky attempt to convey exactly the same message that ROT-13 signified on Usenet.</em></p>
<p><em>In Windows 7 we made some changes to the way the MFU list is maintained and to the data&#8217;s storage format in UserAssist. When you upgrade from a previous version of Windows, we clear the MFU list and start anew. We don&#8217;t want old data to carry forward into this key. Changing the encoding from ROT-13 to Vigenère makes it easier for us to test that we&#8217;re getting the behavior we want &#8212; it&#8217;s obvious if old data carries over, because ROT-13ed data makes no sense to Vigenère. This is very useful in pre-release builds while we&#8217;re shaking the bugs out.</em></p>
<p><em>However, there&#8217;s no such benefit to using Vigenère in the final release &#8212; it doesn&#8217;t convey the same message as ROT-13, and since it&#8217;s key-based, it&#8217;s easy to mistake Vigenère for true encryption. Therefore, in the final release of Windows 7, we&#8217;ll revert to using ROT-13 for UserAssist.</em></p>
<p><em>Hope this helps clarify the issue. Feel free to post my email on your blog, too. Incidentally, we have plenty of real crypto in Windows 7 &#8212; check out the performance improvements to our AES implementation, for example.</em></p>
<hr /><a href="http://blog.didierstevens.com/2007/11/01/announcing-quickposts/">Quickpost info</a></p>
<hr />
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1225&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/01/29/quickpost-vigenere-is-beta-only/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>
	</item>
		<item>
		<title>Quickpost: Windows 7 Beta: ROT13 Replaced With Vigenère? Great Joke!</title>
		<link>http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/</link>
		<comments>http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 23:17:51 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Quickpost]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.didierstevens.com/?p=1205</guid>
		<description><![CDATA[Remember that the UserAssist keys are encrypted with ROT13? In Windows 7 Beta, not anymore! Weak ROT13 crypto has been replaced with &#8220;stronger&#8221; Vigenère crypto! The Vigenère key I found through some basic cryptanalysis is BWHQNKTEZYFSLMRGXADUJOPIVC. To the Microsoft developer who designed this: great joke! You really made me laugh. Seriously. And I thought Easter [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1205&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Remember that the <a href="http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows-you%E2%80%99re-joking/">UserAssist keys are encrypted with ROT13</a>?</p>
<p>In Windows 7 Beta, not anymore! Weak <a href="http://en.wikipedia.org/wiki/Rot13" target="_blank">ROT13 crypto</a> has been replaced with &#8220;stronger&#8221; <a href="http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher" target="_blank">Vigenère crypto</a>!</p>
<p>The Vigenère key I found through some basic cryptanalysis is BWHQNKTEZYFSLMRGXADUJOPIVC.</p>
<p>To the Microsoft developer who designed this: great joke! You really made me laugh. Seriously. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<p>And I thought <a href="http://blogs.msdn.com/larryosterman/archive/2005/10/20/483110.aspx" target="_blank">Easter Eggs were banned in Microsoft products</a>. Maybe you don&#8217;t think of it as an Easter Egg, but as a programmer, I do. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="alignnone size-full wp-image-1210" title="20090118-234944" src="http://didierstevens.files.wordpress.com/2009/01/20090118-234944.png?w=816&#038;h=527" alt="20090118-234944" width="816" height="527" /></p>
<hr /><a href="http://blog.didierstevens.com/2007/11/01/announcing-quickposts/">Quickpost info</a></p>
<hr />
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/1205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/1205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/1205/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=1205&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2009/01/20090118-234944.png" medium="image">
			<media:title type="html">20090118-234944</media:title>
		</media:content>
	</item>
		<item>
		<title>Shoulder Surfing a Malicious PDF Author</title>
		<link>http://blog.didierstevens.com/2008/11/10/shoulder-surfing-a-malicious-pdf-author/</link>
		<comments>http://blog.didierstevens.com/2008/11/10/shoulder-surfing-a-malicious-pdf-author/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 21:32:55 +0000</pubDate>
		<dc:creator>Didier Stevens</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://didierstevens.wordpress.com/?p=893</guid>
		<description><![CDATA[Ever since I read about the incremental updates feature of the PDF file format, I&#8217;ve been patiently waiting for a malicious PDF document with incremental updates to come my way. Thanks to Bojan, that day has finally arrived. The 2 malicious PDF documents I received (data.pdf and info.pdf) both exploit the same Acrobat JavaScript util.printf [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=893&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ever since I read about the <a href="http://blog.didierstevens.com/2008/05/07/solving-a-little-pdf-puzzle/" target="_self">incremental updates</a> feature of the PDF file format, I&#8217;ve been patiently waiting for a malicious PDF document with incremental updates to come my way. Thanks to <a href="http://isc.sans.org/diary.html?storyid=5312" target="_blank">Bojan</a>, that day has finally arrived.</p>
<p>The 2 malicious PDF documents I received (data.pdf and info.pdf) both exploit the same Acrobat JavaScript <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2008-2992" target="_blank">util.printf vulnerability</a>.</p>
<p>data.pdf is very interesting to me: it&#8217;s one PDF file containing 5 incremental updates, essentially bringing us an archeological record of the malware author&#8217;s trial-and-error session. So let&#8217;s start uncovering what the malware writer has been up to.</p>
<p>Looking at the type of objects inside data.pdf (with my <a href="http://blog.didierstevens.com/programs/pdf-tools#pdf-parser" target="_self">PDF parser</a>), we can see many startxref and xref objects:</p>
<p><img class="alignnone size-full wp-image-907" title="20081110-202238" src="http://didierstevens.files.wordpress.com/2008/11/20081110-202238.png?w=660&#038;h=240" alt="20081110-202238" width="660" height="240" /></p>
<p>The metadata of data.pdf reveals that the guy (from personal experience, I know that most bad programmers are males <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) used Adobe Acrobat 8.1.0 to create this document in the early hours of Thursday November 6th 2008, and that his machine has timezone setting +01:00.</p>
<p>It took 52 minutes 32 seconds to create the first version of data.pdf. This version contains everything to execute a JavaScript script upon opening of the document, but the script to be executed is empty.</p>
<p>44 seconds later, a second version is created, containing this script:</p>
<p><img class="alignnone size-full wp-image-902" title="20081110-185852" src="http://didierstevens.files.wordpress.com/2008/11/20081110-185852.png?w=613&#038;h=367" alt="20081110-185852" width="613" height="367" /></p>
<p>This script performs a heap spray (the most indented section of function main) of shellcode (contained in variable sccs) and then exploits the util.printf format string bug. This exploit is contained in function main, which should be triggered by app.setTimeOut after 3 seconds. However, the use of setTimeOut in this script is buggy (details can be found in Adobe&#8217;s JS API Reference), and main() will never execute.</p>
<p>After 44 seconds, another version is created to try to get this exploit to work. He modified the call to setTimeOut like this:</p>
<p><img class="alignnone size-full wp-image-903" title="20081110-185933" src="http://didierstevens.files.wordpress.com/2008/11/20081110-185933.png?w=241&#038;h=31" alt="20081110-185933" width="241" height="31" /></p>
<p>This is completely wrong, so after 4 minutes and 12 seconds (probably spend Googling for an answer as to why this doesn&#8217;t work), he returns to the previous call, but now hopes that 5 seconds will do better than 3 seconds.</p>
<p><img class="alignnone size-full wp-image-904" title="20081110-190004" src="http://didierstevens.files.wordpress.com/2008/11/20081110-190004.png?w=270&#038;h=33" alt="20081110-190004" width="270" height="33" /></p>
<p>Of course, it doesn&#8217;t. After one minute and a half, he gives up, and modifies the script to execute his exploit without delay:</p>
<p><img class="alignnone size-full wp-image-905" title="20081110-190045" src="http://didierstevens.files.wordpress.com/2008/11/20081110-190045.png?w=619&#038;h=302" alt="20081110-190045" width="619" height="302" /></p>
<p>I can&#8217;t say he&#8217;s a sharp programmer or tenacious, but at least, he&#8217;s result-driven&#8230;</p>
<p>Let&#8217;s turn our attention to the second malicious PDF (info.pdf) I received. This file contains no incremental updates, but it&#8217;s still interesting because it has the same origin as data.pdf. This file was created at exactly the same time, and contains the same identification (/ID[&lt;DD95D438BE408D4FB12AC2FE7ED5E6C6&gt;&lt;14FA8F4917ED8449B59BF6CFA41C39BD&gt;]) as data.pdf. Most PDF applications add a unique ID to the trailer of every PDF document they create. info.pdf was saved a day later (about 37 hours later), and contains the same exploit script as data.pdf, but with an extra layer of JavaScript obfuscation.</p>
<p>Bojan confirmed he was the first to submit these files to Virustotal. I calculated the MD5 hashes for the different versions of data.pdf, but none were submitted to VT, so our guy didn&#8217;t use VT for QA.</p>
<p>It was an interesting experience, &#8220;spying&#8221; on this malware author. Let&#8217;s hope they don&#8217;t stop using incremental updates, and that some of them will be careless enough to leave personal data hidden in their malicious PDF documents.</p>
<p>data.pdf MD5 1A8E5242F21727959683FA8CC7AA94AD</p>
<p>info.pdf MD5 23F31C83EE658BB5C2635BEFDE56199A</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/didierstevens.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/didierstevens.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/didierstevens.wordpress.com/893/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.didierstevens.com&amp;blog=264765&amp;post=893&amp;subd=didierstevens&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.didierstevens.com/2008/11/10/shoulder-surfing-a-malicious-pdf-author/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">didierstevens</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2008/11/20081110-202238.png" medium="image">
			<media:title type="html">20081110-202238</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2008/11/20081110-185852.png" medium="image">
			<media:title type="html">20081110-185852</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2008/11/20081110-185933.png" medium="image">
			<media:title type="html">20081110-185933</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2008/11/20081110-190004.png" medium="image">
			<media:title type="html">20081110-190004</media:title>
		</media:content>

		<media:content url="http://didierstevens.files.wordpress.com/2008/11/20081110-190045.png" medium="image">
			<media:title type="html">20081110-190045</media:title>
		</media:content>
	</item>
	</channel>
</rss>