<?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>Neohapsis Labs</title>
	<atom:link href="http://labs.neohapsis.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.neohapsis.com</link>
	<description>Managing Risk and Security since 1998</description>
	<lastBuildDate>Thu, 16 May 2013 21:20:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='labs.neohapsis.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Neohapsis Labs</title>
		<link>http://labs.neohapsis.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://labs.neohapsis.com/osd.xml" title="Neohapsis Labs" />
	<atom:link rel='hub' href='http://labs.neohapsis.com/?pushpress=hub'/>
		<item>
		<title>Browser Event Hijacking</title>
		<link>http://labs.neohapsis.com/2012/11/14/browser-event-hijacking/</link>
		<comments>http://labs.neohapsis.com/2012/11/14/browser-event-hijacking/#comments</comments>
		<pubDate>Wed, 14 Nov 2012 21:24:05 +0000</pubDate>
		<dc:creator>Ben Toews</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1616</guid>
		<description><![CDATA[By: Ben Toews TL;DR: preventDefault can be bad In playing with the preventDefault method on JavaScript events, it occured to me that one can easily hijack events that should get passed through to the browser. The example that I will be discussing here is the ctrl+f or ⌘+f combination. This ubiquitous key combination results in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1616&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By: Ben Toews</p>
<p><strong>TL;DR:</strong> <a href="http://boomer.neohapsis.com/searchbox/index.html"><code>preventDefault</code> can be bad</a></p>
<p>In playing with the <code>preventDefault</code> method on JavaScript events, it occured to me that one can easily hijack events that should get passed through to the browser. The example that I will be discussing here is the <code>ctrl+f</code> or <code>⌘+f</code> combination. This ubiquitous key combination results in a search box of some type being displayed to the user. With browser and OS key bindings, there is a user expectation of continuity. We are conditioned as users to expect that pressing these key combinations will have a certain effect. The interruption of this continuity can have security implications.</p>
<p>In the example hosted <a href="http://boomer.neohapsis.com/searchbox/index.html">here</a>, a list of information that a user might be tempted to search through is presented. JavaScript on the page hijacks the <code>ctrl+f</code> and <code>⌘+f </code>combinations, presenting a search box that is nearly identical to the browser search box users would see running Google Chrome on OSX. While normally, JavaScript wouldn&#8217;t have access to the contents of the search box, the fake search box is obviously accessible to the malicious site.</p>
<div id="attachment_1617" class="wp-caption alignnone" style="width: 452px"><a href="http://neolab.files.wordpress.com/2012/11/fake.png"><img class="size-full wp-image-1617" title="Fake Browser Search Bar" alt="Fake Browser Search Bar" src="http://neolab.files.wordpress.com/2012/11/fake.png?w=450"   /></a><p class="wp-caption-text">Fake Browser Search Bar</p></div>
<div id="attachment_1618" class="wp-caption alignnone" style="width: 360px"><a href="http://neolab.files.wordpress.com/2012/11/real.png"><img class="size-full wp-image-1618" title="Real Browser Search Bar (Google Chrome on OSX)" alt="Real Browser Search Bar (Google Chrome on OSX)" src="http://neolab.files.wordpress.com/2012/11/real.png?w=450"   /></a><p class="wp-caption-text">Real Browser Search Bar (Google Chrome on OSX)</p></div>
<p>The ability of a malicious site to interrupt the expected continuity of user interaction with a web browser constitutes a breach of user trust on the part of the web browser. Because the user trusts that this key combination will trigger a <i>browser </i>event, they will trust the search bar presented by the site and interact with it as they would with the browser. Other key combinations could be similarly attacked. For example, <code>ctrl+s</code>/<code>⌘+s</code> or <code>ctrl+o</code>/<code>⌘+o</code> could be hijacked and could display a fake dialog claiming that the user&#8217;s password is required for file-system access. Specific attack scenarios aside, it is problematic to have ambiguity about the boundaries between browser and web app. More generally, a lower trust component should not have the ability to affect the behavior of a higher trust component.</p>
<p>This page in probably won&#8217;t be convincing for users of different operating systems or browsers, but with a bit more effort, the script could detect browser and OS and display an appropriate search box. It could also easily emulate other browser behavior like highlighting entered text or scrolling around the page.</p>
<p>What is the solution, though? There are a few solutions that come to mind:</p>
<ol>
<li>Place the browser search box in a part of the browser that could not be confused with website content.</li>
<li>Warn the user when a site attempts to call <code>preventDefault</code> on an event that is registered as a browser key binding.</li>
</ol>
<p>I raised this issue to the Chrome team and it was labeled as a low-priority issue. I&#8217;m not sure that I disagree with that analysis, but I do think that this is an issue that should be considered.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1616/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1616&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/11/14/browser-event-hijacking/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8caa0afdae1a934c30a1998472c63134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mastahyeti</media:title>
		</media:content>

		<media:content url="http://neolab.files.wordpress.com/2012/11/fake.png" medium="image">
			<media:title type="html">Fake Browser Search Bar</media:title>
		</media:content>

		<media:content url="http://neolab.files.wordpress.com/2012/11/real.png" medium="image">
			<media:title type="html">Real Browser Search Bar (Google Chrome on OSX)</media:title>
		</media:content>
	</item>
		<item>
		<title>HTTP Pass the Hash with Python</title>
		<link>http://labs.neohapsis.com/2012/11/12/http-pass-the-hash-with-python/</link>
		<comments>http://labs.neohapsis.com/2012/11/12/http-pass-the-hash-with-python/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 22:19:03 +0000</pubDate>
		<dc:creator>Ben Toews</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Security Testing]]></category>
		<category><![CDATA[Security Tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1602</guid>
		<description><![CDATA[By: Ben Toews TL;DR: Pass the Hash HTTP NTLM Authentication with Python &#8211; python-ntlm - requests When assessing a Windows domain environment, the ability to &#8220;pass the hash&#8221; is invaluable. The technique was pioneered by Paul Ashton way back in &#8217;97, and things have only gotten better since. Fortunately, we no longer need to patch Samba, but [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1602&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By: Ben Toews</p>
<p><strong>TL;DR:</strong> Pass the Hash HTTP NTLM Authentication with Python &#8211; <a href="https://github.com/mastahyeti/python-ntlm">python-ntlm</a> - <a href="https://github.com/mastahyeti/requests">requests</a></p>
<p>When assessing a Windows domain environment, the ability to &#8220;pass the hash&#8221; is invaluable. The technique was pioneered by <a href="https://www.hacking-lab.com/misc/downloads/event_2010/daniel_stirnimann_pass_the_hash_attack.pdf">Paul Ashton</a> way back in &#8217;97, and things have only gotten better since. Fortunately, we no longer need to patch Samba, but have reasonably functional tools like <a href="http://corelabs.coresecurity.com/index.php?module=Wiki&amp;action=view&amp;type=tool&amp;name=Pass-The-Hash_Toolkit">Pass-The-Hash Toolkit</a> and <a href="http://www.truesec.se/sakerhet/verktyg/saakerhet/msvctl_v0.3">msvctl</a>.</p>
<p>The general aproach of these tools is to not focus on writing PTH versions of every Windows functionality, but rather to allow you to run Windows commands as another user. This means that instead of needing to patch Samba, we can just use msvctl to spawn <code>cmd.exe</code> and from there run the <code>net use</code> command. This aproach has the obvious advantage of requiring far less code.</p>
<p>On a recent enagement, I was attempting to access SharePoint sites using stolen hashes. My first instinct was to launch <code>iexplore.exe</code> using msvctl and to try to browse to the target site. The first thing I learned is that in order to get Internet Explorer to do HTTP NTLM authentication without prompting for credentials, the site you are visiting needs to be in your &#8220;Trusted Sites Zone&#8221;. Four hours later, when you figure this out, IE will use HTTP NTLM authentication, with the hash specified by msvctl, to authenticate you to the web application. This was all great, except for I was still getting a 401 from the webapp. I authenticated, but the account I was using didn&#8217;t have permissions on the SharePoint site. No problem; I have stolen thousands of users&#8217; hashes and one of them must work, right? But what am I going to do, use msvctl to launch a few thousand instances of IE and attempt to browse the the site with each? I think not&#8230;</p>
<p>I took the <a href="http://code.google.com/p/python-ntlm/">python-ntlm</a> module, which allows for HTTP NTLM with urllib2, and added the ability to provide a hash instead of a password. This can be found <a href="https://github.com/mastahyeti/python-ntlm">here</a>. Then, because urllib2 is one of my least favourite APIs, I decided to write a patch for the <a href="https://github.com/kennethreitz/requests">requests</a> library to use the python-ntlm library. This fork can be found <a href="https://github.com/mastahyeti/requests">here</a>. I submitted a pull request to the requests project and commited my change to python-ntlm. Hopefully both of these updates will be available from pip in the near future.</p>
<p>So, what does all this let you do? You can now do pass-the-hash authentication with Python&#8217;s request library:</p>
<p><a href="https://gist.github.com/85f38760f74fce46669f"><img class="alignnone size-full wp-image-1607" title="." alt="" src="http://neolab.files.wordpress.com/2012/11/screen-shot-2012-11-12-at-3-04-10-pm.png?w=450&#038;h=77" height="77" width="450" /></a></p>
<p>One last thing to keep in mind is that there is a difference between HTTP NTLM authentication and Kerberos HTTP NTLM authentication. This is only for the former.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1602/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1602/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1602&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/11/12/http-pass-the-hash-with-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8caa0afdae1a934c30a1998472c63134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mastahyeti</media:title>
		</media:content>

		<media:content url="http://neolab.files.wordpress.com/2012/11/screen-shot-2012-11-12-at-3-04-10-pm.png" medium="image">
			<media:title type="html">.</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing BBQSQL</title>
		<link>http://labs.neohapsis.com/2012/08/12/installing-bbqsql/</link>
		<comments>http://labs.neohapsis.com/2012/08/12/installing-bbqsql/#comments</comments>
		<pubDate>Mon, 13 Aug 2012 02:32:31 +0000</pubDate>
		<dc:creator>Ben Toews</dc:creator>
				<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1597</guid>
		<description><![CDATA[By: Ben Toews TLDR: sudo pip install bbqsql So, I have this long running fear of writing make files. This is probably the main reason why I went into security rather than development. I used to have similar feelings towards setup.py files. Then I realized that they were easy. Then I started gettings emails saying [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1597&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By: <a href="http://btoe.ws">Ben Toews</a></p>
<p>TLDR: <code>sudo pip install bbqsql</code></p>
<p>So, I have this long running fear of writing make files. This is probably the main reason why I went into security rather than development. I used to have similar feelings towards setup.py files. Then I realized that they were easy. Then I started gettings emails saying that people couldn&#8217;t install BBQSQL.</p>
<p>It turns out that I didn&#8217;t upload the source distribution when I was registering the project with PyPI. Either way, you can now install BBQSQL by typing <code>sudo pip install bbqsql</code>. I am still afraid of make files and am back to being a bit afraid of setup.py files. Let me know if there are any more problems.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1597/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1597&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/08/12/installing-bbqsql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8caa0afdae1a934c30a1998472c63134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mastahyeti</media:title>
		</media:content>
	</item>
		<item>
		<title>Repurposing Data&#8230;or, &#8220;You&#8217;re Going To Do WHAT?&#8221;</title>
		<link>http://labs.neohapsis.com/2012/08/09/repurposing-data-or-youre-going-to-do-what/</link>
		<comments>http://labs.neohapsis.com/2012/08/09/repurposing-data-or-youre-going-to-do-what/#comments</comments>
		<pubDate>Thu, 09 Aug 2012 17:22:09 +0000</pubDate>
		<dc:creator>maddenpat</dc:creator>
				<category><![CDATA[Application Security]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1583</guid>
		<description><![CDATA[By Patrick Madden Boston.com published an AP story that Google is implementing an opt-in beta test to include users’ email in search results. In other words, when a user is logged in at Gmail, performing a plain old Google search will turn up emails in addition to web pages. Privacy concerns have been flagged and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1583&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>By Patrick Madden</em></p>
<p>Boston.com published an <a title="Google to include people's Gmail in search results" href="http://bo.st/NdMT98" target="_blank">AP story</a> that Google is implementing an opt-in beta test to include users’ email in search results. In other words, when a user is logged in at Gmail, performing a plain old Google search will turn up emails in addition to web pages. Privacy concerns have been flagged and noted, and the existence of matching emails will be presented using a collapsed control off to the side of the main results. But will this really do the job? Google searches are shoulder-surfed all the time, so simply disclosing even the existence of a matching email can potentially put people in hot water depending on the search terms.</p>
<p>Google’s beta is another instance in a disturbing trend to repurpose user data in ways that weren’t intended or anticipated when the users provided their data. As the AP article reminds us, Google had previously ventured into this territory with Google Buzz before running into legal challenges. Facebook regularly and unashamedly repurposed ancient postings, many of them ephemeral “status” updates, as users’ timelines that could be easily browsed, though it could be debated that this makes it more clear that the old posts do still exist.</p>
<p>In my AppSec work I regularly find “Insufficient Authorization” in sites and products I assess. These findings are generally relative to the app owner’s perspective and answer the question, “Can my user perform activities or access data in ways I don’t want?” When I look at repurposed user data, though, I see an exactly analogous situation but in the opposite direction…from the user perspective, the question becomes, “Can my service provider use my data in ways I don’t want?”</p>
<p>[The answer, of course, is in the terms of service wherein the providers claim rights to use and disseminate data provided to them, even if they don’t claim ownership of the actual data. Apparently, then, there’s no basis to complain about any of this, and Google, Facebook, and others will simply do what they want. That’s slightly pessimistic, but it’s not that far from what we’ve seen so far.]</p>
<p>When a finding of “Insufficient Authorization” appears to be the result of intended functionality, application owners are asked to review their business requirements versus the vulnerability, identify alternative means of meeting the business requirements, or reconsider the functionality altogether. On the other hand, ordinary end users are terrible at doing all of these, if they even care in the first place. Who can state their personal “business requirements” for social media and other free services, who has gone to the trouble of identifying the risks inherent in sharing personal data with third parties (and quantifying the risks? Pfft!), and who’s willing to reconsider the use of a service they’ve invested themselves in substantially, even though no payment was involved?</p>
<p>Repurposing of user data happens because a provider thinks they’ve found a way to make more money, and because one-sided terms of service make few concessions allowing users to control how their own data gets used. At the same time, that repurposing should never increase user risk exposure by default, at least not in my own personal utopia. Maybe we should all be looking for and flagging “Insufficient Authorization” findings from the user’s perspective. And if the Gmail feature goes live in production with no option to disable it, perhaps I can use separate email and search providers to segregate functionality and mitigate risk.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1583&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/08/09/repurposing-data-or-youre-going-to-do-what/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/84e6338af5955133ba2f344c002b6562?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">maddenpat</media:title>
		</media:content>
	</item>
		<item>
		<title>Can&#8217;t Run Nessus off of Backtrack Live&#8230;No Problem!</title>
		<link>http://labs.neohapsis.com/2012/08/08/cant-run-nessus-off-of-backtrack-live-no-problem/</link>
		<comments>http://labs.neohapsis.com/2012/08/08/cant-run-nessus-off-of-backtrack-live-no-problem/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 17:47:35 +0000</pubDate>
		<dc:creator>Scott Behrens</dc:creator>
				<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1576</guid>
		<description><![CDATA[By Scott Behrens (arbit) We have all been there.  You boot up into Backtrack live, pull down and install Nessus and try to run a scan after installing plugins.  Your scan runs way too quickly and your report is nowhere to be found.  Being the Tux penguin that you are, you realize you have run out of &#8216;memory&#8217; aka [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1576&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>By Scott Behrens (arbit)</strong></p>
<p>We have all been there.  You boot up into Backtrack live, pull down and install Nessus and try to run a scan after installing plugins.  Your scan runs way too quickly and your report is nowhere to be found.  Being the Tux penguin that you are, you realize you have run out of &#8216;memory&#8217; aka virtual hard drive space.  Your / partition shows to be 100% full and you frantically start deleting forensic software by the megabyte, but still haven&#8217;t created enough free space.  Maybe you should have picked a host that had more than 2 gigs of memory or just installed it to the desktop.  But you are on a client deadline, and you don&#8217;t have the time to get a new host or overwrite the base OS.</p>
<p>I have a very quick and simple fix.  This is by no means the most effective or slick way to alleviate this problem, but takes 2 commands and is very easy.</p>
<p><span id="more-1576"></span></p>
<p>After pulling down the Nessus binary and installing, do not navigate to the webpage to start the process of updating plugins, instead run the following command:</p>
<blockquote><p>mv /opt/nessus/var/nessus /dev</p>
<p>ln -s /dev/nessus /opt/nessus/var</p></blockquote>
<p>Now log into the web interface, provide your registration information, and update the plugin set.  You should now have enough hard drive space to run the scans.  This creates a softlink to the /dev partition for the huge database files that Nessus uses.  /dev has much more free space than / does, hence the fix.</p>
<p><!--more--></p>
<p>I haven&#8217;t looked into great detail on why the /dev filesystem is allocated the way it is (1.2G free before Nessus install), and there may be a way to change this on boot.  Recently I had a client who wasn&#8217;t very familiar with Linux operating systems boot into backtrack for me and I therefore did not have console access.   I know /dev/ should never be used to store user files, but in a crunch this can save you some time.</p>
<p>If you have an even easier solution, leave a comment!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1576/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1576/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1576&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/08/08/cant-run-nessus-off-of-backtrack-live-no-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b1c680b8ef366fa09843ea31617168c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sbehrens1</media:title>
		</media:content>
	</item>
		<item>
		<title>Defcon Post-Mortem</title>
		<link>http://labs.neohapsis.com/2012/08/03/defcon-post-mortem/</link>
		<comments>http://labs.neohapsis.com/2012/08/03/defcon-post-mortem/#comments</comments>
		<pubDate>Fri, 03 Aug 2012 14:50:33 +0000</pubDate>
		<dc:creator>Ben Toews</dc:creator>
				<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1555</guid>
		<description><![CDATA[by Ben Toews Scott Behrens and I just got back from speaking about our new tool, BBQSQL, at Defcon. This was the first time speaking at Defcon for both of us and it proved to be one of the most intimidating and rewarding speaking engagements either of us have done. To give a brief recap, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1555&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div>
<p>by <a title="Ben Toews (mastahyeti)" href="http://btoe.ws">Ben Toews</a></p>
<div id="readme">
<article>Scott Behrens and I just got back from speaking about our new tool, <a href="http://github.com/neohapsis/bbqsql">BBQSQL</a>, at Defcon. This was the first time speaking at Defcon for both of us and it proved to be one of the most intimidating and rewarding speaking engagements either of us have done.</article>
<p></p>
<article>To give a brief recap, <a href="http://github.com/neohapsis/bbqsql">BBQSQL</a> is a <a href="https://www.owasp.org/index.php/Blind_SQL_Injection">Blind SQL Injection</a> Exploitation tool. It is designed for speed and versatility &#8211; things that many of the currently available tools lack. To achieve versatility, we ask the user to input a lot of details about how she would like to perform the attack. To achieve speed, we use gevent for massive concurrency and attempt to use various algorithms to speed up the guessing of character values.</article>
<p></p>
<article>We also focused on writing clean code with detailed comments and thorough documentation, so you can hopefully learn everything you need to know from the <a href="http://github.com/neohapsis/bbqsql">github page</a>. If you are feeling adventurous, go ahead and fork the project and we will gladly accept any pull requests. Similarly, if you run into problems or think of an awesome feature, submit an issue and we will try to be as responsive as possible.</article>
<p></p>
<article>If you want to check out our slides, you can find them <a href="https://docs.google.com/presentation/d/1b7LRqquHIX9PNN9BNZiv1mZS82Mr9J-ZuUYF9STY9Dg/edit">here</a>.</article>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1555/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1555/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1555&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/08/03/defcon-post-mortem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8caa0afdae1a934c30a1998472c63134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mastahyeti</media:title>
		</media:content>
	</item>
		<item>
		<title>DLP Circumvention: A Demonstration of Futility</title>
		<link>http://labs.neohapsis.com/2012/07/20/dlp-circumvention-a-demonstration-of-futility/</link>
		<comments>http://labs.neohapsis.com/2012/07/20/dlp-circumvention-a-demonstration-of-futility/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 14:42:19 +0000</pubDate>
		<dc:creator>Ben Toews</dc:creator>
				<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1536</guid>
		<description><![CDATA[By Ben Toews TLDR: Check out the tool I can&#8217;t say that I&#8217;m an expert in Data Loss Prevention (DLP), but I imagine its hard. The basic premise is to prevent employees or others from getting data out of a controlled environment, for example, trying to prevent the DBA from stealing everyone&#8217;s credit card numbers [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1536&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By <a title="Ben Toews (mastahyeti)" href="http://btoe.ws">Ben Toews</a></p>
<p><strong>TLDR:</strong> Check out <a href="http://neohapsis.github.com/QRCode-Video-Data-Exfiltration/">the tool</a></p>
<p>I can&#8217;t say that I&#8217;m an expert in Data Loss Prevention (DLP), but I imagine its hard. The basic premise is to prevent employees or others from getting data out of a controlled environment, for example, trying to prevent the DBA from stealing everyone&#8217;s credit card numbers or the researcher from walking out the door with millions in trade secrets. DLP is even tougher in light of new techniques for moving confidential data undetected through a network.  When I demonstrated how I could do it with QR Codes, I had to rethink DLP protections.</p>
<p>Some quick research informs me that the main techniques for implementing DLP are to monitor and restrict access to data both physically and from networking and endpoint perspectives. Physical controls might consist of putting locks on USB ports or putting an extra locked door between your sensitive environment and the rest of the world. Networking controls might consist of firewalls, IDS, content filtering proxies, or maybe just unplugging the sensitive network from the rest of the network and the internet.</p>
<p>Many security folks joke about the futility of this effort. It seems that a determined individual can always find a way around these mechanisms. To demonstrate, my co-worker, Scott Behrens, was working on a Python script to convert files to a series of QR Codes (2d bar codes) that could be played as a video file. This video could then be recorded and decoded by a cell-phone camera and and stored as files on another computer. However, it seemed to me that with the new JavaScript/HTML5 file APIs, all the work of creating the QR Code videos could be done in the browser, avoiding the need to download a Python script/interpreter.</p>
<p>I was talking with a former co-worker, about this idea and he went off and wrote a HTML5/JS encoder and a ffmpeg/bash/ruby decoder that seemed to work pretty well. Not wanting to be outdone, I kept going and wrote my own encoder and decoder.</p>
<p>My encoder is fairly simple. It uses the file API to read in multiple files from the computer, uses Stuart Knightley&#8217;s <a href="http://stuartk.com/jszip/" target="_blank">JSZip</a> library to create a single ZIP file, and then Kazuhiko Arase&#8217;s <a href="http://www.d-project.com/qrcode/index.html" target="_blank">JavaScript QRCode Generator</a> to convert this file into a series of QRCodes. It does this all in the browser without requiring the user to download any programs or transmit any would-be-controlled data over the network.</p>
<p>The decoder was a little bit less straight-forward. I have been wanting to learn about <a href="http://opencv.willowgarage.com/" target="_blank">OpenCV </a>for a non-security related side project, so I decided to use it for this. It turns out that it is not very entirely easy to use and its documentation is somewhat lacking. Still, I persevered and wrote a Python tool to:</p>
<ol>
<li>Pull images from the video and analyze their color.</li>
<li>Identify the spaces between frames of QRCodes (identified by a solid color image).</li>
<li>Pull the QRCode frames between these marker frames.</li>
<li>Feed them into a <a href="http://zbar.sourceforge.net/" target="_blank">ZBar</a> ImageScanner and get the data out.</li>
</ol>
<p>The tool seems to work pretty well. Between my crummy cellphone camera and some mystery frames that ZBar refuses to decode, it isn&#8217;t the most reliable tool for data transfer, but is serves to make a point. Feel free to download both the encoder and decoder from my <a href="http://github.com/Neohapsis/QRCode-Video-Data-Exfiltration/" target="_blank">GitHub Repo</a> or checkout the <a href="http://neohapsis.github.com/QRCode-Video-Data-Exfiltration/" target="_blank">live demo</a> and let me know what you think. I haven&#8217;t done any benchmarking for data bandwidth, but it seems reasonable to use the tool for files several megabytes in size.</p>
<p>To speak briefly about preventing the use of tools like this for getting data of <em>your </em>network: As with most things in security, finding a balance between usability and security is the key. The extreme on the end of usability would be to keep an entirely open network without any controls to prevent or detect data loss. The opposite extreme would be to unplug all your computers and shred their hard drives. Considerations in finding the medium as it relates to DLP include:</p>
<ul>
<li>The value of your data to your organization.</li>
<li>The value of your data to your adversaries.</li>
<li>The means of your organization to implement security mechanisms.</li>
<li>The means of your adversaries to defeat security mechanisms.</li>
</ul>
<p>Once your organization has decided what its security posture should be, it can attempt to mitigate risk accordingly. What risk remains must be accepted. For most organizations, the risk presented by a tool like the one described above is acceptable. That being said, techniques for mitigating its risk might include:</p>
<ul>
<li>Disallowing video capture devices in sensitive areas (already common practice in some organizations).</li>
<li>Writing IDS signatures for the JavaScript used to generate the QRCodes (this is hard because JS is easily obfuscated and packed).</li>
<li>Limiting access within your organization to sensitive information.</li>
<li>Trying to prevent the QRCode-creating portion of the tool from reaching your computers.
<ul>
<li>Physical Protections (USB port locks, removing CD Drives, etc.)</li>
<li>Network Protections (segmentation,content filtering, etc.)</li>
</ul>
</li>
</ul>
<p>Good luck <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em>Apparently the word &#8216;QR Code&#8217; is registered trademark of <a href="http://www.denso-wave.com/qrcode/faqpatent-e.html" target="_blank">DENSO WAVE INCORPORATED</a></em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1536/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1536/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1536&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/07/20/dlp-circumvention-a-demonstration-of-futility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8caa0afdae1a934c30a1998472c63134?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mastahyeti</media:title>
		</media:content>
	</item>
		<item>
		<title>Are You Prepared for Certificate Authority Breaches?</title>
		<link>http://labs.neohapsis.com/2012/07/16/are-you-prepared-for-certificate-authority-breaches/</link>
		<comments>http://labs.neohapsis.com/2012/07/16/are-you-prepared-for-certificate-authority-breaches/#comments</comments>
		<pubDate>Mon, 16 Jul 2012 21:23:00 +0000</pubDate>
		<dc:creator>Nate Couper</dc:creator>
				<category><![CDATA[GRC]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Risk Management]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1518</guid>
		<description><![CDATA[By Nate Couper In the last few years, security breaches of signed SSL certificates, as well as a number of certificate authorities (CA&#8217;s) themselves, have illustrated gaps in the foundations of online security. Diginotar Comodo Verisign others It is no longer safe to assume that CA&#8217;s, large or small, have sufficient stake in their reputation [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1518&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By Nate Couper</p>
<p>In the last few years, security breaches of signed SSL certificates, as well as a number of certificate authorities (CA&#8217;s) themselves, have illustrated gaps in the foundations of online security.</p>
<ul>
<li>Diginotar</li>
<li>Comodo</li>
<li>Verisign</li>
<li>others</li>
</ul>
<p>It is no longer safe to assume that CA&#8217;s, large or small, have sufficient stake in their reputation to invest in security that is 100% effective.  In other words, it’s time to start assuming that CA&#8217;s can and will be breached again.</p>
<p>Fortunately for the white hats out there, NIST has just released a bulletin on responding to CA breaches.  Find it on NIST’s website at <a href="http://csrc.nist.gov/publications/nistbul/july-2012_itl-bulletin.pdf">http://csrc.nist.gov/publications/nistbul/july-2012_itl-bulletin.pdf</a>.</p>
<p>The NIST document has great recommendations for responding to CA breaches, including:</p>
<ul>
<li>Document what certificates and CA&#8217;s your organization uses.</li>
<li>Document logistics and information required to respond to CA compromises.</li>
<li>Review and understand CA’s in active use in your organization.</li>
<li>Understand “trust anchors” in your organization.</li>
<li>Develop policies for application development and procurement, and implement them.</li>
<li>Understand and react appropriately to CA breaches.</li>
</ul>
<p>Let’s dive into these:</p>
<p><strong>1. Document the certificates and CA&#8217;s that your organization uses</strong></p>
<p>Any compliance wonk will tell you that inventory is your first and best control.  Does your organization have an inventory?</p>
<p>Let’s count certificates.  There’s <a href="http://www.example.com" rel="nofollow">http://www.example.com</a>, www2.example.com, admin.example.com, backend.example.com, and there’s mail.example.com.  There may also be VPN.example.com, ftps.example.com, ssh.example.com.  These are the obvious ones.</p>
<p>Practically every embedded device from the cheapest WIFI router to the lights-out management interface on your big iron systems these days comes with an SSL interface.  Count each of those.  Every router, switch, firewall, every blade server enclosure, every SAN array.  Take a closer look at your desktops.  Windows has a certificate database, Firefox carries its own, Java has its own, and multiple instances of Java on a single system can have multiple CA databases.  Now your servers—every major OS ships with SSL capabilities, Windows, Linux (OpenSSL), Unix.  Look at your applications – chances are every piece of J2EE and .NET middleware has a CA database associated with it.  Every application your organization bought or wrote that uses SSL probably has a CA database.  Every database, every load balancer, every IDS / IPS.  Every temperature sensor, scanner, printer, and badging system that supports SSL probably has a list of CA’s somewhere.</p>
<p>All your mobile devices.  All your cloud providers and all the services they backend to.</p>
<p>If your organization is like most, you probably have an excel spreadsheet with a list of AD servers, or maybe you query a domain controller when you need a list of systems.  Forget about software and component inventory.  Don’t even think about printers, switches, or cameras.</p>
<p>If you’re lucky enough to have a configuration management database (CMDB), what is its scope?  When was the last time you checked it for accuracy?  In-scope accuracy rates of 75% are “good”, if some of my clients are any measure.  And CMDB scope rarely exceeded production servers.</p>
<p>Each one of these devices may have several SSL certificates, and may trust hundreds of CA’s for no reason other than it shipped that way.</p>
<p>Using my laptop as an example, I’ve got several hundred “trusted” CA’s loaded by default into Java, Firefox, IE and OpenSSL.  Times five or so to account for the virtual machines I frequent.  Of those thousands of CA’s, my system probably uses a dozen or so per day.</p>
<p><strong>2. Document logistics and information required to respond to CA breaches</strong></p>
<p>How exactly do you manage the list of trusted CA&#8217;s on your iPad anyway?  Your load balancer?  Who is responsible for these devices, and who depends on them? If you found out that Thawte was compromised tomorrow, would you be able to marshal all the people who manage these systems in less than a day?  In a week?</p>
<p>What would it take to replace certificates, to tweak the list of CA&#8217;s across the enterprise?  It will definitely take longer if you’re trying to figure it out as you go.</p>
<p><strong>3. Review and understand CA’s in active use in your organization</strong></p>
<p>Of all the dozens of CA’s on my laptop, I actually use no more than a dozen or so each day.  In fact, it would be noteworthy if more than a handful got used at all.  I could disable hundreds of them and never notice.  After all, I don’t spend a lot of time on Romanian or Singaporean sites, and CA’s from those regions probably don’t see a lot of foreign use.</p>
<p>Most organizations are savvy enough to source their certificates from at most a handful of trusted CA’s.  A server might only need one trusted CA.  Ask your network and application administrators – which CA’s do we trust and which do we need to trust?  It might make sense to preemptively strike some or all the CA’s you’re not actually using, if only in the name of reducing attack surface.</p>
<p><strong>4. Understand “trust anchors” within your organization.</strong></p>
<p>Trust Anchors are the major agents in a PKI – the CA’s.  Trust anchors provide rules and services to govern the roles of others such as the intermediates, the registrars, and the users of certificates.  Go back through your inventory (you made one of those, right?) and document the configuration.  What do the trust anchors allow and disallow with your certificates?  Will revoked certificates get handled correctly?  How do you configure it?</p>
<p>Does your organization deploy internal CA’s?  Which parts of the organization control the internal CA’s, and what other parts of the business depend on them?  What internal SLA’s / SLO’s are afforded?  What metrics measure them?</p>
<p><strong>5. Develop policies for application development and procurement.</strong></p>
<p>How many RSA SecurID customers really understood that RSA was holding on to secret information that could contribute to attacks against RSA’s customers?  Did your organization ask RIM if trusted CA’s on your Blackberries could be replaced?  Do you use external CA’s for purely internal applications, knowing full well the potential implications of an external breach?</p>
<p>Does your purchase and service contract language oblige your vendor even to tell you if they do have a breach, or will you have to wait till it turns up on CNN?  Do they make claims about their security, and are their claims verifiable?  Do they coast on vague marketing language, or ride on the coattails of once-hip internet celebrities and gobbled-up startups?</p>
<p><strong>6. Understand CA breaches and react appropriately.</strong></p>
<p>Does your incident response program understand CA breaches?  Can you mobilize your organization to do what it needs to when the time comes, and within operational parameters?</p>
<p>CA breaches have happened before and will happen again.  NIST has again delivered a world-class roadmap for achieving enterprise security objectives.  Is your organization equipped?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1518/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1518/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1518&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/07/16/are-you-prepared-for-certificate-authority-breaches/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/5cfc3cad05ab449a704e38a90b46295d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ncoupern</media:title>
		</media:content>
	</item>
		<item>
		<title>DEF CON 20 &#8211; Neohapsis New Tool BBQSQL to Make its Debut!</title>
		<link>http://labs.neohapsis.com/2012/07/09/def-con-20-neohapsis-new-tool-bbqsql-to-make-its-debut/</link>
		<comments>http://labs.neohapsis.com/2012/07/09/def-con-20-neohapsis-new-tool-bbqsql-to-make-its-debut/#comments</comments>
		<pubDate>Mon, 09 Jul 2012 20:17:56 +0000</pubDate>
		<dc:creator>Scott Behrens</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Security Tools]]></category>
		<category><![CDATA[bbqsql]]></category>
		<category><![CDATA[defcon]]></category>
		<category><![CDATA[defcon 20]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1497</guid>
		<description><![CDATA[By Scott Behrens and Ben Toews Ben and I have been grinding away on slides and code in preparation of our talk at DefCon 20.  Without letting all of the cats out of the bag, I wanted to take a second to provide a little more context into our talk and research before we present our new tools at [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1497&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By Scott Behrens and Ben Toews</p>
<p>Ben and I have been grinding away on slides and code in preparation of our talk at DefCon 20.  Without letting all of the cats out of the bag, I wanted to take a second to provide a little more context into our talk and research before we present our new tools at the conference.</p>
<p>BBQSQL is a SQL injection framework specifically designed to be hyper fast, database agnostic, easy to setup, and easy to modify.  The tool is extremely effective at exploiting a particular type of SQL injection flaw known as blind/semi-blind SQL injection.  When doing application security assessments we often uncover SQL vulnerabilities that are difficult to exploit. While current tools have an enormous amount of capability, when you can&#8217;t seem to get them to work you are out of luck.  We frequently end up writing custom scripts to help aid in the tricky data extraction, but a lot of time is invested in developing, testing and debugging these scripts.</p>
<p>BBQSQL helps automate the process of exploiting tricky blind SQL injection.  We developed a very easy UI to help you setup all the requirements for your particular vulnerability and provide real time configuration checking to make sure your data looks right.  On top of being easy to use, it was designed using the event driven concurrency provided by Python&#8217;s gevent.  This allows BBQSQL to run much faster than existing single/multithreaded applications.</p>
<p>We will be going into greater detail on the benefits of this kind of concurrency during the talk. We also will talk a bit about character frequency analysis and some ways BBQSQL uses it to extract data faster.  Will be doing a demo too to show you how to use the UI as well as import and export attack configs.  Here are a few screenshots to get you excited!</p>
<div id="attachment_1498" class="wp-caption aligncenter" style="width: 460px"><a href="http://neolab.files.wordpress.com/2012/07/bbqsql.jpg"><img class="size-full wp-image-1498" title="BBQSQL User Interface" src="http://neolab.files.wordpress.com/2012/07/bbqsql.jpg?w=450&#038;h=478" alt="" width="450" height="478" /></a><p class="wp-caption-text">BBQSQL User Interface</p></div>
<div id="attachment_1499" class="wp-caption aligncenter" style="width: 460px"><a href="http://neolab.files.wordpress.com/2012/07/bbqsql2.jpg"><img class="size-full wp-image-1499" title="BBQSQL Performing Blind SQL Injection" src="http://neolab.files.wordpress.com/2012/07/bbqsql2.jpg?w=450&#038;h=241" alt="" width="450" height="241" /></a><p class="wp-caption-text">BBQSQL Performing Blind SQL Injection</p></div>
<p>If you come see the talk, we would love to hear your thoughts!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1497&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/07/09/def-con-20-neohapsis-new-tool-bbqsql-to-make-its-debut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b1c680b8ef366fa09843ea31617168c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sbehrens1</media:title>
		</media:content>

		<media:content url="http://neolab.files.wordpress.com/2012/07/bbqsql.jpg" medium="image">
			<media:title type="html">BBQSQL User Interface</media:title>
		</media:content>

		<media:content url="http://neolab.files.wordpress.com/2012/07/bbqsql2.jpg" medium="image">
			<media:title type="html">BBQSQL Performing Blind SQL Injection</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;The Noob Within&#8221; Good Sites with Bad Plugins</title>
		<link>http://labs.neohapsis.com/2012/05/21/the-noob-within-good-sites-with-bad-plugins/</link>
		<comments>http://labs.neohapsis.com/2012/05/21/the-noob-within-good-sites-with-bad-plugins/#comments</comments>
		<pubDate>Mon, 21 May 2012 20:29:05 +0000</pubDate>
		<dc:creator>Scott Behrens</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Security Testing]]></category>
		<category><![CDATA[n00b]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://labs.neohapsis.com/?p=1480</guid>
		<description><![CDATA[By Scott Behrens I was recently on an application blackbox assessment on a pretty solid application.  One thing that might get glazed over when developing a web application is the security of third party plugins or frameworks.  During the process of the assessments I identified a plugin that seemed to be installed but not really enabled. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1480&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>By Scott Behrens</p>
<p>I was recently on an application blackbox assessment on a pretty solid application.  One thing that might get glazed over when developing a web application is the security of third party plugins or frameworks.  During the process of the assessments I identified a plugin that seemed to be installed but not really enabled.   It seemed to be SQL injectable but had nothing in the database.  No problem!  I found a method that allowed me to enter data in the database and then used another function to do Boolean based SQL injection against it.  This issue was easy to identify because the plugin developer stated the code was vulnerable in a comment.  I just did a Google search for the plugin name, and read though the source code.  Although slightly redacted (to protect the plugin developer while we disclose the finding), the comment basically stated that &#8220; request variables have not been escaped and may be vulnerable to SQL injection&#8221;.</p>
<p>What&#8217;s the takeaway (outside of a few asprin)?  Don&#8217;t tell an attacker how to attack your application, security review third party plugins which may not have ever been assessed (especially small Github projects like the one above), and use prepared statements!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/neolab.wordpress.com/1480/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/neolab.wordpress.com/1480/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=labs.neohapsis.com&#038;blog=2649112&#038;post=1480&#038;subd=neolab&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://labs.neohapsis.com/2012/05/21/the-noob-within-good-sites-with-bad-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b1c680b8ef366fa09843ea31617168c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sbehrens1</media:title>
		</media:content>
	</item>
	</channel>
</rss>
