<?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>webstersprodigy.net &#187; Security Tools</title>
	<atom:link href="http://webstersprodigy.net/category/computers/security-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://webstersprodigy.net</link>
	<description>Me trying to learn how to use a computer</description>
	<lastBuildDate>Sat, 04 Feb 2012 01:17:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Where was the Hacker in the Room for X-FRAME-OPTIONs?</title>
		<link>http://webstersprodigy.net/2010/11/where-was-the-hacker-in-the-room-for-x-frame-options/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-was-the-hacker-in-the-room-for-x-frame-options</link>
		<comments>http://webstersprodigy.net/2010/11/where-was-the-hacker-in-the-room-for-x-frame-options/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 08:12:34 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=740</guid>
		<description><![CDATA[Or maybe where was the Dev in the room? Imagine you&#8217;re sitting at a computer logged into your favorite website, lolcats, and you click on a shady link while logged in. There are a lot of attack scenarios that start this way. Browsers have a cross domain policy that prevent the shady site from accessing any of [...]]]></description>
			<content:encoded><![CDATA[<p>Or maybe where was the Dev in the room?</p>
<p>Imagine you&#8217;re sitting at a computer logged into your favorite website, lolcats, and you click on a <a href="http://webstersprodigy.net">shady link</a> while logged in. There are a lot of attack scenarios that start this way.</p>
<p>Browsers have a cross domain policy that prevent the shady site from accessing any of your lolcats cookies, which typically contain your authentication tokens. But BY DESIGN, the shady site is certainly allowed to do requests (eg POST or GET) across domains. So there&#8217;s nothing to prevent the shady site from framing lolcats in an invisible iframe and having you play an animated whack-a-mole game, clicking exactly where the invisible lolcats site is having you inadvertently  rank the attacker&#8217;s disgusting kitten as cute. This is performed with your very own account, because the cookies are all legitimate from being logged in. This makes all your lolcats buddies laugh at your bad taste.</p>
<p>This is contrived, sure. But tools are getting a lot better to automate this sort of thing. You don&#8217;t need a whack-a-mole game to do clickjacking anymore, there are whole Javascript frameworks to automate everything. In fact, the attack is as easy as just getting them to visit the shady site, no clicks required. One such tool is:</p>
<p><a href="http://www.contextis.co.uk/resources/tools/clickjacking-tool/">http://www.contextis.co.uk/resources/tools/clickjacking-tool/</a></p>
<p>Currently clickjacking defense is treated somewhat less importantly than XSRFf, but the fact is, the surface area for a clickjacking attack is basically identical to XSRF. Both are confused deputy problems.</p>
<p>One of the first ways to defend against this attack was frame busting scripts, which are snippets of Javascript and HTML to try to make it so websites can&#8217;t be invisibly framed. These are notoriously difficult, and can vary from application to application. To deal with this problem, Spencer Low went into a cave of solitude for some time and came up with a pretty good framebusting solution. Unfortunately, it turns out whatever frame busting solution you have is circumventable using IE&#8217;s XSS filter in IE8 or IE9. Details are</p>
<p><a href="http://www.darkreading.com/security/vulnerabilities/showArticle.jhtml?articleID=225200337">http://www.darkreading.com/security/vulnerabilities/showArticle.jhtml?articleID=225200337</a></p>
<p>So there is only one defense that really works to defend against clickjacking, and this is X-FRAME-OPTIONs.  X-FRAME-OPTIONs is a newish header designed by Microsoft that&#8217;s now included in all modern browsers (chrome, Firefox, Safari, in addition to IE8 and IE9). What X-FRAME-OPTIONs does is set a header that says this response cannot be framed except under certain circumstances. There does need to be work on server applications to add this header, but I believe this is fundamentally the right approach to stop clickjacking. You don&#8217;t want lolcats framed by the shady site? Just configure lolcats to put the X-FRAME-OPTIONs header in the response and it cannot be framed.</p>
<p>Here&#8217;s the problem, X-FRAME-OPTIONs has three options: ALLOW, SAMEORIGIN, and DENY. That&#8217;s it. And they do exactly what you&#8217;d think they do.</p>
<p>What if, by design, I want my application to be framed by something in a different domain? There are a lot of legitimate circumstances this happens, and they pop up all the time in Online Services.</p>
<p>As a security industry, what we do right now in these situations is say there&#8217;s no good and easy defense. Web applications are sometimes vulnerable to clickjacking because the fact is there&#8217;s nothing good we can really do on these edge case scenarios. We can (and do) develop frame busting scripts that takes a lot of work, probably have holes, and are certainly bypassible in IE8 and IE9 due to the XSS protection unless we just explicitly switch off the XSS protection. It&#8217;s an active problem to determine if switching off XSS protection in order to <strong>hopefully </strong>develop a script that <strong>might </strong>with enough effort prevent clickjacking is worth it.</p>
<p>I wonder why when designing X-FRAME-OPTIONs it wasn&#8217;t just designed as a whitelist solution. Instead of only having the ALLOW, SAMEORIGIN, and DENY options, it could have a list of domains that are allowed to frame the content. It would make so much more sense to explicitly allow domains that are allowed to frame our application instead of being arbitrarily restricted to sameorigin. It would give us flexibility while at the same time allowing us to be safe.</p>
<p>I applaud the IE team for coming up with X-FRAME-OPTIONs in the first place, and for other browsers to adopt it. It can protect 95% of sites from clickjacking. I just wish that we didn&#8217;t have to have vulnerable sections of applications just because of the limitation of options.</p>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2010/11/where-was-the-hacker-in-the-room-for-x-frame-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toorcon 2010 Talk</title>
		<link>http://webstersprodigy.net/2010/10/toorcon-2010-talk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=toorcon-2010-talk</link>
		<comments>http://webstersprodigy.net/2010/10/toorcon-2010-talk/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 05:50:51 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=736</guid>
		<description><![CDATA[My over caffeinated self somehow managed to stumble through the talk at toorcon. I&#8217;m self critical over the whole thing, but still overall a great experience, and I&#8217;m glad I did it. I was totally nervous. This was my first &#8216;con&#8217; and the room was packed (people standing at the wall), I spotted relatively famous [...]]]></description>
			<content:encoded><![CDATA[<p>My over caffeinated self somehow managed to stumble through the talk at toorcon. I&#8217;m self critical over the whole thing, but still overall a great experience, and I&#8217;m glad I did it. </p>
<p>I was totally nervous. This was my first &#8216;con&#8217; and the room was packed (people standing at the wall), I spotted relatively famous hackers in the audience, etc. I needed more beer!</p>
<p>Hopefully the next one I&#8217;ll relax, slow down, not use filler words, etc :)</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/EqmG8fnGoes?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EqmG8fnGoes?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/c2cQ1ATxLhY?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/c2cQ1ATxLhY?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2010/10/toorcon-2010-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>proxychains &#8211; handy tool!</title>
		<link>http://webstersprodigy.net/2009/12/proxychains-handy-tool/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=proxychains-handy-tool</link>
		<comments>http://webstersprodigy.net/2009/12/proxychains-handy-tool/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 06:11:51 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=643</guid>
		<description><![CDATA[proxychains is a pretty amazing tool available at http://proxychains.sourceforge.net/. It is a versitile proxy tool. So folks like me, who would like the source IPs to be from a proxy, or multiple proxys. For me, the main uses are proxying gui port scan stuff like nessus and proxying tor.ychains.sourceforge.net/. It is a versitile proxy tool. So folks like me, who would like the source IPs to be from a proxy, or multiple proxys. For me, the main uses are proxying gui port scan stuff like nessus and proxying tor.]]></description>
			<content:encoded><![CDATA[<p>proxychains is a pretty amazing tool available at http://proxychains.sourceforge.net/. It is a versitile proxy tool. So folks like me, who would like the source IPs to be from a proxy, or multiple proxys. For me, the main uses are proxying gui port scan stuff like nessus and proxying tor.</p>
<p>Proxying port scans can be handy if you want the address to come from something else. For example, you might have an ssh server somewhere that you&#8217;d like to scan from. Or you might want to port scan through tor. To porscan through an ssh server</p>
<blockquote><p>ssh -D 2323 mysshserver</p>
<p>#edit /etc/proxychains.conf  so socks4 is set to 2323</p>
<p>#socks4  127.0.0.1 2323</p>
<p>proxychains nmap -T4&#8230;</p></blockquote>
<p>then all nmap traffic will appear to come from your ssh server. Very cool! In addition, you can set up a tor proxy, haver proxychains point to it from proxychains.conf, and launch your program similarly using proxychains. This has the advantage of having everything go through tor. So if you wanted you could port scan through tor.</p>
<p>A usually more legitimate use would be to launch firefox using proxychains through tor. This is superior to simply setting the proxy through ff itself because when ff sets a local proxy there is still dns leakage, potential flash leakage etc. If it is launched through the proxy, all children of the process go through tor.</p>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2009/12/proxychains-handy-tool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>gcc security tips</title>
		<link>http://webstersprodigy.net/2008/11/gcc-security-tips/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gcc-security-tips</link>
		<comments>http://webstersprodigy.net/2008/11/gcc-security-tips/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 19:43:11 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Bits and Bytes]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=418</guid>
		<description><![CDATA[Here are some flags that may help vulnerable code from being executed. -D_FORTIFY_SOURCE=2 This should get rid of some buffer overflows that can be analyzed statically and some obvious ones (strcpying input, format string vulnerabilities). More information can be found here: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html -fstack-protector-all From the man page: Emit extra code to check for buffer overflows, [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some flags that may help vulnerable code from being executed.</p>
<blockquote>
<pre>-D_FORTIFY_SOURCE=2</pre>
</blockquote>
<p>This should get rid of some buffer overflows that can be analyzed statically and some obvious ones (strcpying input, format string vulnerabilities).</p>
<p>More information can be found here: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html</p>
<blockquote>
<pre>-fstack-protector-all</pre>
</blockquote>
<p>From the man page:</p>
<p>Emit extra code to check for buffer overflows, such as stack smashing attacks.  This is done by adding a guard variable to functions with vulnerable objects.  This includes functions that call alloca, and functions with buffers larger than 8 bytes. The guards are initialized when a function is entered and then checked when the function exits.  If a guard check fails, an error message is printed and the program exits.</p>
<p>(this is enabled by default in recent versions of Ubuntu)</p>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2008/11/gcc-security-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gnu readline &#8211; python</title>
		<link>http://webstersprodigy.net/2008/09/gnu-readline-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gnu-readline-python</link>
		<comments>http://webstersprodigy.net/2008/09/gnu-readline-python/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 19:06:58 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security Tools]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=391</guid>
		<description><![CDATA[This is the very start of our cryptanal program frontend. (for more up to date see the Software page).]]></description>
			<content:encoded><![CDATA[<p>This is the very start of our cryptanal program frontend</p>
<blockquote>
<pre>#!/usr/bin/env python

import readline

"""The shell class is the front end for cryptanal"""

class shell:
  def __init__(self, filename=None):
    print"""
WWW         WW eEeEeEeE LL        CCCCC    OOOO    MMMM    MMMM  eEeEeEeE
 WW         W  EE       LL       Cc      OOO  OOO  MM MM  M  MM  EE
  WW       WW  EeEeE    LL      CC       OO    OO  MM  MMM   MM  EeEeE
  WWw WW  WW   EE       LL       Cc      OOO  OOO  MM        MM  EE
   WWW  WWW    eEeEeEeE LlLlLlL   CCCCC    OOOO    MM        MM  eEeEeEeE

                             TO CRYPTO-SHELL
  (Useful for deciphering what little Susie is writing to little Billy)
"""

    self.filename = filename
    self.crypto = None
    #if self.filename != None:
      #self.crypto = freqcount.subCryptAnal(self.filename)

    #setup the tab completion information here
    self.commands = ["help", "printfreq"]
    readline.set_completer(self.completer)
    readline.parse_and_bind("tab: complete")

  #completer funtion for tab complete
  def completer(self, word, index):
    matches =
    try:
      return matches[index] + " "
    except IndexError:
      pass

  #this is the main event loop
  def mainloop(self):
    while 1:
      command=raw_input('&gt; ').lstrip()
      if command.lower().startswith('help'):
        self.help(command[4:].lstrip())
      else:
        print "Error: command not recognized"

  def help(self, args):
    print "HELP"

if __name__ == '__main__':
  thisshell = shell()
  thisshell.mainloop()</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2008/09/gnu-readline-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Privilidge Separation in sshd</title>
		<link>http://webstersprodigy.net/2008/03/privilidge-separation-in-sshd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=privilidge-separation-in-sshd</link>
		<comments>http://webstersprodigy.net/2008/03/privilidge-separation-in-sshd/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 01:59:45 +0000</pubDate>
		<dc:creator>webstersprodigy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security Tools]]></category>

		<guid isPermaLink="false">http://webstersprodigy.net/?p=294</guid>
		<description><![CDATA[This was accepted into openssh sometime in 2002.  It helps make openssh exploits more difficult in terms of gaining root.]]></description>
			<content:encoded><![CDATA[<p>This was accepted into openssh sometime in 2002.  It helps make openssh exploits more difficult in terms of gaining root.</p>
<p>Do a ps -ef on your system where an underprivilidged user is logged in via ssh.  eg</p>
<pre># ps -ef |grep sshd |grep myuser
root       28694  7865  0 Mar25 ?        00:00:00 sshd: myuser [priv]
myuser     28703 28694  0 Mar25 ?        00:00:00 sshd: myuser@pts/2</pre>
<p>While that [priv] may seem disconcerting, it (by itself) shouldn&#8217;t be.  There is privilege seperation in sshd  so that if an exploit is found in the child does not result in a system compromise.</p>
<p>http://www.citi.umich.edu/u/provos/ssh/privsep.html</p>
]]></content:encoded>
			<wfw:commentRss>http://webstersprodigy.net/2008/03/privilidge-separation-in-sshd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

