<?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>SourceSec Security Research &#187; Techniques</title>
	<atom:link href="http://www.sourcesec.com/category/techniques/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sourcesec.com</link>
	<description>Security research and vulnerability assesment</description>
	<lastBuildDate>Tue, 19 Jan 2010 05:15:53 +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>DNS Load Balancing For Fun And Profit</title>
		<link>http://www.sourcesec.com/2009/05/11/dns-load-balancing-for-fun-and-profit/</link>
		<comments>http://www.sourcesec.com/2009/05/11/dns-load-balancing-for-fun-and-profit/#comments</comments>
		<pubDate>Mon, 11 May 2009 20:58:03 +0000</pubDate>
		<dc:creator>cheffner</dc:creator>
				<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=150</guid>
		<description><![CDATA[UPDATE: Unfortunately, this method of anti-DNS pinning does not work quite as we had observed in the lab. As it happens, browsers (IE and FF), if given multiple IP addresses in a DNS response, will always try a private IP address first, regardless of the order in which the IP addresses are listed in the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE</strong>: Unfortunately, this method of anti-DNS pinning does not work quite as we had observed in the lab. As it happens, browsers (IE and FF), if given multiple IP addresses in a DNS response, will always try a private IP address first, regardless of the order in which the IP addresses are listed in the DNS response. If all of the IP addresses in the response are private IPs, then the browser will try them in order (which is why this technique worked during our lab testing, since all of our lab IPs were non-routable). Unfortunately, this prevents the use of this attack as we had previously described. It can still be used in some circumstances, such as an internal attacker attempting to leverage IP-based ACLs, or it can be used to give an external attacker access to Web services running on the localhost (such as <a href="http://milw0rm.org/exploits/7150">CUPS</a>, or <a href="http://securityreason.com/securityalert/5523">bittorrent clients</a>). We&#8217;re leaving all of our original post below as even these limited scenarios may be useful attack vectors; in the mean time, we&#8217;re going back to the drawing board to examine more traditional anti-DNS pinning attacks.</p>
<p><span id="more-150"></span></p>
<p>Anti-DNS pinning is a technique for kinda-sorta circumventing the same domain policy enforced in Web browsers. While it does have some limitations, it is great for using a client&#8217;s browser to access restricted internal resources (such as a router&#8217;s Web interface). The problem is that whenever I <a href="http://ha.ckers.org/blog/20060815/circumventing-dns-pinning-for-xss/">see</a> <a href="http://ha.ckers.org/blog/20060908/dns-pinning-just-got-worse/">people</a> <a href="http://www.securityfocus.com/archive/1/443209/30/0/threaded">talk</a> about anti-DNS pinning, they make it more complex than it really should be. They focus on DNS cache time outs and forcing browsers to re-request DNS lookups and so forth. This is really all unnessesary; all an attacker really needs to do in order to thwart DNS pinning is to use DNS load balancing.</p>
<p>What&#8217;s so great about using DNS for load balancing? Any decently sized Web site does it; it&#8217;s pretty much standard procedure. Take a look at the DNS lookup for www.google.com and think about how it works for a second:</p>
<blockquote>
<pre><span style="color: #800000;">; &lt;&lt;&gt;&gt; DiG 9.4.3-P2 &lt;&lt;&gt;&gt; www.google.com
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 57946
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 7, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.			IN	A

;; ANSWER SECTION:
www.google.com.		262385	IN	CNAME	www.l.google.com.
www.l.google.com.	82	IN	A	64.233.161.147
www.l.google.com.	82	IN	A	64.233.161.99
www.l.google.com.	82	IN	A	64.233.161.104

;; AUTHORITY SECTION:
l.google.com.		3802	IN	NS	f.l.google.com.
l.google.com.		3802	IN	NS	d.l.google.com.
l.google.com.		3802	IN	NS	c.l.google.com.
l.google.com.		3802	IN	NS	e.l.google.com.
l.google.com.		3802	IN	NS	b.l.google.com.
l.google.com.		3802	IN	NS	a.l.google.com.
l.google.com.		3802	IN	NS	g.l.google.com.

;; Query time: 0 msec
;; SERVER: 71.252.219.43#53(71.252.219.43)
;; WHEN: Mon May 11 15:23:53 2009

;; MSG SIZE  rcvd: 212
,</span></pre>
</blockquote>
<p>When your browser navigates to www.google.com, it will first try the 64.233.161.147 IP address; if that doesn&#8217;t work, it will try 64.233.161.99 and finally 64.233.161.104. Now, let&#8217;s say that we own a domain name, myevilsite.org, and we want to attack your internal router, located at 192.168.1.1. When your browser tries to navigate to myevilsite.org, it will perform a DNS lookup, and our DNS server will respond with the following:</p>
<blockquote>
<pre><span style="color: #800000;">;; ANSWER SECTION:
www.myevilsite.org	82	IN	A	12.34.56.78
www.myevilsite.org	82	IN	A	192.168.1.1</span></pre>
</blockquote>
<p>The browser will cache these IP addresses and first attempt to connect to 12.34.56.78, which is the IP address for the myevilsite.org Web server. The browser will load up our Web page that contains some JavaScript that we have crafted to assist us in this attack, and as soon as our Web server has supplied the browser with this page, it will shut down (note that the server itself is still up, just that there is no longer a service listening on port 80).</p>
<p>Our JavaScript then attempts to make a connection back to www.myevilsite.org via an XMLHttpRequest. Since this is within the same domain policy of the browser, the browser allows the request and attempts to connect back to 12.34.56.78; except that now the browser will recieve a TCP RST packet because there is no longer a service running on port 80 at that IP address. Upon seeing this, the browser will then try the next IP address in the list &#8211; which is 192.168.1.1. The browser thinks that it is still connecting to www.myevilsite.org, but it is actually connecting to your internal router. Since the browser sees this as still within the scope of its same-domain policy, our JavaScript that is running in your browser has full access to your router&#8217;s Web page.</p>
<p>Using this method, we can circumvent the DNS caching mechanism employed by the browser almost instantaneously (we don&#8217;t have to wait for anything to time out or reset or whatever). Granted, we still need to log in to the router, or otherwise bypass the login, in order to view or change settings, but we have now completely broken your firewall&#8217;s security, your browser&#8217;s security, and any anti-CSRF security that may have been implemented in your router&#8217;s Web application.</p>
<p>Now, think about the number of people that you know who leave their router&#8217;s login set to the default. Now think about the number of routers with security vulnerabilities that allow us to view / change settings without a valid login. Now think about people who change only the administrative login, but leave user accounts set to their defaults (this is basically anyone who uses a D-Link, since even the D-Link set-up CD ignores the unprivileged User account). That&#8217;s a lot of people who&#8217;s WPA keys we can steal, DNS settings we can configure, VOIP settings we can spy on, etc.</p>
<p>I wish I could say that this was all my idea, but it&#8217;s <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=162871#c19">been around</a> since at least 2002. I can say that it works very well however, and on our internal lab it takes less than a second to carry out the attack and glean all of the router&#8217;s WiFi security settings in either Firefox 3.0 or IE7. We are working on a tool to help streamline this attack, which we will hopefully have out in the coming weeks, so keep a look out for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sourcesec.com/2009/05/11/dns-load-balancing-for-fun-and-profit/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Cracking WPA With CSRF Attacks</title>
		<link>http://www.sourcesec.com/2009/05/11/cracking-wpa-with-csrf-attacks/</link>
		<comments>http://www.sourcesec.com/2009/05/11/cracking-wpa-with-csrf-attacks/#comments</comments>
		<pubDate>Mon, 11 May 2009 17:02:56 +0000</pubDate>
		<dc:creator>cheffner</dc:creator>
				<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=136</guid>
		<description><![CDATA[Over the past year, a lot of vulnerabilities have been found in various home routers, and it should be noted that almost all SOHO routers are vulnerable to CSRF attacks. By combining CSRF with authentication bypass vulnerabilities or default logins, an attacker can modify practically any router setting s/he desires. However, the crux of CSRF [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year, a lot of <a href="http://www.gnucitizen.org/blog/router-hacking-challenge/">vulnerabilities</a> have been found in various home routers, and it should be noted that almost all SOHO routers are vulnerable to CSRF attacks. By combining CSRF with <a href="http://milw0rm.com/exploits/6305">authentication</a> <a href="http://milw0rm.com/exploits/5926">bypass</a> <a href="http://milw0rm.com/exploits/7389">vulnerabilities</a> or default logins, an attacker can modify practically any router setting s/he desires. However, the crux of CSRF is that while it can be used to force the browser to make requests, the attacker&#8217;s code can&#8217;t view the response from these requests thanks to the browser&#8217;s same-domain policy.</p>
<p>We&#8217;ve already talked about our <a href="http://www.sourcesec.com/2009/05/11/building-wpa-hardware-backdoors/">hardware-based attacks</a> against WiFi-Protected Setup, but even without physical access to the router, WPS can still be leveraged by an attacker to gain access to a secured wireless network. Why try to crack a 60-character WPA2 key when you can run a phishing attack and force the router to give you the key instead? It&#8217;s as simple as creating an HTML image tag.</p>
<p><span id="more-136"></span></p>
<p>As we&#8217;ve covered <a href="http://www.sourcesec.com/2009/05/11/building-wpa-hardware-backdoors/">before</a>, WPS is a protocol designed to help with the distribution of WPA keys: all you have to do is push a button. From an attacker&#8217;s perspective however, it would be great if he could push that button remotely. Luckily for him, routers provide not only physical WPS push buttons, but also virtual push buttons in the administrative Web interface. When you click on the button, it just sends a standard HTTP request to the router, which causes the router to activate WPS and begin looking for a client to give the WPA key to. This is a key point, as now an attacker can use a CSRF attack to activate WPS. All the attacker has to do at that point is use a WPS-capable WiFi card to perform the WPS handshake(s) and retrieve the WPA key.</p>
<p>If you take a quick look at Milw0rm, there are a couple of Belkin G routers that are vulnerable to authentication bypass vulnerabilities, that is, you can change router settings without having to log in. Interestingly, our Belkin N router has these exact same vulnerabilities, suggesting that quite probably the entire line of Belkin routers also share this vulnerability (hooray for code re-use!).</p>
<p>To use this attack against our router, we simply crafted the following HTML page:</p>
<div id="attachment_140" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_code.jpg"><img class="size-medium wp-image-140" title="Belkin HTML Code" src="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_code-300x98.jpg" alt="HTML page used to &quot;crack&quot; WPA2 via CSRF" width="300" height="98" /></a><p class="wp-caption-text">HTML page used to &quot;crack&quot; WPA2 via CSRF</p></div>
<p>This page has a hidden img tag that points to the WPS activation URL on the Belkin router. Since the Belkin is vulnerable to authentication bypass, anyone who views this page inside of our network will unknowingly activate WPS on the router. The page look innocuous when viewed in a browser:</p>
<div id="attachment_141" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_csrf_firefox.jpg"><img class="size-medium wp-image-141" title="HTML In Browser" src="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_csrf_firefox-300x165.jpg" alt="What the page looks like in the browser window" width="300" height="165" /></a><p class="wp-caption-text">What the page looks like in the browser window</p></div>
<p>However, by monitoring the WPS state of the router with <a href="http://www.sourcesec.com/2009/05/09/wpscan-wpspy-tools/">WPSpy</a>, we can clearly see that the router went from simply a configured state, to configured and looking for push-button WPS clients:</p>
<div id="attachment_142" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_own.jpg"><img class="size-medium wp-image-142" title="Belkin WPS WPSpy" src="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_own-300x188.jpg" alt="The Belkin router's WPS state changes when the HTML page is viewed by a client on the LAN" width="300" height="188" /></a><p class="wp-caption-text">The Belkin router&#39;s WPS state changes when the HTML page is viewed by a client on the LAN</p></div>
<p>The attacker can now easily claim to be a WPS <a href="http://www.belkin.com/au/IWCatProductPage.process?Product_Id=474682">push button client</a>, at which point the router will happily provide the attacker with the WPA key:</p>
<div id="attachment_143" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin.jpg"><img class="size-medium wp-image-143" title="Belkin WPS Client" src="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin-300x152.jpg" alt="Using a WPS-capable WiFi card to retrieve the WPA key via WPS" width="300" height="152" /></a><p class="wp-caption-text">Using a WPS-capable WiFi card to retrieve the WPA key via WPS</p></div>
<p>It should be noted that Belkin routers aren&#8217;t the only ones affected by this type of attack. Various other routers have authentication-bypass vulnerabilities, and even those that don&#8217;t are still not immune. If no authentication bypass vulnerability exists, an attacker can simply create two images; the first one attempts to log in to the router with the default username / password, while the second one activates WPS.</p>
<p>This attack is difficult to mitigate. Even if you disable WPS, the attacker can add a second image tag that enables WPS first. Disabling JavaScript won&#8217;t even help, because you don&#8217;t need to use JavaScript to perform CSRF attacks. The best recourse is to do your homework and buy a router that (hopefully) doesn&#8217;t have an authentication bypass vulnerability, and change the default login.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sourcesec.com/2009/05/11/cracking-wpa-with-csrf-attacks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building WPA Hardware Backdoors</title>
		<link>http://www.sourcesec.com/2009/05/11/building-wpa-hardware-backdoors/</link>
		<comments>http://www.sourcesec.com/2009/05/11/building-wpa-hardware-backdoors/#comments</comments>
		<pubDate>Mon, 11 May 2009 16:21:34 +0000</pubDate>
		<dc:creator>cheffner</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=110</guid>
		<description><![CDATA[It used to be that building a hardware back door into a router was a difficult, resource-intensive task that only the most skilled hardware hacker would dare to undertake, but thanks to a new feature prevalent to nearly all new SOHO routers, just about anyone can build such a back door.
This new feature is called [...]]]></description>
			<content:encoded><![CDATA[<p>It used to be that building a hardware back door into a router was a difficult, resource-intensive task that only the most skilled hardware hacker would dare to undertake, but thanks to a new feature prevalent to nearly all new SOHO routers, just about anyone can build such a back door.</p>
<p>This new feature is called WiFi-Protected Setup. WPS 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 &#8220;soft&#8221; 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>Unfortunately, along with this ease-of-use, WPS brings a whole new threat into SOHO router networks: physical attacks. Physical tampering with a router used to mean some malicious person bringing in a laptop, plugging it into the router, and trying to brute force the router login. But now, an attacker can install a simple hardware back door which activates WPS at a specified interval. In fact, in some cases this can be done with nothing more than a stick of gum.</p>
<p style="text-align: center;">
<p><span id="more-110"></span></p>
<p style="text-align: center;">
<p>The attack is very simple; you just have to create a circuit that &#8220;pushes&#8221; 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:</p>
<p style="text-align: center;">
<div id="attachment_114" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw6.jpg"><img class="size-medium wp-image-114" title="Foil Placement" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw6-300x225.jpg" alt="Place the foil in the Linksys' case" width="300" height="225" /></a><p class="wp-caption-text">Place the foil in the Linksys&#39; case</p></div>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw7.jpg"><img class="size-medium wp-image-115" title="Foil shorts the WPS button pins" 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>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw9.jpg"><img class="size-medium wp-image-116" title="linksys_hw9" src="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_hw9-300x225.jpg" alt="Use the remaining foil to cover up the WPS light" width="300" height="225" /></a><p class="wp-caption-text">Use the remaining foil to cover up the WPS LED</p></div>
<p>Note that since WPS will always be activated, the WPS LED will be constantly blinking, so it&#8217;s probably a good idea to cover up the LED as shown in the above picture.</p>
<p style="text-align: center;">
<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&#8217;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&#8217;s open state. The following circuit will push the WPS button for 1.5 seconds every 2.5 minutes:</p>
<div id="attachment_119" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_schematic.jpg"><img class="size-medium wp-image-119" title="ne555_schematic" src="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_schematic-300x184.jpg" alt="NE555 Schematic Diagram" width="300" height="184" /></a><p class="wp-caption-text">NE555 Schematic Diagram</p></div>
<p>Vcc and ground are connected to the router&#8217;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&#8217;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 id="attachment_123" class="wp-caption aligncenter" style="width: 234px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555.jpg"><img class="size-medium wp-image-123" 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 id="attachment_124" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/ne555_dlink.jpg"><img class="size-medium wp-image-124" 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" width="225" height="300" /></a><p class="wp-caption-text">The circuit connected to a D-Link DIR-628</p></div>
<div id="attachment_125" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/belkin_555_1.jpg"><img class="size-medium wp-image-125" 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 router" 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 our <a href="http://www.sourcesec.com/2009/05/09/wpscan-wpspy-tools/">WPSpy tool</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 id="attachment_127" class="wp-caption aligncenter" style="width: 303px"><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/linksys_key.jpg"><img class="size-medium wp-image-127" title="Linksys WPA Key" 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://www.sourcesec.com/2009/05/11/building-wpa-hardware-backdoors/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hacking The Network Inside Out</title>
		<link>http://www.sourcesec.com/2009/05/09/hacking-the-network-inside-out/</link>
		<comments>http://www.sourcesec.com/2009/05/09/hacking-the-network-inside-out/#comments</comments>
		<pubDate>Sat, 09 May 2009 18:09:28 +0000</pubDate>
		<dc:creator>cheffner</dc:creator>
				<category><![CDATA[Papers]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Papers conference wifi]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=72</guid>
		<description><![CDATA[We just finished our talk at ChicagoCon, and it was awesome! We&#8217;re posting the slides up here for those of you who couldn&#8217;t make it to the con. A quick overview of our talk:
Our presentation focuses on SOHO router security, specifically, exploiting router vulnerabilities to gain direct access to the internal WiFi network without having [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sourcesec.com/wp-content/uploads/2009/05/useofthisdevice.jpg"><img class="alignright size-medium wp-image-75" title="D-Link's Warning...User Beware!" src="http://www.sourcesec.com/wp-content/uploads/2009/05/useofthisdevice-300x225.jpg" alt="" width="98" height="73" /></a>We just finished our talk at <a href="http://www.chicagocon.com">ChicagoCon</a>, and it was awesome! We&#8217;re posting the slides up here for those of you who couldn&#8217;t make it to the con. A quick overview of our talk:</p>
<blockquote><p>Our presentation focuses on SOHO router security, specifically, exploiting router vulnerabilities to gain direct access to the internal WiFi network without having to crack encryption keys.</p>
<p>We discuss various methods of router reconnaissance, including some new tools that we&#8217;ve written specifically for this purpose, how to obtain WPA keys using simple HTML img tags, and how to own the WiFi network remotely using anti-DNS pinning attacks.</p>
<p>We even throw in some hardware hacks, describing how to implant a hardware backdoor into a router&#8217;s WPA encryption using nothing more than a stick of gum or a simple $8 circuit.</p></blockquote>
<p>Download the slides <a href="http://www.sourcesec.com/Lab/ChicagoCon_2009s.ppt">here</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sourcesec.com/2009/05/09/hacking-the-network-inside-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ChicagoCon 2009s</title>
		<link>http://www.sourcesec.com/2009/04/29/chicagocon-2009s/</link>
		<comments>http://www.sourcesec.com/2009/04/29/chicagocon-2009s/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 01:36:58 +0000</pubDate>
		<dc:creator>craig</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[chicagocon]]></category>
		<category><![CDATA[EthicalHacker]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Routers]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=64</guid>
		<description><![CDATA[We&#8217;re just now putting the finishing touches on our presentation for the ChicagoCon 2009s security conference coming up next week. We will be discussing some of the &#8220;more serious issues&#8221; that we mentioned when we released our Hacking SOHO Routers paper late last year. In addition to releasing some new tools, our presentation topics include [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chicagocon.com"><img class="alignright" title="ChicagoCon 2009s" src="http://www.chicagocon.com/images/stories/3monitors_rotate_ccw.png" alt="" width="168" height="63" /></a>We&#8217;re just now putting the finishing touches on our presentation for the <a href="http://www.chicagocon.com/2009s/conference.html">ChicagoCon</a> 2009s security conference coming up next week. We will be discussing some of the &#8220;more serious issues&#8221; that we mentioned when we released our <a href="http://www.sourcesec.com/2008/11/09/hacking-the-routers-soho-router-security/">Hacking SOHO Routers</a> paper late last year. In addition to releasing some new tools, our presentation topics include router reconnaissance, alternative attacks against WPA/WEP encryption, and how to hack a router with a stick of gum.</p>
<p>As always, there are going to be a lot of other great talks there too; tickets are still available and are only $100 for the conference, so if you&#8217;re going to be in the Chicago area May 8th and 9th, we hope you&#8217;ll stop by!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sourcesec.com/2009/04/29/chicagocon-2009s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows DLL Redirection</title>
		<link>http://www.sourcesec.com/2008/11/03/windows-dll-redirection/</link>
		<comments>http://www.sourcesec.com/2008/11/03/windows-dll-redirection/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 21:48:56 +0000</pubDate>
		<dc:creator>cheffner</dc:creator>
				<category><![CDATA[Papers]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.sourcesec.com/?p=19</guid>
		<description><![CDATA[In Windows, all applications must communicate with the kernel through API functions; as such, these functions are critical to even the simplest Windows application. Thus, the ability to intercept, monitor, and modify a program&#8217;s API calls, commonly called API hooking, effectively gives one full control over that process. This can be useful for a multitude [...]]]></description>
			<content:encoded><![CDATA[<p>In Windows, all applications must communicate with the kernel through API functions; as such, these functions are critical to even the simplest Windows application. Thus, the ability to intercept, monitor, and modify a program&#8217;s API calls, commonly called API hooking, effectively gives one full control over that process. This can be useful for a multitude of reasons, including debugging, reverse engineering, and hacking (in all interpretations of the word).</p>
<p>While there are several methods which can be used to achieve our goal, this tutorial will examine only DLL redirection. This approach was chosen for several reasons:</p>
<ul style="list-style-type:decimal;">
<li>It is relatively simple to implement.</li>
<li>It allows us to view and modify parameters passed to an API function, change return values of that function, and run any other code we desire.</li>
<li>While most other methods require code to be injected into the target process or run from an external application, DLL redirection requires only write access to the target application&#8217;s working directory.</li>
<li>We can intercept any API call without modifying the target (either on disk or in memory) or any system files.</li>
</ul>
<p>The full article has been posted on <a href="http://www.ethicalhacker.net/content/view/207/2/">EthicalHacker.net</a> and <a href="http://milw0rm.com/papers/105">milw0rm.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sourcesec.com/2008/11/03/windows-dll-redirection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
