<?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>Pyrit</title>
	<atom:link href="http://pyrit.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pyrit.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sun, 18 Dec 2011 12:27:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pyrit.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Pyrit</title>
		<link>http://pyrit.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pyrit.wordpress.com/osd.xml" title="Pyrit" />
	<atom:link rel='hub' href='http://pyrit.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Pyrit now in Fedora Linux</title>
		<link>http://pyrit.wordpress.com/2011/09/11/pyrit-now-in-fedora-linux/</link>
		<comments>http://pyrit.wordpress.com/2011/09/11/pyrit-now-in-fedora-linux/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:13:01 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=688</guid>
		<description><![CDATA[After some effort, Pyrit has now made it&#8217;s way into Fedora Linux. With being present in Debian, Ubuntu and Fedora, it should be easier for unexperienced users to get Pyrit working on their machines, using the distribution of their choice. At the moment, the package still lives in updates-testing. You may install Pyrit in Fedora [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=688&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After some effort, Pyrit has now made it&#8217;s way into Fedora Linux. With being present in <a href="https://pyrit.wordpress.com/2011/02/06/debian-6-out-includes-pyrit/">Debian</a>, <a href="https://pyrit.wordpress.com/2011/05/04/pyrit-now-in-ubuntu-linux/">Ubuntu</a> and Fedora, it should be easier for unexperienced users to get Pyrit working on their machines, using the distribution of their choice.</p>
<p>At the moment, the package still lives in <em>updates-testing</em>. You may install Pyrit in Fedora 14, 15 or 16 with the following command:</p>
<blockquote><p>yum &#8211;enablerepo=updates-testing install pyrit</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/688/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=688&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/09/11/pyrit-now-in-fedora-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Lazy Tom</title>
		<link>http://pyrit.wordpress.com/2011/08/15/lazy-tom/</link>
		<comments>http://pyrit.wordpress.com/2011/08/15/lazy-tom/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 18:51:04 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=682</guid>
		<description><![CDATA[Tom&#8217;s hardware is running a large YAAyWoG-story (Yet Another Article About WPA-cracking on GPUs), describing the state of the art of WPA-cracking. The article goes into quite some detail about the theory and pretty much covers all the current options regarding tools and hardware. Pyrit is used as the only example on EC2-instances as it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=682&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tom&#8217;s hardware is <a href="http://www.tomshardware.com/reviews/wireless-security-hack,2981.html">running a large YAAyWoG-story</a> (<em>Yet Another Article About WPA-cracking on GPUs</em>), describing the state of the art of WPA-cracking. The article goes into quite some detail about the theory and pretty much covers all the current options regarding tools and hardware. <a href="https://code.google.com/p/pyrit/">Pyrit</a> is used as the only example on EC2-instances as it is the only GPU-driven, Linux-capable tool currently out there. It also comes out pretty favorably at the benchmark.</p>
<p>&lt;rant&gt;</p>
<p>I&#8217;m really impressed by the fact that despite <a href="https://code.google.com/p/pyrit/">Pyrit</a> having cracking-capability during most of it&#8217;s lifetime <strong>far</strong> superior to <a href="http://www.willhackforsushi.com/Cowpatty.html">coWPAtty</a>, all articles that ever mentioned <a href="https://code.google.com/p/pyrit/">Pyrit</a> fall back to the &#8220;Pyrit+coWPAtty&#8221; scenerio.<br />
In case you missed it, just let me stress the fact that <a href="https://code.google.com/p/pyrit/">Pyrit</a> does not only compute PMKs. It can also receive live data from a monitor-device, read data from a capture-file, parse the data with great accuracy and attack EAPOL-handshakes with <strong>far</strong> <a href="https://pyrit.wordpress.com/2011/04/16/known-plaintext-attack-against-ccmp/">greater efficiency</a> than what other FOSS-tools currently can do.</p>
<p>Reading the documentation really helps before writing an article.<br />
IB4 WABM.</p>
<p>&lt;/rant&gt;</p>
<p>In other news: Parsing the data and getting a good set of candidates to attack has turned out to be a very crucial part in the whole process. Any software not capable of <a href="https://pyrit.wordpress.com/2010/03/06/stateful-handshake-parsing/">stateful handshake-parsing</a> is very vulnerable to false negatives. In such cases, the task of finding the correct password for a given set of wireless data is doomed by the fact that the handshake is reassembled incorrectly. In my own judgement, tools like <a href="http://www.aircrack-ng.org/">aircrack-ng</a> and <a href="http://www.willhackforsushi.com/Cowpatty.html">coWPAtty</a> fail to find the correct password &#8211; even if it&#8217;s part of the given wordlist and testable by the given data &#8211; in about 30% of all cases.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/682/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=682&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/08/15/lazy-tom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>W.A.S.P.</title>
		<link>http://pyrit.wordpress.com/2011/08/15/w-a-s-p/</link>
		<comments>http://pyrit.wordpress.com/2011/08/15/w-a-s-p/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 18:22:38 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=680</guid>
		<description><![CDATA[There has been a talk at Def Con 19 about W.A.S.P., the &#8220;Wireless Aerial Surveillance Platform&#8221;. This  home-made drone is capable of a decent flight-time, has it&#8217;s own internet-uplink and can use it&#8217;s very impressive technology to monitor WiFi-networks from the air. The backend is partly run with Pyrit. You can find the slides here.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=680&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There has been a talk at <a href="http://www.defcon.org/">Def Con 19</a> about <a href="https://rabbit-hole.org/">W.A.S.P.</a>, the &#8220;Wireless Aerial Surveillance Platform&#8221;. This  home-made drone is capable of a decent flight-time, has it&#8217;s own internet-uplink and can use it&#8217;s very impressive technology to monitor WiFi-networks from the air. The backend is partly run with <a href="https://code.google.com/p/pyrit/">Pyrit</a>. You can find the slides <a href="https://rabbit-hole.org/2011/08/10/slides-slides-everywhere-the-slides/">here</a>.</p>
<span style="text-align:center; display: block;"><a href="http://pyrit.wordpress.com/2011/08/15/w-a-s-p/"><img src="http://img.youtube.com/vi/AdrUpmsyMZA/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/680/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=680&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/08/15/w-a-s-p/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Mathematics</title>
		<link>http://pyrit.wordpress.com/2011/08/11/mathematics/</link>
		<comments>http://pyrit.wordpress.com/2011/08/11/mathematics/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 19:53:39 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=678</guid>
		<description><![CDATA[Mathematics as a science is too easy. All you have to do is be right.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=678&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mathematics as a science is too easy. All you have to do is be right.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/678/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/678/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/678/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=678&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/08/11/mathematics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Compiling Pyrit on OSX Lion</title>
		<link>http://pyrit.wordpress.com/2011/07/30/compiling-pyrit-on-osx-lion/</link>
		<comments>http://pyrit.wordpress.com/2011/07/30/compiling-pyrit-on-osx-lion/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 16:56:22 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=674</guid>
		<description><![CDATA[Many people have problems compiling Pyrit on OSX Lion. The version of GCC distributed with the latest XCode no longer supports creating binary code for the PPC-architecture and Python&#8217;s setup.py does not know about that; you can get an error message like the following: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed You can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=674&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many people have <a href="https://code.google.com/p/pyrit/issues/detail?id=337">problems</a> compiling Pyrit on OSX Lion. The version of GCC distributed with the latest XCode no longer supports creating binary code for the PPC-architecture and Python&#8217;s <em>setup.py</em> does not know about that; you can get an error message like the following:</p>
<blockquote><p>assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed</p></blockquote>
<p>You can solve this situation by forcing GCC to only compile code for the i386- and the x86_64-architecture. To do this, put the following into your <em>.bash_profile</em>:</p>
<blockquote><p>export ARCHFLAGS=”-arch i386 –arch x86_64”</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/674/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=674&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/07/30/compiling-pyrit-on-osx-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Nasty bug in CPython 2.x</title>
		<link>http://pyrit.wordpress.com/2011/06/30/nasty-bug-in-cpython-2-x/</link>
		<comments>http://pyrit.wordpress.com/2011/06/30/nasty-bug-in-cpython-2-x/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 21:26:33 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=653</guid>
		<description><![CDATA[Turning to more generalized topics of Python once more, here is the story of a very nasty bug in the 2.x series of the CPython interpreter that I once battled with in Pyrit. This fellow is not going to get fixed, so you should know about this bug if your code is supposed to work [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=653&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Turning to more generalized topics of Python once more, here is the story of a very nasty bug in the 2.x series of the CPython interpreter that I once battled with in <a href="https://code.google.com/p/pyrit/">Pyrit</a>. This fellow is not going to get fixed, so you should know about this bug if your code is supposed to work in the 2.x series of the CPython interpreter.</p>
<p>Suppose you define a class that produces it&#8217;s own kind of iterator-object. Also suppose the way your object creates it&#8217;s iterators is not trivial and may involve actions that can fail (e.g. reading from an outside I/O source). You correctly handle failures by raising exceptions; let&#8217;s work with raising an instance of <em>IOError</em> in this example. The most simple class doing so looks like this:</p>
<blockquote><p>class Foobar(object):<br />
&#8230;.def __iter__(self):<br />
&#8230;&#8230;..raise IOError()</p></blockquote>
<p>Let&#8217;s get an instance of that object and iterate over it&#8217;s members:</p>
<blockquote><p>&gt;&gt; f = Foobar()<br />
&gt;&gt; for  member in f:<br />
&gt;&gt; &#8230;.print member<br />
Traceback (most recent call last):<br />
File &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br />
File &#8220;&lt;stdin&gt;&#8221;, line 3, in __iter__<br />
IOError</p></blockquote>
<p>In the second line of the code above, the interpreter will call <em>Foobar.__iter__(f)</em> and encounter an <em>IOError</em> which then becomes the exception-state of our current frame. If the code above is the top-frame, the program will crash to console with a traceback and complain about an <em>IOError</em>. This is expected behaviour. We could deal with this by placing the code in a <em>try-except</em>-clause (forget about the bad range of that <em>try-except</em> in our example).</p>
<p>Here comes the tricky part: One of the most popular built-in functions of Python is <em>map()</em>. It takes any function and any iteratable object and applies that function to the values yielded from the iterator; the result is a list of results from that function. Let&#8217;s do this with our <em>Foobar</em>-object from above and apply the identity-function:</p>
<blockquote><p>&gt;&gt;&gt; f = Foobar()<br />
&gt;&gt;&gt; map(lambda x:x, f)</p></blockquote>
<p>The <em>map()</em>-function will also call <em>Foobar.__iter__(f)</em> to get an iterator. It encounters the <em>IOError</em> we placed there to indicate some I/O-related problem while creating the iterator for that object. We therefor expect the second line to fail with an <em>IOError</em> now. What you get instead in CPython 2.x is <strong>always</strong> a <em>TypeError</em>.</p>
<blockquote><p>&gt;&gt;&gt; map(lambda x:x, f)<br />
Traceback (most recent call last):<br />
File &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br />
TypeError: argument 2 to map() must support iteration</p></blockquote>
<p>This is confusing, to say the least: The error message from <em>map()</em> demands an object that is iterable (has a <em>__iter__</em>()-function of some meaning). Clearly, our object has such a function and raising an <em>IOError</em> is a thing of behaviour, not definition. Where is the <em>TypeError</em> coming from? Even more important, where did our <em>IOError</em> go? In real code, our <em>IOError</em> may be some <em></em>custom exception to indicate cases that other code can know about and act according to (e.g. <em>OhJustATemporaryIOError</em>). The type (in fact the whole instance) of an exception is very imporant to us.</p>
<p>The behaviour shown by the <em>map()</em>-function disables us from raising meaningful exceptions in <em>__iter__()</em>: Anyone using <em>map()</em> will run into trouble, as everything appears to be a <em>TypeError</em>. You can also trade pest for cholera by sticking PostIt-notes to your screen, reminding you to never use <em>map()</em> on classes written by the guys in the other building or always catch <em>TypeError</em> when doing so (this will get you laid off).</p>
<p>The reason for all this is hidden within CPython&#8217;s implementation of the builtin <em>map()</em>-function. In <a href="http://hg.python.org/cpython/file/9a0b6c07b488/Python/bltinmodule.c#l975">Python/bltinmodule.c:975</a> we find this:</p>
<blockquote><p>sqp-&gt;it = PyObject_GetIter(curseq);<br />
if (sqp-&gt;it == NULL) {<br />
&#8230;.static char errmsg[] =<br />
&#8230;&#8230;..&#8221;argument %d to map() must support iteration&#8221;;<br />
&#8230;.char errbuf[sizeof(errmsg) + 25];<br />
&#8230;.PyOS_snprintf(errbuf, sizeof(errbuf), errmsg, i+2);<br />
&#8230;.PyErr_SetString(PyExc_TypeError, errbuf);<br />
&#8230;.goto Fail_2;<br />
}</p></blockquote>
<p>The function <em>PyObject_GetIter()</em> &#8211; we are talking CPython now &#8211; gets an iterator from an object. The return value will be <em>NULL</em> and the caller should find <em>PyErr_Occurred()</em> to be <em>True</em> in case the function fails. If so, there is an exception waiting in the current frame and the interpreter will act accordingly when given the chance. The code above however does not care about any exceptions that might have been raised and goes directly to calling <em>PyErr_SetString(PyExc_TypeError, errbuf)</em>. It therefor overwrites any other exception and raises a <em>TypeError</em> instead. In other terms: The <em>map()</em>-function swallows any exception raised in any <em>__iter__()</em> and always replaces it with a <em>TypeError</em>. This took me a while to figure out.</p>
<p>Luckily, there is an easy workaround for this: Your iterator&#8217;s <em>__iter__()</em> must always return <em>self</em> (aka the iterator over the iterator is the iterator itself) in case your object&#8217;s <em>__iter__()</em>-function can raise exceptions on it&#8217;s own or by underlying code. This is already true for most simple objects in Python:</p>
<blockquote><p>&gt;&gt; mylist = []<br />
&gt;&gt; myiter = iter(mylist)<br />
&gt;&gt; myiter is iter(myiter)<br />
True</p></blockquote>
<p>To make our <em>Foobar</em>-object behave like this, we need to expand our example like this:</p>
<blockquote><p>class FoobarIterator(object):<br />
&#8230;.def __init__(self, fbar):<br />
&#8230;&#8230;..self.fbar = fbar</p>
<p>&#8230;.def __iter__(self):<br />
&#8230;&#8230;..return self</p>
<p>&#8230;.def next(self):<br />
&#8230;&#8230;..pass #return values of self.fbar</p>
<p>class Foobar(object):<br />
&#8230;.def __iter__(self):<br />
&#8230;&#8230;..if True:<br />
&#8230;&#8230;&#8230;&#8230;raise IOError()<br />
&#8230;&#8230;..else:<br />
&#8230;&#8230;&#8230;&#8230;return FoobarIterator(self)</p></blockquote>
<p>Now we must do the following:</p>
<blockquote><p>&gt;&gt;&gt; map(lambda x:x,<strong> iter(f)</strong>)</p></blockquote>
<p>The explicit call to <em>iter(f)</em> looks mundane but is in fact the key to get correct behaviour. Remember that the <em>map()</em>-function will always get an iterator for  any object that you pass as second argument. This new iterator, which would have been an instance of  <em>FoobarIterator</em>, is just the iterator itself so there is nothing happening due to that <em>iter()</em>. However, we do an explicit <em></em>call to <em>Foobar.__iter__(f)</em> and <em>iter()</em>&#8216;s implemention in CPython 2.x handles exceptions as it should:</p>
<blockquote><p>&gt;&gt;&gt; map(lambda x:x, iter(f))<br />
Traceback (most recent call last):<br />
File &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br />
File &#8220;&lt;stdin&gt;&#8221;, line 3, in __iter__<br />
IOError</p></blockquote>
<p>This is the expected behaviour of our object and it now works in all cases.</p>
<p>The bug described above also affects Python 2.6 and 2.7 but will not be fixed in any new version of the 2.x series; the 3.x series is unaffected. The CPython overlords decided not to act on this bug as 2.x is running out of business and changes in behaviour are no longer allowed. Personally, I don&#8217;t find this argument overly compelling: The interpreter is cleary doing things wrong and causes unexpected behaviour. While there is a way to handle this situation by restricting the behaviour of iterator objects, there is actually no way to generically remove that workaround when porting code from 2.x to 3.x as <em>2to3</em> can&#8217;t assume that it&#8217;s safe to remove an explicit call to iter.</p>
<p>The only lesson we are left with is this: There is very nasty bug in CPython 2.x&#8217;s <em>map()</em>-function that you have to know about and deal with yourself. The solution is to always use <em>map()</em> in conjunction with an explicit call to <em>iter()</em>. Otherwise all exceptions will be mangled into a <em>TypeError</em> which you have reason to handle only in special cases.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/653/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=653&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/06/30/nasty-bug-in-cpython-2-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>How to setup Pyrit in EC2</title>
		<link>http://pyrit.wordpress.com/2011/06/27/how-to-setup-pyrit-in-ec2/</link>
		<comments>http://pyrit.wordpress.com/2011/06/27/how-to-setup-pyrit-in-ec2/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 17:31:02 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=647</guid>
		<description><![CDATA[A video has been posted on SecurityTube that shows in detail how to create a GPU-node in Amazon&#8217;s EC2 cloud and get Pyrit installed and running there. The measured performance of the node (defined by it&#8217;s type == $$$ you are willing to pay per hour of runtime) is around 50.000 PMKs per second. That&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=647&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.securitytube.net/video/1984">video</a> has been posted on <a href="http://www.securitytube.net">SecurityTube</a> that shows in detail how to create a GPU-node in Amazon&#8217;s EC2 cloud and get Pyrit installed and running there. The measured performance of the node (defined by it&#8217;s type == $$$ you are willing to pay per hour of runtime) is around 50.000 PMKs per second. That&#8217;s not very high but not bad either. The point is that you can setup and run (== pay) and shutdown (== not pay) the node anytime you like &#8211; there is no fixed cost for hardware. If you want more performance per second, you pay more per second.<br />
The <a href="http://www.securitytube.net/video/1984">video</a> is about one hour long so there should be only little room for uncertainties.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/647/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/647/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/647/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=647&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/06/27/how-to-setup-pyrit-in-ec2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Xtract ze files</title>
		<link>http://pyrit.wordpress.com/2011/05/24/xtract-ze-files/</link>
		<comments>http://pyrit.wordpress.com/2011/05/24/xtract-ze-files/#comments</comments>
		<pubDate>Tue, 24 May 2011 15:48:44 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=640</guid>
		<description><![CDATA[#305221 (131/135) ↑Funny ↓Awful πOld &#60;sdmkun&#62; tar -xzf merc.tgz what the fuck &#60;sdmkun&#62; how the fuck do you people remember this shit &#60;bucketmouse&#62; just think with a german accent &#60;bucketmouse&#62; XTRACT ZE FILES<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=640&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://qdb.us/305221">#305221</a> (<span style="color:#0000ff;"><strong>131</strong></span>/135) <a>↑Funny</a> <a>↓Awful</a> <a>πOld</a><br />
&lt;sdmkun&gt; tar -xzf merc.tgz what the fuck<br />
&lt;sdmkun&gt; how the fuck do you people remember this shit<br />
&lt;bucketmouse&gt; just think with a german accent<br />
&lt;bucketmouse&gt; XTRACT ZE FILES</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/640/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=640&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/05/24/xtract-ze-files/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Pyrit now in Ubuntu Linux</title>
		<link>http://pyrit.wordpress.com/2011/05/04/pyrit-now-in-ubuntu-linux/</link>
		<comments>http://pyrit.wordpress.com/2011/05/04/pyrit-now-in-ubuntu-linux/#comments</comments>
		<pubDate>Wed, 04 May 2011 07:29:53 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=641</guid>
		<description><![CDATA[Pyrit had found it&#8217;s way into Debian 6 in February and had been mirrored into the recently released Ubuntu 11. You can install Pyrit in Ubuntu with &#8220;apt-get install pyrit&#8220;.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=641&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pyrit had <a title="Debian 6 out, includes Pyrit" href="http://pyrit.wordpress.com/2011/02/06/debian-6-out-includes-pyrit/">found it&#8217;s way</a> into Debian 6 in February and had been mirrored into the recently released Ubuntu 11. You can install Pyrit in Ubuntu with &#8220;<em>apt-get install pyrit</em>&#8220;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/641/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/641/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/641/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=641&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/05/04/pyrit-now-in-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
		<item>
		<title>Using the new CCMP-attack in Pyrit</title>
		<link>http://pyrit.wordpress.com/2011/04/19/using-the-new-ccmp-attack-in-pyrit/</link>
		<comments>http://pyrit.wordpress.com/2011/04/19/using-the-new-ccmp-attack-in-pyrit/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 18:05:37 +0000</pubDate>
		<dc:creator>ebfe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pyrit.wordpress.com/?p=631</guid>
		<description><![CDATA[The last post described some of the background details of how the new CCMP-attack works. Using this feature in Pyrit is quite easy: As the Temporal Key is not used during the authentication but only in the following data-stream, Pyrit needs more than just the fourway-handshake. The &#8216;analyze&#8216;-command from now on indicates if an encrypted [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=631&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a title="Known-plaintext attack against CCMP" href="http://pyrit.wordpress.com/2011/04/16/known-plaintext-attack-against-ccmp/">last post</a> described some of the background details of how the new CCMP-attack works. Using this feature in <a href="http://pyrit.googlecode.com">Pyrit</a> is quite easy:</p>
<p>As the <em>Temporal Key</em> is not used during the authentication but only in the following data-stream, Pyrit needs more than just the fourway-handshake. The &#8216;<strong>analyze</strong>&#8216;-command from now on indicates if an encrypted packet can be associated with an authentication and sufficiently constrained to actually &#8220;belong&#8221; to this authentication (encrypted with the <em>Temporal Key</em> from that authentication). A simply asterisk shows that:</p>
<blockquote><p><em>&gt;pyrit -r wpa2psk-linksys.dump.gz analyze</em><br />
Pyrit 0.4.1-dev (svn r304) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com<br />
This code is distributed under the GNU General Public License v3+</p>
<p>Parsing file &#8216;wpa2psk-linksys.dump.gz&#8217; (1/1)&#8230;<br />
Parsed 499 packets (499 802.11-packets), got 1 AP(s)</p>
<p>#1: AccessPoint 00:0b:86:c2:a4:85 (&#8216;linksys&#8217;):<br />
#1: Station 00:13:ce:55:98:ef, 3 handshake(s):<br />
#1: HMAC_SHA1_AES, good<strong>*</strong>, spread 1<br />
#2: HMAC_SHA1_AES, good<strong>*</strong>, spread 1<br />
#3: HMAC_SHA1_AES, good<strong>*</strong>, spread 1</p></blockquote>
<p>All &#8220;<strong>attack</strong>&#8220;-commands from now on understand the new switch &#8220;<strong>&#8211;aes</strong>&#8220;. This switch tells Pyrit to attack an authentication using the new CCMP-approach if possible. You can, in fact, apply this switch all the time. Pyrit will figure out if the CCMP-path is actually possible. The switch will be removed (or reversed) in the future.</p>
<blockquote><p><em>&gt;pyrit -r wpa2psk-linksys.dump.gz -i dict.gz <strong>&#8211;aes</strong> attack_passthrough</em><br />
Pyrit 0.4.1-dev (svn r304) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com<br />
This code is distributed under the GNU General Public License v3+</p>
<p>Parsing file &#8216;wpa2psk-linksys.dump.gz&#8217; (1/1)&#8230;<br />
Parsed 499 packets (499 802.11-packets), got 1 AP(s)</p>
<p>Picked AccessPoint 00:0b:86:c2:a4:85 (&#8216;linksys&#8217;) automatically.<br />
Tried 4094 PMKs so far; 1049 PMKs per second.</p>
<p>The password is &#8216;dictionary&#8217;.</p></blockquote>
<p>Pyrit can use the new <a href="https://secure.wikimedia.org/wikipedia/en/wiki/AES-NI">AES-NI</a> instruction-set found in recent processors (e.g. <em>Intel Sandy Bridge</em>) to boost performance. The &#8220;<strong>list-cores</strong>&#8220;-command shows if the local processor supports this instruction-set:</p>
<blockquote><p><em>&gt; pyrit list_cores</em><br />
Pyrit 0.4.1-dev (svn r304) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com<br />
This code is distributed under the GNU General Public License v3+</p>
<p>The following cores seem available&#8230;<br />
#1:  &#8216;CPU-Core (SSE2/<strong>AES</strong>)&#8217;<br />
#2:  &#8216;CPU-Core (SSE2/<strong>AES</strong>)&#8217;<br />
#3:  &#8216;CPU-Core (SSE2/<strong>AES</strong>)&#8217;<br />
#4:  &#8216;CPU-Core (SSE2/<strong>AES</strong>)&#8217;</p></blockquote>
<p>Note that a recent version of GCC 4.4+ is required to compile the intrinsics for the new <a href="https://secure.wikimedia.org/wikipedia/en/wiki/AES-NI">AES-NI</a> instructions. <a href="http://pyrit.googlecode.com/">Pyrit</a>&#8216;s module will not be able to use the hardware-based AES-acceleration if it was compiled with a previous version of GCC.</p>
<p>Please also note that this feature is currently only the the svn-codebase and not found in a released stable version. <strong>Your help is required</strong> to make this process faster. Please submit cases where <a href="http://pyrit.googlecode.com/">Pyrit</a> is able to successfully attack a handshake using the original approach but fails to do so when the <strong>&#8211;aes</strong> switch is applied. Such regressions need to be sorted out before we can make the new CCMP-approach a default and get a new stable version 0.4.1 out onto the road. Please <a href="https://code.google.com/p/pyrit/issues/entry">open a bug on Pyrit&#8217;s bugtracker</a> for these cases (including all necessary information).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pyrit.wordpress.com/631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pyrit.wordpress.com/631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pyrit.wordpress.com/631/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pyrit.wordpress.com&amp;blog=5000293&amp;post=631&amp;subd=pyrit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pyrit.wordpress.com/2011/04/19/using-the-new-ccmp-attack-in-pyrit/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/856cbd2891505b4161c91522cbff3869?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ebfe</media:title>
		</media:content>
	</item>
	</channel>
</rss>
