<?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/"
	>

<channel>
	<title>Techgames</title>
	<atom:link href="http://www.techgames.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techgames.org</link>
	<description>Explore. Empower. Educate.</description>
	<lastBuildDate>Tue, 24 Aug 2010 01:52:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>It Can Be Done!</title>
		<link>http://www.techgames.org/archives/191</link>
		<comments>http://www.techgames.org/archives/191#comments</comments>
		<pubDate>Tue, 24 Aug 2010 01:40:40 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[caddy stack]]></category>
		<category><![CDATA[golf balls]]></category>
		<category><![CDATA[minute-to-win-it]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=191</guid>
		<description><![CDATA[Congratulations Brandon, so far you are the only one to accomplish this feat!

]]></description>
			<content:encoded><![CDATA[<p>Congratulations Brandon, so far you are the only one to accomplish this feat!</p>
<p><a href="http://www.techgames.org/wp-content/uploads/2010/08/img063bw.jpg" rel="shadowbox[post-191];player=img;"><img class="alignnone size-full wp-image-195" title="img063bw" src="http://www.techgames.org/wp-content/uploads/2010/08/img063bw.jpg" alt="" width="368" height="551" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/191/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Week Two Discussion</title>
		<link>http://www.techgames.org/archives/175</link>
		<comments>http://www.techgames.org/archives/175#comments</comments>
		<pubDate>Sun, 22 Aug 2010 18:42:00 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Discussion]]></category>
		<category><![CDATA[bac]]></category>
		<category><![CDATA[germany]]></category>
		<category><![CDATA[passport]]></category>
		<category><![CDATA[rfid]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=175</guid>
		<description><![CDATA[
Welcome to the weekly discussion board topic. The purpose of the board is to spark interest, research, and conversation. The instructor will post a weekly topic and the students will respond to the instructor and fellow students&#8217; comments for points. The replies will briefly be discussed during the following class meeting.
In the news this week [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techgames.org/wp-content/uploads/2010/08/Passport_card.jpg" rel="shadowbox[post-175];player=img;"><img class="alignnone size-thumbnail wp-image-174" title="Passport_card" src="http://www.techgames.org/wp-content/uploads/2010/08/Passport_card-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Welcome to the weekly discussion board topic. The purpose of the board is to spark interest, research, and conversation. The instructor will post a weekly topic and the students will respond to the instructor and fellow students&#8217; comments for points. The replies will briefly be discussed during the following class meeting.</p>
<p>In the news this week Germany has now mandated that every citizen carry a RFID (radio frequency identification) card with them at all times. This card will allow German authorities to &#8220;identify people with speed and accuracy&#8221;. Read the story on Slashdot <a href="http://yro.slashdot.org/story/10/08/22/0217255/Germany-To-Roll-Out-ID-Cards-With-Embedded-RFID" target="_blank" onclick="pageTracker._trackPageview('/outgoing/yro.slashdot.org/story/10/08/22/0217255/Germany-To-Roll-Out-ID-Cards-With-Embedded-RFID?referer=');">found here</a>.</p>
<p>Politics and opinions aside, answer briefly on the following:</p>
<ul>
<li>What do you believe are some serious security risks associated with this new mandate?</li>
<li>Why has the basic access control protocol been criticized?</li>
<li>What if the German policy was adopted here, or has it already?</li>
</ul>
<p>Reply with your answers to this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/175/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>It&#8217;s go time.</title>
		<link>http://www.techgames.org/archives/170</link>
		<comments>http://www.techgames.org/archives/170#comments</comments>
		<pubDate>Sun, 15 Aug 2010 01:40:58 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[TechGames]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=170</guid>
		<description><![CDATA[
Well it&#8217;s that time once again, you can see what we are doing the first week of class on your class page; look up top and to the right.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techgames.org/wp-content/uploads/2010/06/rotator-6.jpg" rel="shadowbox[post-170];player=img;"><img class="alignnone size-full wp-image-114" title="rotator-6" src="http://www.techgames.org/wp-content/uploads/2010/06/rotator-6.jpg" alt="" width="380" height="230" /></a></p>
<p>Well it&#8217;s that time once again, you can see what we are doing the first week of class on your class page; look up top and to the right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/170/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The backup plan</title>
		<link>http://www.techgames.org/archives/141</link>
		<comments>http://www.techgames.org/archives/141#comments</comments>
		<pubDate>Thu, 01 Jul 2010 20:18:34 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Chase Jarvis]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=141</guid>
		<description><![CDATA[Not only is he a talented photographer, but Chase Jarvis is also backup savvy. There is nothing fun about losing your &#8220;files&#8221; but clients losing their data is another painful story. In this short video Chase shows in great detail the workflow of his studio from start to finish.
You can read more about Chase and [...]]]></description>
			<content:encoded><![CDATA[<p>Not only is he a talented photographer, but Chase Jarvis is also backup savvy. There is nothing fun about losing your &#8220;files&#8221; but clients losing their data is another painful story. In this short video Chase shows in great detail the workflow of his studio from start to finish.</p>

	<script type="text/javascript">
		var flashvars = {};
		flashvars.playOnStart = "false";
		flashvars.startVolume = "70";
		flashvars.autoHideOther = "false";
		flashvars.autoHideVideoControls = "false";
		flashvars.onStartShowControls = "true";
		flashvars.fullVideoScale = "true";
		flashvars.showPlayButton = "true";
		flashvars.share = "false";
		flashvars.MediaLink2 = "http://www.youtube.com/watch?v=Y-6EQo6it7Y";
		flashvars.image = "http://www.techgames.org/wp-content/plugins/youtube-with-style/lib/img.php?v=Y-6EQo6it7Y";
		var params = {};
		params.bgcolor = "#000000";
		params.allowfullscreen = "true";
		params.wmode = "opaque";
		var attributes = {};
		attributes.id = "myplayer";
		swfobject.embedSWF("http://www.techgames.org/wp-content/plugins/youtube-with-style/lib/player.swf", "myAlternativeContent", "460", "310", "9.0.0", false, flashvars, params, attributes);
	</script> <div id="myAlternativeContent">blah</div>
<p>You can read more about Chase and see his work at <a href="http://www.chasejarvis.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.chasejarvis.com/?referer=');">Chase Jarvis dot com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/141/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fried electronics</title>
		<link>http://www.techgames.org/archives/126</link>
		<comments>http://www.techgames.org/archives/126#comments</comments>
		<pubDate>Fri, 11 Jun 2010 15:36:01 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[IT News]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=126</guid>
		<description><![CDATA[

By Bill Detwiler Photography by Brad Rowden
Full Article
When lightning strikes a computer, charred metal, melted plastic, and  burned circuits are the results.
This computer&#8217;s modem was hit  with a power surge during an electrical storm. The computer was  protected by a surge protector but not one with modem outlets.
The  owner brought the [...]]]></description>
			<content:encoded><![CDATA[<p><a title="433127" href="/techgames.org/assets/images/fried modem/index.html&gt;&lt;img class="></a><br />
<a rel="shadowbox" href="http://www.techgames.org/assets/images/fried modem/index.html"><img class="alignnone size-full wp-image-133" title="433127thumb" src="http://www.techgames.org/wp-content/uploads/2010/06/433127thumb.jpg" alt="" width="500" height="377" /></a></p>
<p>By Bill Detwiler Photography by Brad Rowden<br />
<a href="http://content.techrepublic.com.com/2346-13625_11-433122-1.html?tag=content;leftCol" onclick="pageTracker._trackPageview('/outgoing/content.techrepublic.com.com/2346-13625_11-433122-1.html?tag=content_leftCol&amp;referer=');">Full Article</a></p>
<p>When lightning strikes a computer, charred metal, melted plastic, and  burned circuits are the results.</p>
<p>This computer&#8217;s modem was hit  with a power surge during an electrical storm. The computer was  protected by a surge protector but not one with modem outlets.</p>
<p>The  owner brought the machine to IT Systems Administrator Brad Rowden&#8211;who  took these pictures.</p>
<p>According to Rowden &#8220;most of the components inside of the machine were a  mess.&#8221;</p>
<p>&#8220;The case might have been salvageable with some good  cleaning,&#8221; Rowden told me, &#8220;but everything in there stunk terribly.&#8221;  Miraculously, the machine&#8217;s hard drive was undamaged and Rowden was able  to retrieve all the customer&#8217;s data.</p>
<p>The owner of this computer learned the hard way that power surges can  travel through telephone lines. It&#8217;s always a good idea to unplug all  your computer&#8217;s cables during a storm. Or at the very least have every  wire connected to a high-quality surge protector.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/126/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Welcome back</title>
		<link>http://www.techgames.org/archives/113</link>
		<comments>http://www.techgames.org/archives/113#comments</comments>
		<pubDate>Fri, 11 Jun 2010 02:09:43 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[TechGames]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=113</guid>
		<description><![CDATA[
The redesign is coming along, welcome back. CHMOD and a 777 will go a long way while reducing frustration at the same time. I forget how fast time goes by while designing! I am liking how WordPress works compared to the previous site which had a Joomla! back end.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techgames.org/wp-content/uploads/2010/06/rotator-6.jpg" rel="shadowbox[post-113];player=img;"><img class="alignnone size-full wp-image-114" title="rotator-6" src="http://www.techgames.org/wp-content/uploads/2010/06/rotator-6.jpg" alt="" width="380" height="230" /></a></p>
<p>The redesign is coming along, welcome back. CHMOD and a 777 will go a long way while reducing frustration at the same time. I forget how fast time goes by while designing! I am liking how WordPress works compared to the previous site which had a Joomla! back end.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/113/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Break the glass</title>
		<link>http://www.techgames.org/archives/80</link>
		<comments>http://www.techgames.org/archives/80#comments</comments>
		<pubDate>Fri, 11 Jun 2010 00:09:06 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=80</guid>
		<description><![CDATA[By Daniel Ionescu, PCWorld.com
Full Article
Just how strong is the new glass housing on the upcoming Apple iPhone 4? You might want to hold your iPhone 4 tight, as it turns out just a few drops on a flat surface can cause the special glass housing to shatter to pieces.
When he introduced the new iPhone 4 [...]]]></description>
			<content:encoded><![CDATA[<p>By Daniel Ionescu, PCWorld.com<br />
<a href="http://www.pcworld.com/article/198476/iphone_4_glass_housing_put_to_the_test.html?tk=hp_fv" onclick="pageTracker._trackPageview('/outgoing/www.pcworld.com/article/198476/iphone_4_glass_housing_put_to_the_test.html?tk=hp_fv&amp;referer=');">Full Article</a></p>
<p>Just how strong is the new glass housing on the upcoming Apple iPhone 4? You might want to hold your iPhone 4 tight, as it turns out just a few drops on a flat surface can cause the special glass housing to shatter to pieces.</p>
<p>When he introduced the new iPhone 4 at the WWDC conference earlier this week, Apple CEO Steve Jobs said that the company developed a new technology for the glass housing of the iPhone 4. It&#8217;s called aluminosilicate glass, and is the sort of glass used in the windshield of high-speed trains and helicopters.</p>
<p>Unlike the older iPhone models, the iPhone 4 has both the front and back made of this kind of glass, which Apple says is chemically strengthened to be &#8220;20 times stiffer and 30 times harder than plastic.&#8221; In an Apple video, Jonathan Ive, the company&#8217;s Senior Vice President of Industrial Design, says the new glass housing is &#8220;comparable in strength to sapphire crystal.&#8221;</p>
<p>To test these claims, the guys at iFix your i , a company that deals with Apple iProducts repairs, got their hands on what they say are original Apple iPhone 4 parts (without the circuit board) and did some drop tests, checking if it can handle shocks and sudden impact.</p>
<p>The engineers at iFix your i dropped their iPhone 4 housing three times. The device survived the first two drops, but at the third drop, they say there was a loud &#8216;pop&#8217; sound, and the glass housing shattered. The drop was performed from 3.5 feet up, they say. The resulting shatter is shown in the picture above (see one more at this link).</p>
<p>On their blog, they point out that on the old iPhone, the glass covering the display was recessed and protected by a chrome bezel, while on the iPhone 4, the glass sits on top of the steel frame, which exposes it more to damage. Note that the back of the iPhone 4 is prone to similar damage, as it&#8217;s made from the same glass material, though it is housed flush within the frame.</p>
<p>The glass screen cover on the iPhone 4 is optically laminated to the new high-resolution &#8216;Retina display&#8217;, according to aforementioned Apple video. This also could mean that it wouldn&#8217;t be very easy to repair a broken screen glass cover, and would require replacement of the whole screen.</p>
<p>Note that Apple doesn&#8217;t cover this sort of damage on their warranty policy, which means you will have to either pay for your replacement phone (Apple usually replaces the whole device with a refurbished model), or take it to an independent repair shop (which in turn would void your warranty, if the place is not approved by Apple).</p>
<p>PCWorld and Daniel Ionescu are on Twitter. Follow their updates @pcworld and @danielionescu .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/80/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spam masquerading</title>
		<link>http://www.techgames.org/archives/25</link>
		<comments>http://www.techgames.org/archives/25#comments</comments>
		<pubDate>Thu, 10 Jun 2010 04:07:06 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Malware]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=25</guid>
		<description><![CDATA[
by Elinor Mills
Full Article
E-mail inboxes are getting hit this week with spam campaigns that appear to be legitimate Twitter messages but which lead to malware and phishing sites, security firms warned on Wednesday.
Some e-mails masquerade as messages from Twitter&#8217;s customer support team warning the recipient that the site has detected an attempt to steal the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techgames.org/wp-content/uploads/2010/06/spam-thumb.jpg" rel="lightbox"><img class="alignnone size-full wp-image-65" title="spam-thumb" src="http://www.techgames.org/wp-content/uploads/2010/06/spam-thumb.jpg" alt="" width="245" height="144" /></a><a href="http://www.techgames.org/wp-content/uploads/2010/06/spam.jpg" rel="shadowbox[post-25];player=img;"></a></p>
<p>by Elinor Mills<br />
<a href="http://http://news.cnet.com/8301-27080_3-20007246-245.html" onclick="pageTracker._trackPageview('/outgoing/http_//news.cnet.com/8301-27080_3-20007246-245.html?referer=');">Full Article</a></p>
<p>E-mail inboxes are getting hit this week with spam campaigns that appear to be legitimate Twitter messages but which lead to malware and phishing sites, security firms warned on Wednesday.</p>
<p>Some e-mails masquerade as messages from Twitter&#8217;s customer support team warning the recipient that the site has detected an attempt to steal the Twitter account password and prompting the recipient to click on a link to download a &#8220;secure module&#8221; to protect the account, according to Vietnamese antivirus firm <a href="http://blog.bkis.com/en/twitter-faked-to-spead-fakeav/" onclick="pageTracker._trackPageview('/outgoing/blog.bkis.com/en/twitter-faked-to-spead-fakeav/?referer=');">Bkis</a> and <a href="http://blog.trendmicro.com/bogus-twitter-spam-hits-inboxes/" onclick="pageTracker._trackPageview('/outgoing/blog.trendmicro.com/bogus-twitter-spam-hits-inboxes/?referer=');">Trend Micro</a>.</p>
<p>If the link is clicked on a Trojan horse designed to target Windows will be downloaded and will install a backdoor on the machine that attackers can use to provide future instructions to the computer, as well as display pop up notices saying the computer is infected with malware and offering antivirus for sale, the firms said.</p>
<p>Other spam exploiting the Twitter name falsely states that the recipient has changed the e-mail address associated with the Twitter account and offers a link to click to confirm the change, according to Trend Micro. The link leads to a phishing site designed to steal the user&#8217;s Twitter password.</p>
<p>Some spam is using the Twitter logo but then showing ads for pharmaceuticals underneath, Trend Micro said.</p>
<p>&#8220;Twitter does not send links to a secure module,&#8221; Trend Micro said in a blog post. &#8220;Similarly, legitimate Twitter emails changing the email address of user accounts include the new email address in the message body and do not describe or promote any new service, as many of these phishing emails do.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/25/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PDF exploited</title>
		<link>http://www.techgames.org/archives/21</link>
		<comments>http://www.techgames.org/archives/21#comments</comments>
		<pubDate>Thu, 10 Jun 2010 04:01:40 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[acrobat]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=21</guid>
		<description><![CDATA[By Sebastian Porst
Full Article
I spent the last two days with a friend of mine, Frank Boldewin of reconstructer.org, analyzing the Adobe Reader/Flash 0-day that’s being exploited in the wild this week. We had received a sample of a malicious PDF file which exploits the still unpatched vulnerability (MD5: 721601bdbec57cb103a9717eeef0bfca) and it turned out more interesting [...]]]></description>
			<content:encoded><![CDATA[<p>By Sebastian Porst<br />
<a href="http://blog.zynamics.com/2010/06/09/analyzing-the-currently-exploited-0-day-for-adobe-reader-and-adobe-flash/" onclick="pageTracker._trackPageview('/outgoing/blog.zynamics.com/2010/06/09/analyzing-the-currently-exploited-0-day-for-adobe-reader-and-adobe-flash/?referer=');">Full Article</a></p>
<p>I spent the last two days with a friend of mine, Frank Boldewin of reconstructer.org, analyzing the Adobe Reader/Flash 0-day that’s being exploited in the wild this week. We had received a sample of a malicious PDF file which exploits the still unpatched vulnerability (MD5: 721601bdbec57cb103a9717eeef0bfca) and it turned out more interesting than we had expected. Here is what we found:<br />
Part I: The PDF file</p>
<p>The PDF file itself is rather large. Analyzing the file with PDF Dissector, I found two interesting streams inside the PDF file. Later I will describe that there is actually a third interesting stream, belonging to object 17, in the PDF file. This stream contains an encrypted EXE file which will be dropped and executed by the shellcode. This can not be known before analyzing the shellcode though.</p>
<p>The first interesting stream can be found in PDF object 1. It is a binary stream that starts with the three characters CWS, the magic value of compressed Flash SWF files headers. I dumped this stream to a file and it turned out to be a valid Flash file.</p>
<p>The second interesting stream belongs to PDF object 10. This stream contains a very short JavaScript code snippet that heap-sprays a huge array onto the heap. In the screenshot below you can see the original code.</p>
<p>I then used PDF Dissector to execute the JavaScript code. The byte array that gets heap-sprayed is stored in the variable _3 after execution. I dumped this byte array to a file (see heapspray.bin in the ZIP file at the end of this post) and disassembled it with IDA Pro.</p>
<p>Later it will become clear that the embedded SWF file is actually exploiting the Flash player and not Adobe Reader (or rather it exploits the Flash player DLL that is shipped with Adobe Reader). The purpose of the PDF file is primarily to massage the heap into a predictable state for the Flash player exploit.<br />
Part II: The shellcode – Stage I</p>
<p>In the disassembled file I expected to see a nop-sled followed by regular x86 code but this is not what I found. There is something that looks like a huge nop-sled (a long list of ‘or al, 0Ch’ instructions) but no valid code follows that nop-sled (which will later turn out not to be a nop-sled at all). Rather, following the ‘nop-sled’ I found a list of addresses that point into code of an Adobe Reader DLL called BIB.DLL. We were dealing with return-oriented shellcode here.</p>
<p>You can find the documented IDB of the shellcode in the ZIP file at the end of this post. For now please click on this link for a text file that contains the documented code. The beginning looks like<br />
view source<br />
print?<br />
01 seg000:00000BEC dd 7004919h ; pop ecx<br />
02 seg000:00000BEC ; pop ecx<br />
03 seg000:00000BEC ; mov dword ptr [eax+0Ch], 1<br />
04 seg000:00000BEC ; pop esi<br />
05 seg000:00000BEC ; pop ebx<br />
06 seg000:00000BEC ; retn<br />
07 seg000:00000BF0 dd 0CCCCCCCCh ; ecx = 0xCCCCCCCC<br />
08 seg000:00000BF4 dd 70048EFh ; ecx = 0&#215;070048EF<br />
09 seg000:00000BF8 dd 700156Fh ; esi = 0&#215;0700156F<br />
10 seg000:00000BFC dd 0CCCCCCCCh ; ebx = 0xCCCCCCCC<br />
11 seg000:00000C00 dd 7009084h ; retn<br />
12 seg000:00000C04 dd 7009084h ; retn</p>
<p>and continues for quite a while. The first column shows the address. The second column shows the values on the stack (primarily addresses to ROP gadgets in BIB.DLL). The third column shows what instructions can be found at the given addresses in BIB.DLL and what effects the shellcode has.</p>
<p>The ROP shellcode is a variant of the code found in this exploit POC by villy. At first, the shellcode allocates memory using NtAllocateVirtualMemory (accessed through sysenter). Then, it copies a second stage shellcode to the allocated memory and executes it.</p>
<p>BIB.DLL is actually a DLL file that gets randomly relocated if you have address-space layout randomization enabled on your system. Systems with enabled ASLR can not be exploited by this malicious PDF file. This does not mean that the vulnerability can not be exploited if ASLR is enabled, it’s just that the particular sample we looked at will not work in that case.<br />
Part III: The shellcode – Stage II</p>
<p>The second stage shellcode is rather short. All it does is to copy the third stage shellcode to the memory allocated by the first stage. Afterwards the third stage is executed. An IDB file for the second stage is included in the ZIP file at the end of this post.<br />
view source<br />
print?<br />
01 seg000:00000000 pop edx<br />
02 seg000:00000001 nop<br />
03 seg000:00000002 push esp<br />
04 seg000:00000003 nop<br />
05 seg000:00000004 pop edx<br />
06 seg000:00000005 jmp short loc_1C<br />
07 seg000:00000007<br />
08 seg000:00000007 loc_7:<br />
09 seg000:00000007 pop eax<br />
10 seg000:00000008<br />
11 seg000:00000008 In this loop of the second stage of<br />
12 the shellcode, the third stage of the shellcode<br />
13 seg000:00000008 is copied to a known address (memory allocated<br />
14 by the first ROP stage) and executed afterwards.<br />
15 seg000:00000008<br />
16 seg000:00000008 CopyLoop:<br />
17 seg000:00000008 mov ebx, [edx]<br />
18 seg000:0000000A mov [eax], ebx<br />
19 seg000:0000000C add eax, 4<br />
20 seg000:0000000F add edx, 4<br />
21 seg000:00000012 cmp ebx, 0C0C0C0Ch ; Search for this signature to stop copying.<br />
22 seg000:00000018 jnz short CopyLoop<br />
23 seg000:0000001A jmp short CopyTarget<br />
24 seg000:0000001C<br />
25 seg000:0000001C loc_1C:<br />
26 seg000:0000001C call loc_7<br />
27 seg000:00000021<br />
28 seg000:00000021 After the copy loop is complete, the third stage of the shellcode begins here.<br />
29 seg000:00000021<br />
30 seg000:00000021 CopyTarget:<br />
31 seg000:00000021 nop<br />
Part IV: The shellcode – Stage III</p>
<p>The third stage is larger again. First, it resolves a bunch of Windows API functions through name hashes. Then, it tries to figure out which open file handle points to the malicious PDF file itself. This is done by estimating the file size of the malicious PDF file and by scanning potential candidate files for two characteristic signatures. If the malicious PDF file is found, a section of the PDF file (the third interesting stream I mentioned above) is decrypted using a simple XOR decryption and then written to the file C:\-.exe. This file is then executed.</p>
<p>Since the third stage is part of the heap-sprayed data you can actually find the third stage code in the IDB file of the ROP stage. The third stage code begins right after the ROP stage ends. If you want to check out the code of the third stage right now, please click on this link to see the text dump.<br />
Part V: The dropped file -.exe</p>
<p>Inside the ZIP package at the end of this post you can find the commented IDB file of -.exe. Once again, this file is rather simple. Here is what it does:</p>
<p>* It checks whether the current user is an administrator account.<br />
* If it’s not, download http://210.211.31.214/img/xslu.exe and execute it. Then shut down -.exe.<br />
* If it is, it extracts a file called C:\windows\EventSystem.dll and a file called C:\windows\system32\es.ini from its own resource section.<br />
* The BITS service (Background Intelligent Transfer Service) is shut down.<br />
* Windows file protection is disabled.<br />
* The original qmgr.dll file is moved to kernel64.dll<br />
* EventSystem.dll replaces the original C:\windows\system32\qmgr.dll, C:\windows\system32\dllcache\qmgr.dll and c:\windows\servicepackfiles\i386\qmgr.dll<br />
* qmgr.dll, EventSystem.dll, and es.ini get the timestamp of the original qmgr.dll<br />
* The BITS service is started again, now with the dropped qmgr.dll instead of the original qmgr.dll</p>
<p>If you want to check out the code right now, you can click on this link to see the disassembled file.<br />
Part VI: The dropped file EventSystem.dll</p>
<p>The primary purpose of EventSystem.dll, the DLL file that was registered as a service by -.exe, is to collect information about the user’s system and to send it to a server controlled by the attacker. You can see a dump of what information is collected and sent in this log file.</p>
<p>Additionally, the EventSystem.dll file also contains code that can download new files from the internet and execute them afterwards. You can check out the IDB file in the ZIP file at the end of this post for a complete disassembly.<br />
Part VII: Finding the vulnerability in the Flash player</p>
<p>The description of the shellcode is now complete, but one question remains: What is actually the vulnerability in the Flash player? Here is what we found:</p>
<p>The first step was to figure out when control flow is transferred from regular Flash player code to the first stage of the shellcode. At zynamics we have a Pin tool plugin we use to automatically recognize shellcode and dump it to a file. You can find the complete trace generated by the Pin tool plugin in the ZIP file (pin_trace.txt). Here is the important part:<br />
view source<br />
print?<br />
1 0&#215;0700156F::BIB.dll 8B 41 34 mov eax, dword ptr [ecx+0x34]<br />
2 0&#215;07001572::BIB.dll FF 71 24 push dword ptr [ecx+0x24]<br />
3 0&#215;07001575::BIB.dll FF 50 08 call dword ptr [eax+0x8]<br />
4 0&#215;070048EF::BIB.dll 94 xchg esp, eax<br />
5 0&#215;070048F0::BIB.dll C3 ret<br />
6 0&#215;07004919::BIB.dll 59 pop ecx<br />
7 0&#215;0700491A::BIB.dll 59 pop ecx<br />
8 0&#215;0700491B::BIB.dll C7 40 0C 01 00 00 00 mov dword ptr [eax+0xc], 0&#215;1</p>
<p>At address 0×07004919 of BIB.dll, the ROP code of the first stage is executed. Two instructions before, at address 0&#215;070048EF, the original stack of the executing thread is replaced by something controlled by the attacker.</p>
<p>To figure out where control flow is coming from it is possible to set a breakpoint on the XCHG instruction and take a look at the stack. The return value of the active stack frame will point to memory on the heap where you can find code. This code does not belong to any code section of any module, so where does it come from? Turns out that this code is just-in-time compiled ActionScript code that is created from the malicious SWF file inside the malicious PDF file.</p>
<p>To analyze exactly how control flow is transferred from the JIT-ed ActionScript code to the ROP stage of the shellcode, I have created a trace with OllyDbg that shows all instructions that are executed after the just-in-time compilation of the ActionScript code but before the ROP code. You can find the trace in the ZIP file at the end of this post (olly_trace.txt). Here are the important parts:<br />
view source<br />
print?<br />
01 28CDE2A0 mov eax,dword ptr ss:[ebp-44]<br />
02 &#8230;<br />
03 28CDE2C0 mov edx,dword ptr ds:[eax+10] EAX=25966241<br />
04 &#8230;<br />
05 28CDE2C6 mov ecx,dword ptr ds:[edx+2b8] EAX=25966241, EDX=20259384<br />
06 &#8230;<br />
07 28CDE2D5 mov dword ptr ss:[ebp-60],ecx EAX=25966241, ECX=0C0C0C0C, EDX=00259685<br />
08 &#8230;<br />
09 28CDE2EF mov ecx,dword ptr ss:[ebp-60] EAX=25966241, ECX=0012F5D0, EDX=00259685<br />
10 &#8230;<br />
11 28CDE2F8 call dword ptr ds:[ecx+0c] EAX=25966241, ECX=0C0C0C0C, EDX=00259685</p>
<p>The call at 28CDE2F8 goes directly to 0&#215;0700156F in BIB.dll (see the Pin tool trace). So what is going on here? To understand these six lines of code you have to know a bit about the memory layout at address 0×25966241 (the value in EAX) and about the internals of just-in-time compiled ActionScript code.</p>
<p>Let’s start with the memory layout. Here is what I saw at 0×25966241 (note that the dump starts at 0×25966240).<br />
view source<br />
print?<br />
1 0&#215;25966240 C8 0E 3D 30 05 00 00 20 00 00 00 00 00 00 00 00<br />
2 0&#215;25966250 78 84 93 25 20 44 90 25</p>
<p>Now eax (0×25966241) is used as a pointer in instruction 0&#215;28CDE2C0. You might already notice that the pointer is not aligned at all. This is unusual. Now comes the part where you need to know about compiled ActionScript internals.</p>
<p>When values like integer numbers or objects are created by ActionScript scripts, pointers to these objects are created and stored. Interestingly, all ActionScript values must be 8-byte aligned because the lowest three bits of pointers to such values are used to encode type information about the values. For example, if the lowest three bits of such a pointer are 101, then the pointed-to value is a boolean value. 111 identifies a double value and so on.</p>
<p>So apparently what is happening in the above code is that a pointer that includes type information is used as a regular pointer without stripping the type information first. If you debug this piece of code and manually clear the lowest three bits to remove the type information, the value 25966241 turns into 25966240 (which itself contains a pointer to a v-table of a class called ScriptObject, lending more credence to the theory I am exploring here). So, when [eax+10] is read without stripping the type information, the pointer 0×20259384 is read. This pointer points to the binary data that was heap-sprayed by the JavaScript code of the PDF file. If you do strip the type information though, you get the pointer 0×25938478 which is a legitimate pointer to another part of the just-in-time compiled ActionScript code.</p>
<p>After instruction 28CDE2C0 the register EDX points to the heap-sprayed values. Most of the heap-sprayed values are 0&#215;0C0C0C0C DWORD values, so edx+2b8 most likely points to such a DWORD value and 0&#215;0C0C0C0C is moved into register ECX. Through some clever heap-spraying, one iteration of the heap-sprayed data actually starts at address 0&#215;0C0C0C0C so the memory layout starting from 0&#215;0C0C0C0C is controlled by the attacker. He then controls the value of [ecx+0c], the address of the function to be executed next.</p>
<p>If you go back to the JavaScript code in the malicious PDF file now, you can see the value 156f0700 close to the beginning of the heap-sprayed string. This is just the value 0&#215;0700156F which is the entry point to the attacker-controlled control-flow in BIB.dll (see the Pin trace above again).</p>
<p>We know now how control flow is transferred from the just-in-time compiled code to the shellcode. The question that remains is why does the JIT-compiler produce code that leads to incorrect pointer usage?</p>
<p>There are two possible options here. The first one is that the JIT-compiler has a bug and emits wrong x86 code, code that forgets to strip off the type information. I don’t think this is the case because the emitted code that leads to the control-flow hijack is generated in benign cases too. I think it is far more likely that the compiler assumes pre-conditions about the generated code that are not true in this particular situation. In all of the benign cases I have observed, the type information was stripped from the pointer before the JIT code was even executed. In the malicious case this does not happen which leads me to believe that the compiler emits code that assumes that all input pointers to that code segment have been stripped of their type information but apparently this is not always the case.</p>
<p>Let’s look at what could trip up the JIT compiler.<br />
Part VII: The malformed Flash file</p>
<p>Using the SWFTools disassembler we had a look at the Flash file that was embedded in the PDF file. It quickly turned out (by looking at characteristic strings) that the Flash file is a modified version of AES-PHP.swf from http://flashdynamix.com/. Disassembling and comparing the original SWF file to the malicious PDF file generated just a single difference.<br />
view source<br />
print?<br />
1 00206) + 0:1 getlex <q>[protected]fl.controls:LabelButton::icon</q><br />
2 00207) + 1:1 getlex <q>[public]::Math</q><br />
3 00208) + 2:1 getlocal_2<br />
4 00209) + 3:1 getlex <q>[public]fl.controls::ButtonLabelPlacement</q><br />
5 00210) + 4:1 getproperty <q>[public]::BOTTOM</q><br />
6 00211) + 4:1 ifne -&gt;218<br />
view source<br />
print?<br />
1 00206) + 0:1 getlex <q>[protected]fl.controls:LabelButton::icon</q><br />
2 00207) + 1:1 getlex <q>[public]::Math</q><br />
3 00208) + 2:1 getlocal_2<br />
4 00209) + 3:1 getlex <q>[public]fl.controls::ButtonLabelPlacement</q><br />
5 00210) + 4:1 newfunction [method 000001ba ]<br />
6 00211) + 5:1 ifne -&gt;218</p>
<p>The only difference can be found in line 210. While the benign Flash file tries to access the property BOTTOM, the malicious Flash file tries to create a new function object. This simple change messes up the internal ActionScript stack (as can be seen in the differing stack depth numbers after the +) because getproperty and newfunction have different effects on the ActionScript stack. Subsequent ActionScript instructions then assume a stack layout which is simply wrong. Nevertheless, the JIT compiler seems to accept this code and generates x86 code for it. The consequence of this change seems to be that preconditions for JIT-compiled code that were previously true do not hold anymore and the attacker can control the control flow as seen above.<br />
Part VIII: The end</p>
<p>Now it would be interesting to figure out exactly what trips up the JIT code generation to see how it gets into this situation. I think we are going to wait for the patch for this and just use BinDiff to compare the patched version of the Flash player with the unpatched version. <img src='http://www.techgames.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can get the malicious PDF file and all the IDB files and traces we generated from this ZIP file. We have also submitted -.exe to CWSandbox. You can see the generated report about the file’s activity here.</p>
<p>Oh yeah, the malicious PDF file is in the ZIP package too. Pay some attention there and don’t backdoor yourself accidentaly.</p>
<p>This entry was posted on 2010/06/09 at 13:14 and is filed under Other, PDF, ROP. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/21/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPad users exposed</title>
		<link>http://www.techgames.org/archives/18</link>
		<comments>http://www.techgames.org/archives/18#comments</comments>
		<pubDate>Thu, 10 Jun 2010 03:56:26 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[at&t]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://www.techgames.org/?p=18</guid>
		<description><![CDATA[

By Tony Bradley, PC World

Oops. AT&#38;T has egg on its face after leaving sensitive information on 114,000 owners of the iPad 3G exposed on the Web. A group known as Goatse Security has published the personal e-mail addresses of the victims&#8211;many of whom are popular celebrities, prominent executives and high-ranking dignitaries&#8211;that it obtained by exploiting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techgames.org/wp-content/uploads/2010/06/4508857096_612c997566_o.jpg" rel="shadowbox[post-18];player=img;"></a><br />
<a href="http://www.techgames.org/wp-content/uploads/2010/06/ipad.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-43" title="ipad" src="http://www.techgames.org/wp-content/uploads/2010/06/ipad-300x96.jpg" alt="" width="300" height="96" /></a><br />
By Tony Bradley, PC World</p>
<p><a rel="attachment wp-att-32" href="http://www.techgames.org/?attachment_id=32"></a></p>
<p>Oops. AT&amp;T has egg on its face after leaving sensitive information on 114,000 owners of the iPad 3G exposed on the Web. A group known as Goatse Security has published the personal e-mail addresses of the victims&#8211;many of whom are popular celebrities, prominent executives and high-ranking dignitaries&#8211;that it obtained by exploiting an automated script on an AT&amp;T server.</p>
<p>The true motive behind Goatse Security exposing this information is unknown. Had the group followed generally accepted vulnerability disclosure ethics, it would have contacted AT&amp;T directly to notify them of the flaw, and allowed AT&amp;T a reasonable amount of time to respond to the issue before announcing the discovery. And, of course, an ethical disclosure would not include exposing the compromised data. Perhaps Goatse Security simply wanted to embarrass AT&amp;T or Apple.</p>
<p>The official statement I received from an AT&amp;T spokesperson reads:</p>
<p>&#8220;AT&amp;T was informed by a business customer on Monday of the potential exposure of their iPad ICC IDS. The only information that can be derived from the ICC IDS is the e-mail address attached to that device. This issue was escalated to the highest levels of the company and was corrected by Tuesday; and we have essentially turned off the feature that provided the e-mail addresses. The person or group who discovered this gap did not contact AT&amp;T. We are continuing to investigate and will inform all customers whose e-mail addresses and ICC IDS may have been obtained. We take customer privacy very seriously and while we have fixed this problem, we apologize to our customers who were impacted.&#8221;</p>
<p>Thankfully, the data leak did not include more sensitive data such as credit card number or home address. While the individuals involved in the data compromise might need a stronger spam filter&#8211;or simply new e-mail addresses&#8211;there isn&#8217;t any real security concern resulting from the breach. White House Chief of Staff Rahm Emanuel, and Diane Sawyer of ABC News may be inundated with unwanted e-mail of all sorts, but most spam today is simply mass distributed to all possible combinations at a given domain. Its more likely that famous personalities might see an influx of unwanted messages from average citizens.</p>
<p>What was included aside from the e-mail address is the ICC-ID of each individual&#8217;s iPad 3G. The ICC-ID, or integrated circuit card identifier, is a unique code assigned to the SIM chip in the iPad which allows it to connect with AT&amp;T&#8217;s 3G network.</p>
<p>There have been some concerns expressed over whether exposing the ICC-ID opens up any additional security repercussions. But, a Gawker report on the incident quotes Emmanuel Gadaix, a Nokia veteran, explaining that while there have been &#8220;vulnerabilities in GSM crypto discovered over the years, none of them involve the ICC ID&#8230; as far as I know, there are no vulnerability or exploit methods involving the ICC ID.&#8221;</p>
<p>The fact that there is little to no security concern resulting from the data breach offers some consolation to the 114,000 affected iPad 3G owners. However, it doesn&#8217;t do much for AT&amp;T&#8217;s reputation with customers or its credibility with Apple.</p>
<p>You can follow Tony on his Facebook page , or contact him by email at tony_bradley@pcworld.com . He also tweets as @Tony_BradleyPCW .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techgames.org/archives/18/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
