<?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>Hacking With Gum &#187; Security</title>
	<atom:link href="http://hackingwithgum.com/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackingwithgum.com</link>
	<description>A Hardware Hacking Blog</description>
	<lastBuildDate>Tue, 23 Mar 2010 00:47:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>WiFi Protected Setup Router Backdoor</title>
		<link>http://hackingwithgum.com/2009/05/17/wifi-protected-setup-router-backdoor/</link>
		<comments>http://hackingwithgum.com/2009/05/17/wifi-protected-setup-router-backdoor/#comments</comments>
		<pubDate>Sun, 17 May 2009 15:36:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Router]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[WPS]]></category>

		<guid isPermaLink="false">http://hackingwithgum.com/?p=7</guid>
		<description><![CDATA[WiFi-Protected Setup is a standard designed to ease the distribution of strong WPA/WPA2 encryption keys. Anyone who has tried to enter a 60-character WPA key into a Wii will immediately appreciate WPS; when you want to add a new client to your wireless network, you simply push a button on the router, push a button [...]]]></description>
			<content:encoded><![CDATA[<p>WiFi-Protected Setup is a standard designed to ease the distribution of strong WPA/WPA2 encryption keys. Anyone who has tried to enter a 60-character WPA key into a Wii will immediately appreciate WPS; when you want to add a new client to your wireless network, you simply push a button on the router, push a button on the client (clients typically have “soft” buttons), and the two will negotiate an 802.11 EAP session which the router uses to securely send the network encryption key to the client.</p>
<p>But what if you want to use WPA and allow anyone to connect to your WiFi network? Well, you&#8217;d simply have to keep pusing the WPS button once every two minutes (WPS has a two minute time-out period). Granted, there probably aren&#8217;t many (any?) legitimate uses for this, but it would be a great opportunity for some nefarious individual: with such a system in place, he can always get in no matter how strong you make your WPA key.</p>
<p><span id="more-7"></span></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p>This hack is very simple; you just have to create a circuit that “pushes” the WPS button on the router. With some routers, such as Linksys, you can simply short out the pins on the WPS button, causing WPS to remain permanently on. This can be done very easily using the foil wrapper from a stick of gum; note that since WPS will always be activated, the WPS LED will be constantly blinking, so it’s probably a good idea to cover up the LED:</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw6.jpg"><img title="Linksys Gum Hack 1" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw6.jpg" alt="Placing the foil in the Linksys case" width="300" height="225" /></a><p class="wp-caption-text">Placing the foil in the Linksys&#39; case</p></div>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw7-300x68.jpg"><img title="Linksys Gum Hack 2" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw7-300x68.jpg" alt="When the board is placed back in the case, the foil shorts the pins on the WPS button" width="300" height="68" /></a><p class="wp-caption-text">When the board is placed back in the case, the foil shorts the pins on the WPS button</p></div>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw9-300x225.jpg"><img title="Linksys Gum Hack 3" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw9-300x225.jpg" alt="Use the remaining foil to cover up the WPS LED" width="300" height="225" /></a><p class="wp-caption-text">Use the remaining foil to cover up the WPS LED</p></div>
<p>Although a simple hack, using gum to back door a router is not the best solution. In the routers tested, the gum hack only worked on our Linksys router; the rest require us to push, hold, and release the WPS button before they would activate WPS. Even in the Linksys device, this is a non-stealthy hack, as the administrative interface will (rather obnoxiously) indicate that WPS is activated whenever an administrator logs in to view the wireless settings.</p>
<p>A far better solution can be found by using a simple NE555 timer circuit. The push buttons are typically configured with one contact connected to ground, and the other contact connected to something else that reads the button’s state. Using an NE555, we can connect the non-ground pin on the button to ground for a second or two, and then return the pin to it’s open state. The following circuit will push the WPS button for 1.5 seconds every 2.5 minutes:</p>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_schematic-300x184.jpg"><img title="NE555 Schematic" src="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_schematic-300x184.jpg" alt="NE555 Schematic" width="300" height="184" /></a><p class="wp-caption-text">NE555 Schematic</p></div>
<p>Vcc and ground are connected to the router’s DC power supply. Since the 555 can be powered from a wide range of voltage sources (4.5v &#8211; 16v), no voltage regulator should be required (routers typically run off of 5 &#8211; 12 volt DC power adapters). Conn1 is connected to the non-grounded pin on the WPS button.</p>
<p>The output (pin 3) stays high for 2.5 minutes and goes low (i.e., is grounded) for 1.5 seconds. D1 ensures that there is no charge flowing into pin 3 (probably not likely, but we don’t know exactly what the WPS button is connected to). When pin 3 goes low, it effectively grounds the button connected to Conn1; resistor R3 limits any current flowing through D1 during this period. The circuit can be modified to stay high for much longer periods of time by increasing the value of the R1 resistor.</p>
<p>Although the NE555 is not very precise when used to time long periods, precision is not really a concern in this application, so activating WPS once every 10-12 hours is possible. This has the added benefit of making such a back door more difficult to detect; WPS has a two minute time out period (if no client is found within two minutes, the router stops looking for a client until the button is pushed again), so the light will only be blinking for two two-minute intervals throughout a 24 hour period.</p>
<p style="text-align: center;">
<p>Below are pictures of the above circuit connected to several routers from various vendors. Since the WPS button works the same way on basically all routers, this circuit is a universal hardware back door for practically any router that has WPS support:</p>
<div class="wp-caption aligncenter" style="width: 234px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555-224x300.jpg"><img title="NE555 Linksys" src="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555-224x300.jpg" alt="The circuit connected to a Linksys WRT160N" width="224" height="300" /></a><p class="wp-caption-text">The circuit connected to a Linksys WRT160N</p></div>
<div class="wp-caption aligncenter" style="width: 235px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_dlink-225x300.jpg"><img title="NE555 D-Link" src="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_dlink-225x300.jpg" alt="The circuit connected to a D-Link DIR-628 The circuit soldered up and placed inside a Belkin router" width="225" height="300" /></a><p class="wp-caption-text">The circuit connected to a D-Link DIR-628 The circuit soldered up and placed inside a Belkin router</p></div>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_555_1-300x225.jpg"><img title="NE555 Belkin" src="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_555_1-300x225.jpg" alt="The circuit soldered up and placed inside a Belkin F5D8233-4v3" width="300" height="225" /></a><p class="wp-caption-text">The circuit soldered up and placed inside a Belkin F5D8233-4v3</p></div>
<p>Now, you just wait for WPS to be activated (WPS state can be passively monitored real-time using <a href="http://www.sourcesec.com/2009/05/09/wpscan-wpspy-tools/">WPSpy</a>) and use a WPS-capable <a href="http://www.belkin.com/au/IWCatProductPage.process?Product_Id=474682">WiFi card</a> (or <a href="http://hostap.epitest.fi/wpa_supplicant/">software</a>) to retrieve the key:</p>
<div class="wp-caption aligncenter" style="width: 303px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_key-293x300.jpg"><img title="Belkin WPS Software" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_key-293x300.jpg" alt="Using a Belkin WiFi card to retrieve the WPA key via WPS" width="293" height="300" /></a><p class="wp-caption-text">Using a Belkin WiFi card to retrieve the WPA key via WPS</p></div>
]]></content:encoded>
			<wfw:commentRss>http://hackingwithgum.com/2009/05/17/wifi-protected-setup-router-backdoor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
